diff --git a/build.gradle b/build.gradle index 6f134e47f6..585cbf6b02 100644 --- a/build.gradle +++ b/build.gradle @@ -87,10 +87,10 @@ allprojects { if (this.name != 'rs-client') apply plugin: 'checkstyle' group = 'us.runelitepl' - version = '1.5.34-SNAPSHOT' + version = '1.5.35-SNAPSHOT' ext { - rsversion = 183 + rsversion = 184 cacheversion = 165 plusVersion = '2.1.6.0' diff --git a/cache/src/main/java/net/runelite/cache/script/Instructions.java b/cache/src/main/java/net/runelite/cache/script/Instructions.java index 6c611d7df1..f7882e629a 100644 --- a/cache/src/main/java/net/runelite/cache/script/Instructions.java +++ b/cache/src/main/java/net/runelite/cache/script/Instructions.java @@ -458,6 +458,7 @@ public class Instructions add(DOCHEAT, "docheat"); add(CHAT_SETMESSAGEFILTER, "chat_setmessagefilter"); add(CHAT_GETMESSAGEFILTER, "chat_getmessagefilter"); + add(DEBUGMES, "debugmes"); add(GETWINDOWMODE, "getwindowmode"); add(SETWINDOWMODE, "setwindowmode"); add(GETDEFAULTWINDOWMODE, "getdefaultwindowmode"); diff --git a/cache/src/main/java/net/runelite/cache/script/Opcodes.java b/cache/src/main/java/net/runelite/cache/script/Opcodes.java index 1485b9982e..95dd243aab 100644 --- a/cache/src/main/java/net/runelite/cache/script/Opcodes.java +++ b/cache/src/main/java/net/runelite/cache/script/Opcodes.java @@ -449,6 +449,7 @@ public class Opcodes public static final int DOCHEAT = 5020; public static final int CHAT_SETMESSAGEFILTER = 5021; public static final int CHAT_GETMESSAGEFILTER = 5022; + public static final int DEBUGMES = 5023; public static final int GETWINDOWMODE = 5306; public static final int SETWINDOWMODE = 5307; public static final int GETDEFAULTWINDOWMODE = 5308; diff --git a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java index 498c31c88e..b5e2ad2473 100644 --- a/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java +++ b/deobfuscator/src/main/java/net/runelite/deob/deobfuscators/transformers/scriptopcodes/ScriptOpcode.java @@ -434,6 +434,7 @@ public enum ScriptOpcode DOCHEAT(5020), CHAT_SETMESSAGEFILTER(5021), CHAT_GETMESSAGEFILTER(5022), + DEBUGMES(5023), GETWINDOWMODE(5306), SETWINDOWMODE(5307), GETDEFAULTWINDOWMODE(5308), diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 9bf5f07eca..70669fc9f6 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1726,7 +1726,7 @@ public abstract class RSClientMixin implements RSClient } @Inject - BigInteger modulus = new BigInteger("f8a2c48a898ebf7a2a5069193f0c6798757879d298af09a6fa94e569d45b09f67aeef8e6bb8a61650d597c743104fdef7d07b24af92df6be995877e9a7dd6a630d3e62c14e70427b959ff70735f96135d73434e73aabbd6aa8cf0b97dae7e2b6b70e646ff550b0ad8a4d8d18675714e5228b026d85e8f2f24607ba69d7404571", 16); + BigInteger modulus = new BigInteger("a8cda33f9c45f0b9d1675c38ec69da6be4143320190060c229bb35ed91677a4447e09e77031e824aed13bfab51ba180bbda7e279a128f3eb016e9b0dd752a948431798626fc36ac10e036d945f2752d0d874c65a86d3e001a17bf9d63d8bc263b07be4ebc613d01781023a07de698e75248b582e682f1751395f61b9ec1bcbb3", 16); @Inject @Override diff --git a/runescape-client/src/main/java/AbstractArchive.java b/runescape-client/src/main/java/AbstractArchive.java index 19792f7f5a..9a3d28907a 100644 --- a/runescape-client/src/main/java/AbstractArchive.java +++ b/runescape-client/src/main/java/AbstractArchive.java @@ -1,706 +1,713 @@ -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("hz") -@Implements("AbstractArchive") -public abstract class AbstractArchive { - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Llu;" - ) - @Export("gzipDecompressor") - static GZipDecompressor gzipDecompressor; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1302035663 - ) - static int field3120; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -163352815 - ) - @Export("groupCount") - int groupCount; - @ObfuscatedName("t") - @Export("groupIds") - int[] groupIds; - @ObfuscatedName("g") - @Export("groupNameHashes") - int[] groupNameHashes; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Llv;" - ) - @Export("groupNameHashTable") - IntHashTable groupNameHashTable; - @ObfuscatedName("u") - @Export("groupCrcs") - int[] groupCrcs; - @ObfuscatedName("j") - @Export("groupVersions") - int[] groupVersions; - @ObfuscatedName("v") - @Export("fileCounts") - int[] fileCounts; - @ObfuscatedName("d") - @Export("fileIds") - int[][] fileIds; - @ObfuscatedName("z") - @Export("fileNameHashes") - int[][] fileNameHashes; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "[Llv;" - ) - @Export("fileNameHashTables") - IntHashTable[] fileNameHashTables; - @ObfuscatedName("h") - @Export("groups") - Object[] groups; - @ObfuscatedName("f") - @Export("files") - Object[][] files; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1161826923 - ) - @Export("hash") - public int hash; - @ObfuscatedName("e") - @Export("releaseGroups") - boolean releaseGroups; - @ObfuscatedName("i") - @Export("shallowFiles") - boolean shallowFiles; - - static { - gzipDecompressor = new GZipDecompressor(); - field3120 = 0; - } - - AbstractArchive(boolean var1, boolean var2) { - this.releaseGroups = var1; - this.shallowFiles = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "-1572277747" - ) - @Export("decodeIndex") - void decodeIndex(byte[] var1) { - int var3 = var1.length; - int var5 = -1; - - int var6; - for (var6 = 0; var6 < var3; ++var6) { - var5 = var5 >>> 8 ^ Buffer.crc32Table[(var5 ^ var1[var6]) & 255]; - } - - var5 = ~var5; - this.hash = var5; - Buffer var15 = new Buffer(TaskHandler.decompressBytes(var1)); - var5 = var15.readUnsignedByte(); - if (var5 >= 5 && var5 <= 7) { - if (var5 >= 6) { - var15.readInt(); - } - - var6 = var15.readUnsignedByte(); - if (var5 >= 7) { - this.groupCount = var15.method5481(); - } else { - this.groupCount = var15.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 += var15.method5481(); - if (this.groupIds[var9] > var8) { - var8 = this.groupIds[var9]; - } - } - } else { - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupIds[var9] = var7 += var15.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]] = var15.readInt(); - } - - this.groupNameHashTable = new IntHashTable(this.groupNameHashes); - } - - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupCrcs[this.groupIds[var9]] = var15.readInt(); - } - - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.groupVersions[this.groupIds[var9]] = var15.readInt(); - } - - for (var9 = 0; var9 < this.groupCount; ++var9) { - this.fileCounts[this.groupIds[var9]] = var15.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 += var15.method5481(); - 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 += var15.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]] = var15.readInt(); - } - - this.fileNameHashTables[var10] = new IntHashTable(this.fileNameHashes[var10]); - } - } - - } else { - throw new RuntimeException(""); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-2104600002" - ) - @Export("loadRegionFromGroup") - void loadRegionFromGroup(int var1) { - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)[B", - garbageValue = "-852709847" - ) - @Export("takeFile") - public byte[] takeFile(int var1, int var2) { - return this.takeFileEncrypted(var1, var2, (int[])null); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II[II)[B", - garbageValue = "1856075294" - ) - @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 = MilliClock.serialize(this.files[var1][var2], false); - if (this.shallowFiles) { - this.files[var1][var2] = null; - } - - return var5; - } else { - return null; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "0" - ) - @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("u") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "-49" - ) - public boolean method4142(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("j") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1935370160" - ) - @Export("tryLoadGroup") - public boolean tryLoadGroup(int var1) { - if (this.groups[var1] != null) { - return true; - } else { - this.loadGroup(var1); - return this.groups[var1] != null; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "8" - ) - @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("d") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "780456172" - ) - @Export("groupLoadPercent") - int groupLoadPercent(int var1) { - return this.groups[var1] != null ? 100 : 0; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(II)[B", - garbageValue = "-455222981" - ) - @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("s") - @ObfuscatedSignature( - signature = "(III)[B", - garbageValue = "-518164691" - ) - @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 = MilliClock.serialize(this.files[var1][var2], false); - return var4; - } else { - return null; - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(II)[B", - garbageValue = "-465347237" - ) - @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("e") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2123503233" - ) - @Export("loadGroup") - void loadGroup(int var1) { - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(IB)[I", - garbageValue = "20" - ) - @Export("getGroupFileIds") - public int[] getGroupFileIds(int var1) { - return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1117618578" - ) - @Export("getGroupFileCount") - public int getGroupFileCount(int var1) { - return this.files[var1].length; - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-57" - ) - @Export("getGroupCount") - public int getGroupCount() { - return this.files.length; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-460868159" - ) - @Export("clearGroups") - public void clearGroups() { - for (int var1 = 0; var1 < this.groups.length; ++var1) { - this.groups[var1] = null; - } - - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "1" - ) - @Export("clearFilesGroup") - public void clearFilesGroup(int var1) { - for (int var2 = 0; var2 < this.files[var1].length; ++var2) { - this.files[var1][var2] = null; - } - - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "232551112" - ) - @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("o") - @ObfuscatedSignature( - signature = "(I[II)Z", - garbageValue = "-1481397744" - ) - @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 = MilliClock.serialize(this.groups[var1], false); - } else { - var18 = MilliClock.serialize(this.groups[var1], true); - Buffer var8 = new Buffer(var18); - var8.xteaDecrypt(var2, 5, var8.array.length); - } - - byte[] var20 = TaskHandler.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]] = UserComparator8.method3365(var19[var15], false); - } else { - var5[var4[var15]] = var19[var15]; - } - } - } else if (!this.shallowFiles) { - var5[var4[0]] = UserComparator8.method3365(var20, false); - } else { - var5[var4[0]] = var20; - } - - return true; - } - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", - garbageValue = "-1601715751" - ) - @Export("getGroupId") - public int getGroupId(String var1) { - var1 = var1.toLowerCase(); - return this.groupNameHashTable.get(Archive.hashString(var1)); - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)I", - garbageValue = "-1748128959" - ) - @Export("getFileId") - public int getFileId(int var1, String var2) { - var2 = var2.toLowerCase(); - return this.fileNameHashTables[var1].get(Archive.hashString(var2)); - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;I)Z", - garbageValue = "632147771" - ) - @Export("isValidFileName") - public boolean isValidFileName(String var1, String var2) { - var1 = var1.toLowerCase(); - var2 = var2.toLowerCase(); - int var3 = this.groupNameHashTable.get(Archive.hashString(var1)); - if (var3 < 0) { - return false; - } else { - int var4 = this.fileNameHashTables[var3].get(Archive.hashString(var2)); - return var4 >= 0; - } - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;I)[B", - garbageValue = "-977549436" - ) - @Export("takeFileByNames") - public byte[] takeFileByNames(String var1, String var2) { - var1 = var1.toLowerCase(); - var2 = var2.toLowerCase(); - int var3 = this.groupNameHashTable.get(Archive.hashString(var1)); - int var4 = this.fileNameHashTables[var3].get(Archive.hashString(var2)); - return this.takeFile(var3, var4); - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;I)Z", - garbageValue = "1445366174" - ) - @Export("tryLoadFileByNames") - public boolean tryLoadFileByNames(String var1, String var2) { - var1 = var1.toLowerCase(); - var2 = var2.toLowerCase(); - int var3 = this.groupNameHashTable.get(Archive.hashString(var1)); - int var4 = this.fileNameHashTables[var3].get(Archive.hashString(var2)); - return this.tryLoadFile(var3, var4); - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)Z", - garbageValue = "-63" - ) - @Export("tryLoadGroupByName") - public boolean tryLoadGroupByName(String var1) { - var1 = var1.toLowerCase(); - int var2 = this.groupNameHashTable.get(Archive.hashString(var1)); - return this.tryLoadGroup(var2); - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1117702662" - ) - @Export("loadRegionFromName") - public void loadRegionFromName(String var1) { - var1 = var1.toLowerCase(); - int var2 = this.groupNameHashTable.get(Archive.hashString(var1)); - if (var2 >= 0) { - this.loadRegionFromGroup(var2); - } - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", - garbageValue = "-1439788030" - ) - @Export("groupLoadPercentByName") - public int groupLoadPercentByName(String var1) { - var1 = var1.toLowerCase(); - int var2 = this.groupNameHashTable.get(Archive.hashString(var1)); - return this.groupLoadPercent(var2); - } -} +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("hp") +@Implements("AbstractArchive") +public abstract class AbstractArchive { + @ObfuscatedName("so") + @ObfuscatedSignature( + signature = "Lbl;" + ) + @Export("clientPreferences") + static ClientPreferences clientPreferences; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Llr;" + ) + @Export("gzipDecompressor") + static GZipDecompressor gzipDecompressor; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 949229889 + ) + static int field3122; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -2001153217 + ) + @Export("groupCount") + int groupCount; + @ObfuscatedName("v") + @Export("groupIds") + int[] groupIds; + @ObfuscatedName("u") + @Export("groupNameHashes") + int[] groupNameHashes; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Llk;" + ) + @Export("groupNameHashTable") + IntHashTable groupNameHashTable; + @ObfuscatedName("p") + @Export("groupCrcs") + int[] groupCrcs; + @ObfuscatedName("q") + @Export("groupVersions") + int[] groupVersions; + @ObfuscatedName("m") + @Export("fileCounts") + int[] fileCounts; + @ObfuscatedName("y") + @Export("fileIds") + int[][] fileIds; + @ObfuscatedName("i") + @Export("fileNameHashes") + int[][] fileNameHashes; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "[Llk;" + ) + @Export("fileNameHashTables") + IntHashTable[] fileNameHashTables; + @ObfuscatedName("b") + @Export("groups") + Object[] groups; + @ObfuscatedName("o") + @Export("files") + Object[][] files; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 194523033 + ) + @Export("hash") + public int hash; + @ObfuscatedName("w") + @Export("releaseGroups") + boolean releaseGroups; + @ObfuscatedName("t") + @Export("shallowFiles") + boolean shallowFiles; + + static { + gzipDecompressor = new GZipDecompressor(); + field3122 = 0; + } + + AbstractArchive(boolean var1, boolean var2) { + this.releaseGroups = var1; + this.shallowFiles = var2; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([BS)V", + garbageValue = "4095" + ) + @Export("decodeIndex") + void decodeIndex(byte[] var1) { + this.hash = Username.method5132(var1, var1.length); + Buffer var2 = new Buffer(MusicPatch.decompressBytes(var1)); + int var3 = var2.readUnsignedByte(); + if (var3 >= 5 && var3 <= 7) { + if (var3 >= 6) { + var2.readInt(); + } + + int var4 = var2.readUnsignedByte(); + if (var3 >= 7) { + this.groupCount = var2.method5443(); + } else { + this.groupCount = var2.readUnsignedShort(); + } + + int var5 = 0; + int var6 = -1; + this.groupIds = new int[this.groupCount]; + int var7; + if (var3 >= 7) { + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupIds[var7] = var5 += var2.method5443(); + if (this.groupIds[var7] > var6) { + var6 = this.groupIds[var7]; + } + } + } else { + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupIds[var7] = var5 += var2.readUnsignedShort(); + if (this.groupIds[var7] > var6) { + var6 = this.groupIds[var7]; + } + } + } + + this.groupCrcs = new int[var6 + 1]; + this.groupVersions = new int[var6 + 1]; + this.fileCounts = new int[var6 + 1]; + this.fileIds = new int[var6 + 1][]; + this.groups = new Object[var6 + 1]; + this.files = new Object[var6 + 1][]; + if (var4 != 0) { + this.groupNameHashes = new int[var6 + 1]; + + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupNameHashes[this.groupIds[var7]] = var2.readInt(); + } + + this.groupNameHashTable = new IntHashTable(this.groupNameHashes); + } + + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupCrcs[this.groupIds[var7]] = var2.readInt(); + } + + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.groupVersions[this.groupIds[var7]] = var2.readInt(); + } + + for (var7 = 0; var7 < this.groupCount; ++var7) { + this.fileCounts[this.groupIds[var7]] = var2.readUnsignedShort(); + } + + int var8; + int var9; + int var10; + int var11; + int var12; + if (var3 >= 7) { + for (var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + var5 = 0; + var10 = -1; + this.fileIds[var8] = new int[var9]; + + for (var11 = 0; var11 < var9; ++var11) { + var12 = this.fileIds[var8][var11] = var5 += var2.method5443(); + if (var12 > var10) { + var10 = var12; + } + } + + this.files[var8] = new Object[var10 + 1]; + } + } else { + for (var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + var5 = 0; + var10 = -1; + this.fileIds[var8] = new int[var9]; + + for (var11 = 0; var11 < var9; ++var11) { + var12 = this.fileIds[var8][var11] = var5 += var2.readUnsignedShort(); + if (var12 > var10) { + var10 = var12; + } + } + + this.files[var8] = new Object[var10 + 1]; + } + } + + if (var4 != 0) { + this.fileNameHashes = new int[var6 + 1][]; + this.fileNameHashTables = new IntHashTable[var6 + 1]; + + for (var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + this.fileNameHashes[var8] = new int[this.files[var8].length]; + + for (var10 = 0; var10 < var9; ++var10) { + this.fileNameHashes[var8][this.fileIds[var8][var10]] = var2.readInt(); + } + + this.fileNameHashTables[var8] = new IntHashTable(this.fileNameHashes[var8]); + } + } + + } else { + throw new RuntimeException(""); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "15" + ) + @Export("loadRegionFromGroup") + void loadRegionFromGroup(int var1) { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIS)[B", + garbageValue = "3526" + ) + @Export("takeFile") + public byte[] takeFile(int var1, int var2) { + return this.takeFileEncrypted(var1, var2, (int[])null); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II[II)[B", + garbageValue = "726476664" + ) + @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 = GrandExchangeOfferUnitPriceComparator.serialize(this.files[var1][var2], false); + if (this.shallowFiles) { + this.files[var1][var2] = null; + } + + return var5; + } else { + return null; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "1834518299" + ) + @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("p") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-812316387" + ) + public boolean method4115(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("q") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-1731378181" + ) + @Export("tryLoadGroup") + public boolean tryLoadGroup(int var1) { + if (this.groups[var1] != null) { + return true; + } else { + this.loadGroup(var1); + return this.groups[var1] != null; + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "304263263" + ) + @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("y") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-2030453035" + ) + @Export("groupLoadPercent") + int groupLoadPercent(int var1) { + return this.groups[var1] != null ? 100 : 0; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(II)[B", + garbageValue = "1500956982" + ) + @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("c") + @ObfuscatedSignature( + signature = "(III)[B", + garbageValue = "1923776823" + ) + @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 = GrandExchangeOfferUnitPriceComparator.serialize(this.files[var1][var2], false); + return var4; + } else { + return null; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IB)[B", + garbageValue = "96" + ) + @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("o") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "848617854" + ) + @Export("loadGroup") + void loadGroup(int var1) { + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IB)[I", + garbageValue = "-61" + ) + @Export("getGroupFileIds") + public int[] getGroupFileIds(int var1) { + return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1937840631" + ) + @Export("getGroupFileCount") + public int getGroupFileCount(int var1) { + return this.files[var1].length; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-101" + ) + @Export("getGroupCount") + public int getGroupCount() { + return this.files.length; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1193777199" + ) + @Export("clearGroups") + public void clearGroups() { + for (int var1 = 0; var1 < this.groups.length; ++var1) { + this.groups[var1] = null; + } + + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1926198322" + ) + @Export("clearFilesGroup") + public void clearFilesGroup(int var1) { + for (int var2 = 0; var2 < this.files[var1].length; ++var2) { + this.files[var1][var2] = null; + } + + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1263344370" + ) + @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("j") + @ObfuscatedSignature( + signature = "(I[II)Z", + garbageValue = "1408640769" + ) + @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 = GrandExchangeOfferUnitPriceComparator.serialize(this.groups[var1], false); + } else { + var18 = GrandExchangeOfferUnitPriceComparator.serialize(this.groups[var1], true); + Buffer var8 = new Buffer(var18); + var8.xteaDecrypt(var2, 5, var8.array.length); + } + + byte[] var20 = MusicPatch.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]] = GrandExchangeEvents.method76(var19[var15], false); + } else { + var5[var4[var15]] = var19[var15]; + } + } + } else if (!this.shallowFiles) { + var5[var4[0]] = GrandExchangeEvents.method76(var20, false); + } else { + var5[var4[0]] = var20; + } + + return true; + } + } + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)I", + garbageValue = "-276996300" + ) + @Export("getGroupId") + public int getGroupId(String var1) { + var1 = var1.toLowerCase(); + return this.groupNameHashTable.get(WorldMapData_0.hashString(var1)); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)I", + garbageValue = "-1445606076" + ) + @Export("getFileId") + public int getFileId(int var1, String var2) { + var2 = var2.toLowerCase(); + return this.fileNameHashTables[var1].get(WorldMapData_0.hashString(var2)); + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;S)Z", + garbageValue = "8717" + ) + @Export("isValidFileName") + public boolean isValidFileName(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(WorldMapData_0.hashString(var1)); + if (var3 < 0) { + return false; + } else { + int var4 = this.fileNameHashTables[var3].get(WorldMapData_0.hashString(var2)); + return var4 >= 0; + } + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;B)[B", + garbageValue = "0" + ) + @Export("takeFileByNames") + public byte[] takeFileByNames(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(WorldMapData_0.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(WorldMapData_0.hashString(var2)); + return this.takeFile(var3, var4); + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;B)Z", + garbageValue = "-68" + ) + @Export("tryLoadFileByNames") + public boolean tryLoadFileByNames(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(WorldMapData_0.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(WorldMapData_0.hashString(var2)); + return this.tryLoadFile(var3, var4); + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Z", + garbageValue = "1601927711" + ) + @Export("tryLoadGroupByName") + public boolean tryLoadGroupByName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(WorldMapData_0.hashString(var1)); + return this.tryLoadGroup(var2); + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "-63" + ) + @Export("loadRegionFromName") + public void loadRegionFromName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(WorldMapData_0.hashString(var1)); + if (var2 >= 0) { + this.loadRegionFromGroup(var2); + } + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)I", + garbageValue = "-2026426136" + ) + @Export("groupLoadPercentByName") + public int groupLoadPercentByName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(WorldMapData_0.hashString(var1)); + return this.groupLoadPercent(var2); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(CI)Z", + garbageValue = "-715141816" + ) + @Export("isAlphaNumeric") + public static boolean isAlphaNumeric(char var0) { + return var0 >= '0' && var0 <= '9' || var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; + } +} diff --git a/runescape-client/src/main/java/AbstractByteArrayCopier.java b/runescape-client/src/main/java/AbstractByteArrayCopier.java index 594bc333e4..d10f91d94a 100644 --- a/runescape-client/src/main/java/AbstractByteArrayCopier.java +++ b/runescape-client/src/main/java/AbstractByteArrayCopier.java @@ -1,48 +1,111 @@ -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("gb") -@Implements("AbstractByteArrayCopier") -public abstract class AbstractByteArrayCopier { - @ObfuscatedName("hw") - @ObfuscatedGetter( - intValue = -996347373 - ) - @Export("oculusOrbFocalPointY") - static int oculusOrbFocalPointY; - - AbstractByteArrayCopier() { - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)[B", - garbageValue = "49" - ) - @Export("get") - abstract byte[] get(); - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "-1981176877" - ) - @Export("set") - abstract void set(byte[] var1); - - @ObfuscatedName("fj") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1334289648" - ) - static void method3922() { - if (GrandExchangeOfferUnitPriceComparator.worldMap != null) { - GrandExchangeOfferUnitPriceComparator.worldMap.method6275(MouseRecorder.plane, class4.baseX * 64 + (Varps.localPlayer.x * -78439701 >> 7), (Varps.localPlayer.y >> 7) + ScriptEvent.baseY, false); - GrandExchangeOfferUnitPriceComparator.worldMap.loadCache(); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gx") +@Implements("AbstractByteArrayCopier") +public abstract class AbstractByteArrayCopier { + AbstractByteArrayCopier() { + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)[B", + garbageValue = "-37" + ) + @Export("get") + abstract byte[] get(); + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "-793496359" + ) + @Export("set") + abstract void set(byte[] var1); + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Lbo;", + garbageValue = "1470103686" + ) + @Export("getNextWorldListWorld") + static World getNextWorldListWorld() { + return World.World_listCount < World.World_count ? World.World_worlds[++World.World_listCount - 1] : null; + } + + @ObfuscatedName("gv") + @ObfuscatedSignature( + signature = "(IIIIZI)V", + garbageValue = "949599509" + ) + @Export("setViewportShape") + static final void setViewportShape(int var0, int var1, int var2, int var3, boolean var4) { + if (var2 < 1) { + var2 = 1; + } + + if (var3 < 1) { + var3 = 1; + } + + int var5 = var3 - 334; + int var6; + if (var5 < 0) { + var6 = Client.field880; + } else if (var5 >= 100) { + var6 = Client.field887; + } else { + var6 = (Client.field887 - Client.field880) * var5 / 100 + Client.field880; + } + + int var7 = var3 * var6 * 512 / (var2 * 334); + int var8; + int var9; + short var10; + if (var7 < Client.field892) { + var10 = Client.field892; + var6 = var10 * var2 * 334 / (var3 * 512); + if (var6 > Client.field891) { + var6 = Client.field891; + var8 = var3 * var6 * 512 / (var10 * 334); + var9 = (var2 - var8) / 2; + if (var4) { + Rasterizer2D.Rasterizer2D_resetClip(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216); + Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216); + } + + var0 += var9; + var2 -= var9 * 2; + } + } else if (var7 > Client.field893) { + var10 = Client.field893; + var6 = var10 * var2 * 334 / (var3 * 512); + if (var6 < Client.field686) { + var6 = Client.field686; + var8 = var10 * var2 * 334 / (var6 * 512); + var9 = (var3 - var8) / 2; + if (var4) { + Rasterizer2D.Rasterizer2D_resetClip(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216); + } + + var1 += var9; + var3 -= var9 * 2; + } + } + + Client.viewportZoom = var3 * var6 / 334; + if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) { + GrandExchangeOfferTotalQuantityComparator.method91(var2, var3); + } + + Client.viewportOffsetX = var0; + Client.viewportOffsetY = var1; + Client.viewportWidth = var2; + Client.viewportHeight = var3; + } +} diff --git a/runescape-client/src/main/java/AbstractFont.java b/runescape-client/src/main/java/AbstractFont.java index 54d4bdb1aa..9b6457a221 100644 --- a/runescape-client/src/main/java/AbstractFont.java +++ b/runescape-client/src/main/java/AbstractFont.java @@ -1,1067 +1,1067 @@ -import java.util.Random; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ko") -@Implements("AbstractFont") -public abstract class AbstractFont extends Rasterizer2D { - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("AbstractFont_modIconSprites") - public static IndexedSprite[] AbstractFont_modIconSprites; - @ObfuscatedName("h") - @Export("AbstractFont_strike") - static int AbstractFont_strike; - @ObfuscatedName("f") - @Export("AbstractFont_underline") - static int AbstractFont_underline; - @ObfuscatedName("s") - @Export("AbstractFont_previousShadow") - static int AbstractFont_previousShadow; - @ObfuscatedName("p") - @Export("AbstractFont_shadow") - static int AbstractFont_shadow; - @ObfuscatedName("e") - @Export("AbstractFont_previousColor") - static int AbstractFont_previousColor; - @ObfuscatedName("i") - @Export("AbstractFont_color") - static int AbstractFont_color; - @ObfuscatedName("q") - @Export("AbstractFont_alpha") - static int AbstractFont_alpha; - @ObfuscatedName("y") - @Export("AbstractFont_justificationTotal") - static int AbstractFont_justificationTotal; - @ObfuscatedName("r") - @Export("AbstractFont_justificationCurrent") - static int AbstractFont_justificationCurrent; - @ObfuscatedName("k") - @Export("AbstractFont_random") - static Random AbstractFont_random; - @ObfuscatedName("w") - @Export("AbstractFont_lines") - static String[] AbstractFont_lines; - @ObfuscatedName("c") - @Export("pixels") - byte[][] pixels; - @ObfuscatedName("x") - @Export("advances") - int[] advances; - @ObfuscatedName("t") - @Export("widths") - int[] widths; - @ObfuscatedName("g") - @Export("heights") - int[] heights; - @ObfuscatedName("l") - @Export("leftBearings") - int[] leftBearings; - @ObfuscatedName("u") - @Export("topBearings") - int[] topBearings; - @ObfuscatedName("j") - @Export("ascent") - public int ascent; - @ObfuscatedName("v") - @Export("maxAscent") - public int maxAscent; - @ObfuscatedName("d") - @Export("maxDescent") - public int maxDescent; - @ObfuscatedName("n") - @Export("kerning") - byte[] kerning; - - static { - AbstractFont_strike = -1; - AbstractFont_underline = -1; - AbstractFont_previousShadow = -1; - AbstractFont_shadow = -1; - AbstractFont_previousColor = 0; - AbstractFont_color = 0; - AbstractFont_alpha = 256; - AbstractFont_justificationTotal = 0; - AbstractFont_justificationCurrent = 0; - AbstractFont_random = new Random(); - AbstractFont_lines = new String[100]; - } - - AbstractFont(byte[] var1) { - this.pixels = new byte[256][]; - this.ascent = 0; - this.readMetrics(var1); - } - - AbstractFont(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { - this.pixels = new byte[256][]; - this.ascent = 0; - this.leftBearings = var2; - this.topBearings = var3; - this.widths = var4; - this.heights = var5; - this.readMetrics(var1); - this.pixels = var7; - int var8 = Integer.MAX_VALUE; - int var9 = Integer.MIN_VALUE; - - for (int var10 = 0; var10 < 256; ++var10) { - if (this.topBearings[var10] < var8 && this.heights[var10] != 0) { - var8 = this.topBearings[var10]; - } - - if (this.topBearings[var10] + this.heights[var10] > var9) { - var9 = this.topBearings[var10] + this.heights[var10]; - } - } - - this.maxAscent = this.ascent - var8; - this.maxDescent = var9 - this.ascent; - } - - @ObfuscatedName("c") - @Export("drawGlyph") - abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6); - - @ObfuscatedName("x") - @Export("drawGlyphAlpha") - abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7); - - @ObfuscatedName("u") - @Export("readMetrics") - void readMetrics(byte[] var1) { - this.advances = new int[256]; - int var2; - if (var1.length == 257) { - for (var2 = 0; var2 < this.advances.length; ++var2) { - this.advances[var2] = var1[var2] & 255; - } - - this.ascent = var1[256] & 255; - } else { - var2 = 0; - - for (int var3 = 0; var3 < 256; ++var3) { - this.advances[var3] = var1[var2++] & 255; - } - - int[] var10 = new int[256]; - int[] var4 = new int[256]; - - int var5; - for (var5 = 0; var5 < 256; ++var5) { - var10[var5] = var1[var2++] & 255; - } - - for (var5 = 0; var5 < 256; ++var5) { - var4[var5] = var1[var2++] & 255; - } - - byte[][] var11 = new byte[256][]; - - int var8; - for (int var6 = 0; var6 < 256; ++var6) { - var11[var6] = new byte[var10[var6]]; - byte var7 = 0; - - for (var8 = 0; var8 < var11[var6].length; ++var8) { - var7 += var1[var2++]; - var11[var6][var8] = var7; - } - } - - byte[][] var12 = new byte[256][]; - - int var13; - for (var13 = 0; var13 < 256; ++var13) { - var12[var13] = new byte[var10[var13]]; - byte var14 = 0; - - for (int var9 = 0; var9 < var12[var13].length; ++var9) { - var14 += var1[var2++]; - var12[var13][var9] = var14; - } - } - - this.kerning = new byte[65536]; - - for (var13 = 0; var13 < 256; ++var13) { - if (var13 != 32 && var13 != 160) { - for (var8 = 0; var8 < 256; ++var8) { - if (var8 != 32 && var8 != 160) { - this.kerning[var8 + (var13 << 8)] = (byte)method5336(var11, var12, var4, this.advances, var10, var13, var8); - } - } - } - } - - this.ascent = var4[32] + var10[32]; - } - - } - - @ObfuscatedName("v") - @Export("charWidth") - int charWidth(char var1) { - if (var1 == 160) { - var1 = ' '; - } - - return this.advances[MenuAction.charToByteCp1252(var1) & 255]; - } - - @ObfuscatedName("d") - @Export("stringWidth") - public int stringWidth(String var1) { - if (var1 == null) { - return 0; - } else { - int var2 = -1; - int var3 = -1; - int var4 = 0; - - for (int var5 = 0; var5 < var1.length(); ++var5) { - char var6 = var1.charAt(var5); - if (var6 == '<') { - var2 = var5; - } else { - if (var6 == '>' && var2 != -1) { - String var7 = var1.substring(var2 + 1, var5); - var2 = -1; - if (var7.equals("lt")) { - var6 = '<'; - } else { - if (!var7.equals("gt")) { - if (var7.startsWith("img=")) { - try { - int var8 = IgnoreList.parseInt(var7.substring(4)); - var4 += AbstractFont_modIconSprites[var8].width; - var3 = -1; - } catch (Exception var10) { - } - } - continue; - } - - var6 = '>'; - } - } - - if (var6 == 160) { - var6 = ' '; - } - - if (var2 == -1) { - var4 += this.advances[(char)(MenuAction.charToByteCp1252(var6) & 255)]; - if (this.kerning != null && var3 != -1) { - var4 += this.kerning[var6 + (var3 << 8)]; - } - - var3 = var6; - } - } - } - - return var4; - } - } - - @ObfuscatedName("z") - @Export("breakLines") - public int breakLines(String var1, int[] var2, String[] var3) { - if (var1 == null) { - return 0; - } else { - int var4 = 0; - int var5 = 0; - StringBuilder var6 = new StringBuilder(100); - int var7 = -1; - int var8 = 0; - byte var9 = 0; - int var10 = -1; - char var11 = 0; - int var12 = 0; - int var13 = var1.length(); - - for (int var14 = 0; var14 < var13; ++var14) { - char var15 = var1.charAt(var14); - if (var15 == '<') { - var10 = var14; - } else { - if (var15 == '>' && var10 != -1) { - String var16 = var1.substring(var10 + 1, var14); - var10 = -1; - var6.append('<'); - var6.append(var16); - var6.append('>'); - if (var16.equals("br")) { - var3[var12] = var6.toString().substring(var5, var6.length()); - ++var12; - var5 = var6.length(); - var4 = 0; - var7 = -1; - var11 = 0; - } else if (var16.equals("lt")) { - var4 += this.charWidth('<'); - if (this.kerning != null && var11 != -1) { - var4 += this.kerning[(var11 << '\b') + 60]; - } - - var11 = '<'; - } else if (var16.equals("gt")) { - var4 += this.charWidth('>'); - if (this.kerning != null && var11 != -1) { - var4 += this.kerning[(var11 << '\b') + 62]; - } - - var11 = '>'; - } else if (var16.startsWith("img=")) { - try { - int var17 = IgnoreList.parseInt(var16.substring(4)); - var4 += AbstractFont_modIconSprites[var17].width; - var11 = 0; - } catch (Exception var20) { - } - } - - var15 = 0; - } - - if (var10 == -1) { - if (var15 != 0) { - var6.append(var15); - var4 += this.charWidth(var15); - if (this.kerning != null && var11 != -1) { - var4 += this.kerning[var15 + (var11 << '\b')]; - } - - var11 = var15; - } - - if (var15 == ' ') { - var7 = var6.length(); - var8 = var4; - var9 = 1; - } - - if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) { - var3[var12] = var6.toString().substring(var5, var7 - var9); - ++var12; - var5 = var7; - var7 = -1; - var4 -= var8; - var11 = 0; - } - - if (var15 == '-') { - var7 = var6.length(); - var8 = var4; - var9 = 0; - } - } - } - } - - String var19 = var6.toString(); - if (var19.length() > var5) { - var3[var12++] = var19.substring(var5, var19.length()); - } - - return var12; - } - } - - @ObfuscatedName("s") - @Export("lineWidth") - public int lineWidth(String var1, int var2) { - int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines); - int var4 = 0; - - for (int var5 = 0; var5 < var3; ++var5) { - int var6 = this.stringWidth(AbstractFont_lines[var5]); - if (var6 > var4) { - var4 = var6; - } - } - - return var4; - } - - @ObfuscatedName("p") - @Export("lineCount") - public int lineCount(String var1, int var2) { - return this.breakLines(var1, new int[]{var2}, AbstractFont_lines); - } - - @ObfuscatedName("i") - @Export("draw") - public void draw(String var1, int var2, int var3, int var4, int var5) { - if (var1 != null) { - this.reset(var4, var5); - this.draw0(var1, var2, var3); - } - } - - @ObfuscatedName("q") - @Export("drawAlpha") - public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { - this.reset(var4, var5); - AbstractFont_alpha = var6; - this.draw0(var1, var2, var3); - } - } - - @ObfuscatedName("r") - @Export("drawRightAligned") - public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) { - if (var1 != null) { - this.reset(var4, var5); - this.draw0(var1, var2 - this.stringWidth(var1), var3); - } - } - - @ObfuscatedName("k") - @Export("drawCentered") - public void drawCentered(String var1, int var2, int var3, int var4, int var5) { - if (var1 != null) { - this.reset(var4, var5); - this.draw0(var1, var2 - this.stringWidth(var1) / 2, var3); - } - } - - @ObfuscatedName("w") - @Export("drawLines") - public int drawLines(String var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { - if (var1 == null) { - return 0; - } else { - this.reset(var6, var7); - if (var10 == 0) { - var10 = this.ascent; - } - - int[] var11 = new int[]{var4}; - if (var5 < var10 + this.maxAscent + this.maxDescent && var5 < var10 + var10) { - var11 = null; - } - - int var12 = this.breakLines(var1, var11, AbstractFont_lines); - if (var9 == 3 && var12 == 1) { - var9 = 1; - } - - int var13; - int var14; - if (var9 == 0) { - var13 = var3 + this.maxAscent; - } else if (var9 == 1) { - var13 = var3 + (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / 2 + this.maxAscent; - } else if (var9 == 2) { - var13 = var3 + var5 - this.maxDescent - var10 * (var12 - 1); - } else { - var14 = (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / (var12 + 1); - if (var14 < 0) { - var14 = 0; - } - - var13 = var3 + var14 + this.maxAscent; - var10 += var14; - } - - for (var14 = 0; var14 < var12; ++var14) { - if (var8 == 0) { - this.draw0(AbstractFont_lines[var14], var2, var13); - } else if (var8 == 1) { - this.draw0(AbstractFont_lines[var14], var2 + (var4 - this.stringWidth(AbstractFont_lines[var14])) / 2, var13); - } else if (var8 == 2) { - this.draw0(AbstractFont_lines[var14], var2 + var4 - this.stringWidth(AbstractFont_lines[var14]), var13); - } else if (var14 == var12 - 1) { - this.draw0(AbstractFont_lines[var14], var2, var13); - } else { - this.calculateLineJustification(AbstractFont_lines[var14], var4); - this.draw0(AbstractFont_lines[var14], var2, var13); - AbstractFont_justificationTotal = 0; - } - - var13 += var10; - } - - return var12; - } - } - - @ObfuscatedName("m") - @Export("drawCenteredWave") - public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { - this.reset(var4, var5); - int[] var7 = new int[var1.length()]; - - for (int var8 = 0; var8 < var1.length(); ++var8) { - var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)var6 / 5.0D) * 5.0D); - } - - this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var7); - } - } - - @ObfuscatedName("o") - @Export("drawCenteredWave2") - public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { - this.reset(var4, var5); - int[] var7 = new int[var1.length()]; - int[] var8 = new int[var1.length()]; - - for (int var9 = 0; var9 < var1.length(); ++var9) { - var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)var6 / 5.0D) * 5.0D); - var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)var6 / 5.0D) * 5.0D); - } - - this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, var7, var8); - } - } - - @ObfuscatedName("a") - @Export("drawCenteredShake") - public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (var1 != null) { - this.reset(var4, var5); - double var8 = 7.0D - (double)var7 / 8.0D; - if (var8 < 0.0D) { - var8 = 0.0D; - } - - int[] var10 = new int[var1.length()]; - - for (int var11 = 0; var11 < var1.length(); ++var11) { - var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)var6 / 1.0D) * var8); - } - - this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var10); - } - } - - @ObfuscatedName("b") - @Export("drawRandomAlphaAndSpacing") - public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { - this.reset(var4, var5); - AbstractFont_random.setSeed((long)var6); - AbstractFont_alpha = 192 + (AbstractFont_random.nextInt() & 31); - int[] var7 = new int[var1.length()]; - int var8 = 0; - - for (int var9 = 0; var9 < var1.length(); ++var9) { - var7[var9] = var8; - if ((AbstractFont_random.nextInt() & 3) == 0) { - ++var8; - } - } - - this.drawWithOffsets0(var1, var2, var3, var7, (int[])null); - } - } - - @ObfuscatedName("ag") - @Export("reset") - void reset(int var1, int var2) { - AbstractFont_strike = -1; - AbstractFont_underline = -1; - AbstractFont_previousShadow = var2; - AbstractFont_shadow = var2; - AbstractFont_previousColor = var1; - AbstractFont_color = var1; - AbstractFont_alpha = 256; - AbstractFont_justificationTotal = 0; - AbstractFont_justificationCurrent = 0; - } - - @ObfuscatedName("at") - @Export("decodeTag") - void decodeTag(String var1) { - try { - if (var1.startsWith("col=")) { - AbstractFont_color = GrandExchangeEvent.method74(var1.substring(4), 16); - } else if (var1.equals("/col")) { - AbstractFont_color = AbstractFont_previousColor; - } else if (var1.startsWith("str=")) { - AbstractFont_strike = GrandExchangeEvent.method74(var1.substring(4), 16); - } else if (var1.equals("str")) { - AbstractFont_strike = 8388608; - } else if (var1.equals("/str")) { - AbstractFont_strike = -1; - } else if (var1.startsWith("u=")) { - AbstractFont_underline = GrandExchangeEvent.method74(var1.substring(2), 16); - } else if (var1.equals("u")) { - AbstractFont_underline = 0; - } else if (var1.equals("/u")) { - AbstractFont_underline = -1; - } else if (var1.startsWith("shad=")) { - AbstractFont_shadow = GrandExchangeEvent.method74(var1.substring(5), 16); - } else if (var1.equals("shad")) { - AbstractFont_shadow = 0; - } else if (var1.equals("/shad")) { - AbstractFont_shadow = AbstractFont_previousShadow; - } else if (var1.equals("br")) { - this.reset(AbstractFont_previousColor, AbstractFont_previousShadow); - } - } catch (Exception var3) { - } - - } - - @ObfuscatedName("ao") - @Export("calculateLineJustification") - void calculateLineJustification(String var1, int var2) { - int var3 = 0; - boolean var4 = false; - - for (int var5 = 0; var5 < var1.length(); ++var5) { - char var6 = var1.charAt(var5); - if (var6 == '<') { - var4 = true; - } else if (var6 == '>') { - var4 = false; - } else if (!var4 && var6 == ' ') { - ++var3; - } - } - - if (var3 > 0) { - AbstractFont_justificationTotal = (var2 - this.stringWidth(var1) << 8) / var3; - } - - } - - @ObfuscatedName("av") - @Export("draw0") - void draw0(String var1, int var2, int var3) { - var3 -= this.ascent; - int var4 = -1; - int var5 = -1; - - for (int var6 = 0; var6 < var1.length(); ++var6) { - if (var1.charAt(var6) != 0) { - char var7 = (char)(MenuAction.charToByteCp1252(var1.charAt(var6)) & 255); - if (var7 == '<') { - var4 = var6; - } else { - int var9; - if (var7 == '>' && var4 != -1) { - String var8 = var1.substring(var4 + 1, var6); - var4 = -1; - if (var8.equals("lt")) { - var7 = '<'; - } else { - if (!var8.equals("gt")) { - if (var8.startsWith("img=")) { - try { - var9 = IgnoreList.parseInt(var8.substring(4)); - IndexedSprite var10 = AbstractFont_modIconSprites[var9]; - var10.drawAt(var2, var3 + this.ascent - var10.height); - var2 += var10.width; - var5 = -1; - } catch (Exception var14) { - } - } else { - this.decodeTag(var8); - } - continue; - } - - var7 = '>'; - } - } - - if (var7 == 160) { - var7 = ' '; - } - - if (var4 == -1) { - if (this.kerning != null && var5 != -1) { - var2 += this.kerning[var7 + (var5 << 8)]; - } - - int var12 = this.widths[var7]; - var9 = this.heights[var7]; - if (var7 != ' ') { - if (AbstractFont_alpha == 256) { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow); - } - - this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color); - } else { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow, AbstractFont_alpha); - } - - this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color, AbstractFont_alpha); - } - } else if (AbstractFont_justificationTotal > 0) { - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; - var2 += AbstractFont_justificationCurrent >> 8; - AbstractFont_justificationCurrent &= 255; - } - - int var13 = this.advances[var7]; - if (AbstractFont_strike != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var13, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var13, AbstractFont_underline); - } - - var2 += var13; - var5 = var7; - } - } - } - } - - } - - @ObfuscatedName("an") - @Export("drawWithOffsets0") - void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) { - var3 -= this.ascent; - int var6 = -1; - int var7 = -1; - int var8 = 0; - - for (int var9 = 0; var9 < var1.length(); ++var9) { - if (var1.charAt(var9) != 0) { - char var10 = (char)(MenuAction.charToByteCp1252(var1.charAt(var9)) & 255); - if (var10 == '<') { - var6 = var9; - } else { - int var12; - int var13; - int var14; - if (var10 == '>' && var6 != -1) { - String var11 = var1.substring(var6 + 1, var9); - var6 = -1; - if (var11.equals("lt")) { - var10 = '<'; - } else { - if (!var11.equals("gt")) { - if (var11.startsWith("img=")) { - try { - if (var4 != null) { - var12 = var4[var8]; - } else { - var12 = 0; - } - - if (var5 != null) { - var13 = var5[var8]; - } else { - var13 = 0; - } - - ++var8; - var14 = IgnoreList.parseInt(var11.substring(4)); - IndexedSprite var15 = AbstractFont_modIconSprites[var14]; - var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height)); - var2 += var15.width; - var7 = -1; - } catch (Exception var19) { - } - } else { - this.decodeTag(var11); - } - continue; - } - - var10 = '>'; - } - } - - if (var10 == 160) { - var10 = ' '; - } - - if (var6 == -1) { - if (this.kerning != null && var7 != -1) { - var2 += this.kerning[var10 + (var7 << 8)]; - } - - int var17 = this.widths[var10]; - var12 = this.heights[var10]; - if (var4 != null) { - var13 = var4[var8]; - } else { - var13 = 0; - } - - if (var5 != null) { - var14 = var5[var8]; - } else { - var14 = 0; - } - - ++var8; - if (var10 != ' ') { - if (AbstractFont_alpha == 256) { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow); - } - - this.drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color); - } else { - if (AbstractFont_shadow != -1) { - AbstractFont_drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow, AbstractFont_alpha); - } - - this.drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color, AbstractFont_alpha); - } - } else if (AbstractFont_justificationTotal > 0) { - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; - var2 += AbstractFont_justificationCurrent >> 8; - AbstractFont_justificationCurrent &= 255; - } - - int var18 = this.advances[var10]; - if (AbstractFont_strike != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var18, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var18, AbstractFont_underline); - } - - var2 += var18; - var7 = var10; - } - } - } - } - - } - - @ObfuscatedName("j") - static int method5336(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) { - int var7 = var2[var5]; - int var8 = var7 + var4[var5]; - int var9 = var2[var6]; - int var10 = var9 + var4[var6]; - int var11 = var7; - if (var9 > var7) { - var11 = var9; - } - - int var12 = var8; - if (var10 < var8) { - var12 = var10; - } - - int var13 = var3[var5]; - if (var3[var6] < var13) { - var13 = var3[var6]; - } - - byte[] var14 = var1[var5]; - byte[] var15 = var0[var6]; - int var16 = var11 - var7; - int var17 = var11 - var9; - - for (int var18 = var11; var18 < var12; ++var18) { - int var19 = var14[var16++] + var15[var17++]; - if (var19 < var13) { - var13 = var19; - } - } - - return -var13; - } - - @ObfuscatedName("e") - @Export("escapeBrackets") - public static String escapeBrackets(String var0) { - int var1 = var0.length(); - int var2 = 0; - - for (int var3 = 0; var3 < var1; ++var3) { - char var4 = var0.charAt(var3); - if (var4 == '<' || var4 == '>') { - var2 += 3; - } - } - - StringBuilder var6 = new StringBuilder(var1 + var2); - - for (int var7 = 0; var7 < var1; ++var7) { - char var5 = var0.charAt(var7); - if (var5 == '<') { - var6.append(""); - } else if (var5 == '>') { - var6.append(""); - } else { - var6.append(var5); - } - } - - return var6.toString(); - } - - @ObfuscatedName("al") - @Export("AbstractFont_drawGlyph") - static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) { - int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var7 = Rasterizer2D.Rasterizer2D_width - var3; - int var8 = 0; - int var9 = 0; - int var10; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var4 -= var10; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var9 += var3 * var10; - var6 += var10 * Rasterizer2D.Rasterizer2D_width; - } - - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var3 -= var10; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var9 += var10; - var6 += var10; - var8 += var10; - var7 += var10; - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var10 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var3 -= var10; - var8 += var10; - var7 += var10; - } - - if (var3 > 0 && var4 > 0) { - AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var9, var6, var3, var4, var7, var8); - } - } - - @ObfuscatedName("as") - @Export("AbstractFont_placeGlyph") - static void AbstractFont_placeGlyph(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = -(var5 >> 2); - var5 = -(var5 & 3); - - for (int var10 = -var6; var10 < 0; ++var10) { - int var11; - for (var11 = var9; var11 < 0; ++var11) { - if (var1[var3++] != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - - if (var1[var3++] != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - - if (var1[var3++] != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - - if (var1[var3++] != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - } - - for (var11 = var5; var11 < 0; ++var11) { - if (var1[var3++] != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - } - - var4 += var7; - var3 += var8; - } - - } - - @ObfuscatedName("ad") - @Export("AbstractFont_drawGlyphAlpha") - static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var8 = Rasterizer2D.Rasterizer2D_width - var3; - int var9 = 0; - int var10 = 0; - int var11; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var4 -= var11; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var10 += var3 * var11; - var7 += var11 * Rasterizer2D.Rasterizer2D_width; - } - - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var3 -= var11; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var10 += var11; - var7 += var11; - var9 += var11; - var8 += var11; - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var11 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var3 -= var11; - var9 += var11; - var8 += var11; - } - - if (var3 > 0 && var4 > 0) { - AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var10, var7, var3, var4, var8, var9, var6); - } - } - - @ObfuscatedName("ap") - @Export("AbstractFont_placeGlyphAlpha") - static void AbstractFont_placeGlyphAlpha(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { - var2 = ((var2 & 65280) * var9 & 16711680) + (var9 * (var2 & 16711935) & -16711936) >> 8; - var9 = 256 - var9; - - for (int var10 = -var6; var10 < 0; ++var10) { - for (int var11 = -var5; var11 < 0; ++var11) { - if (var1[var3++] != 0) { - int var12 = var0[var4]; - var0[var4++] = (((var12 & 65280) * var9 & 16711680) + ((var12 & 16711935) * var9 & -16711936) >> 8) + var2; - } else { - ++var4; - } - } - - var4 += var7; - var3 += var8; - } - - } -} +import java.util.Random; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("kh") +@Implements("AbstractFont") +public abstract class AbstractFont extends Rasterizer2D { + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("AbstractFont_modIconSprites") + public static IndexedSprite[] AbstractFont_modIconSprites; + @ObfuscatedName("b") + @Export("AbstractFont_strike") + static int AbstractFont_strike; + @ObfuscatedName("o") + @Export("AbstractFont_underline") + static int AbstractFont_underline; + @ObfuscatedName("a") + @Export("AbstractFont_previousShadow") + static int AbstractFont_previousShadow; + @ObfuscatedName("e") + @Export("AbstractFont_shadow") + static int AbstractFont_shadow; + @ObfuscatedName("w") + @Export("AbstractFont_previousColor") + static int AbstractFont_previousColor; + @ObfuscatedName("t") + @Export("AbstractFont_color") + static int AbstractFont_color; + @ObfuscatedName("g") + @Export("AbstractFont_alpha") + static int AbstractFont_alpha; + @ObfuscatedName("x") + @Export("AbstractFont_justificationTotal") + static int AbstractFont_justificationTotal; + @ObfuscatedName("h") + @Export("AbstractFont_justificationCurrent") + static int AbstractFont_justificationCurrent; + @ObfuscatedName("s") + @Export("AbstractFont_random") + static Random AbstractFont_random; + @ObfuscatedName("f") + @Export("AbstractFont_lines") + static String[] AbstractFont_lines; + @ObfuscatedName("z") + @Export("pixels") + byte[][] pixels; + @ObfuscatedName("n") + @Export("advances") + int[] advances; + @ObfuscatedName("v") + @Export("widths") + int[] widths; + @ObfuscatedName("u") + @Export("heights") + int[] heights; + @ObfuscatedName("r") + @Export("leftBearings") + int[] leftBearings; + @ObfuscatedName("p") + @Export("topBearings") + int[] topBearings; + @ObfuscatedName("q") + @Export("ascent") + public int ascent; + @ObfuscatedName("m") + @Export("maxAscent") + public int maxAscent; + @ObfuscatedName("y") + @Export("maxDescent") + public int maxDescent; + @ObfuscatedName("c") + @Export("kerning") + byte[] kerning; + + static { + AbstractFont_strike = -1; + AbstractFont_underline = -1; + AbstractFont_previousShadow = -1; + AbstractFont_shadow = -1; + AbstractFont_previousColor = 0; + AbstractFont_color = 0; + AbstractFont_alpha = 256; + AbstractFont_justificationTotal = 0; + AbstractFont_justificationCurrent = 0; + AbstractFont_random = new Random(); + AbstractFont_lines = new String[100]; + } + + AbstractFont(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { + this.pixels = new byte[256][]; + this.ascent = 0; + this.leftBearings = var2; + this.topBearings = var3; + this.widths = var4; + this.heights = var5; + this.readMetrics(var1); + this.pixels = var7; + int var8 = Integer.MAX_VALUE; + int var9 = Integer.MIN_VALUE; + + for (int var10 = 0; var10 < 256; ++var10) { + if (this.topBearings[var10] < var8 && this.heights[var10] != 0) { + var8 = this.topBearings[var10]; + } + + if (this.topBearings[var10] + this.heights[var10] > var9) { + var9 = this.topBearings[var10] + this.heights[var10]; + } + } + + this.maxAscent = this.ascent - var8; + this.maxDescent = var9 - this.ascent; + } + + AbstractFont(byte[] var1) { + this.pixels = new byte[256][]; + this.ascent = 0; + this.readMetrics(var1); + } + + @ObfuscatedName("z") + @Export("drawGlyph") + abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6); + + @ObfuscatedName("n") + @Export("drawGlyphAlpha") + abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7); + + @ObfuscatedName("y") + @Export("readMetrics") + void readMetrics(byte[] var1) { + this.advances = new int[256]; + int var2; + if (var1.length == 257) { + for (var2 = 0; var2 < this.advances.length; ++var2) { + this.advances[var2] = var1[var2] & 255; + } + + this.ascent = var1[256] & 255; + } else { + var2 = 0; + + for (int var3 = 0; var3 < 256; ++var3) { + this.advances[var3] = var1[var2++] & 255; + } + + int[] var10 = new int[256]; + int[] var4 = new int[256]; + + int var5; + for (var5 = 0; var5 < 256; ++var5) { + var10[var5] = var1[var2++] & 255; + } + + for (var5 = 0; var5 < 256; ++var5) { + var4[var5] = var1[var2++] & 255; + } + + byte[][] var11 = new byte[256][]; + + int var8; + for (int var6 = 0; var6 < 256; ++var6) { + var11[var6] = new byte[var10[var6]]; + byte var7 = 0; + + for (var8 = 0; var8 < var11[var6].length; ++var8) { + var7 += var1[var2++]; + var11[var6][var8] = var7; + } + } + + byte[][] var12 = new byte[256][]; + + int var13; + for (var13 = 0; var13 < 256; ++var13) { + var12[var13] = new byte[var10[var13]]; + byte var14 = 0; + + for (int var9 = 0; var9 < var12[var13].length; ++var9) { + var14 += var1[var2++]; + var12[var13][var9] = var14; + } + } + + this.kerning = new byte[65536]; + + for (var13 = 0; var13 < 256; ++var13) { + if (var13 != 32 && var13 != 160) { + for (var8 = 0; var8 < 256; ++var8) { + if (var8 != 32 && var8 != 160) { + this.kerning[var8 + (var13 << 8)] = (byte)method5275(var11, var12, var4, this.advances, var10, var13, var8); + } + } + } + } + + this.ascent = var4[32] + var10[32]; + } + + } + + @ObfuscatedName("c") + @Export("charWidth") + int charWidth(char var1) { + if (var1 == 160) { + var1 = ' '; + } + + return this.advances[Entity.charToByteCp1252(var1) & 255]; + } + + @ObfuscatedName("b") + @Export("stringWidth") + public int stringWidth(String var1) { + if (var1 == null) { + return 0; + } else { + int var2 = -1; + int var3 = -1; + int var4 = 0; + + for (int var5 = 0; var5 < var1.length(); ++var5) { + char var6 = var1.charAt(var5); + if (var6 == '<') { + var2 = var5; + } else { + if (var6 == '>' && var2 != -1) { + String var7 = var1.substring(var2 + 1, var5); + var2 = -1; + if (var7.equals("lt")) { + var6 = '<'; + } else { + if (!var7.equals("gt")) { + if (var7.startsWith("img=")) { + try { + int var8 = TilePaint.parseInt(var7.substring(4)); + var4 += AbstractFont_modIconSprites[var8].width; + var3 = -1; + } catch (Exception var10) { + } + } + continue; + } + + var6 = '>'; + } + } + + if (var6 == 160) { + var6 = ' '; + } + + if (var2 == -1) { + var4 += this.advances[(char)(Entity.charToByteCp1252(var6) & 255)]; + if (this.kerning != null && var3 != -1) { + var4 += this.kerning[var6 + (var3 << 8)]; + } + + var3 = var6; + } + } + } + + return var4; + } + } + + @ObfuscatedName("o") + @Export("breakLines") + public int breakLines(String var1, int[] var2, String[] var3) { + if (var1 == null) { + return 0; + } else { + int var4 = 0; + int var5 = 0; + StringBuilder var6 = new StringBuilder(100); + int var7 = -1; + int var8 = 0; + byte var9 = 0; + int var10 = -1; + char var11 = 0; + int var12 = 0; + int var13 = var1.length(); + + for (int var14 = 0; var14 < var13; ++var14) { + char var15 = var1.charAt(var14); + if (var15 == '<') { + var10 = var14; + } else { + if (var15 == '>' && var10 != -1) { + String var16 = var1.substring(var10 + 1, var14); + var10 = -1; + var6.append('<'); + var6.append(var16); + var6.append('>'); + if (var16.equals("br")) { + var3[var12] = var6.toString().substring(var5, var6.length()); + ++var12; + var5 = var6.length(); + var4 = 0; + var7 = -1; + var11 = 0; + } else if (var16.equals("lt")) { + var4 += this.charWidth('<'); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[(var11 << '\b') + 60]; + } + + var11 = '<'; + } else if (var16.equals("gt")) { + var4 += this.charWidth('>'); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[(var11 << '\b') + 62]; + } + + var11 = '>'; + } else if (var16.startsWith("img=")) { + try { + int var17 = TilePaint.parseInt(var16.substring(4)); + var4 += AbstractFont_modIconSprites[var17].width; + var11 = 0; + } catch (Exception var20) { + } + } + + var15 = 0; + } + + if (var10 == -1) { + if (var15 != 0) { + var6.append(var15); + var4 += this.charWidth(var15); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[var15 + (var11 << '\b')]; + } + + var11 = var15; + } + + if (var15 == ' ') { + var7 = var6.length(); + var8 = var4; + var9 = 1; + } + + if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) { + var3[var12] = var6.toString().substring(var5, var7 - var9); + ++var12; + var5 = var7; + var7 = -1; + var4 -= var8; + var11 = 0; + } + + if (var15 == '-') { + var7 = var6.length(); + var8 = var4; + var9 = 0; + } + } + } + } + + String var19 = var6.toString(); + if (var19.length() > var5) { + var3[var12++] = var19.substring(var5, var19.length()); + } + + return var12; + } + } + + @ObfuscatedName("a") + @Export("lineWidth") + public int lineWidth(String var1, int var2) { + int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines); + int var4 = 0; + + for (int var5 = 0; var5 < var3; ++var5) { + int var6 = this.stringWidth(AbstractFont_lines[var5]); + if (var6 > var4) { + var4 = var6; + } + } + + return var4; + } + + @ObfuscatedName("e") + @Export("lineCount") + public int lineCount(String var1, int var2) { + return this.breakLines(var1, new int[]{var2}, AbstractFont_lines); + } + + @ObfuscatedName("h") + @Export("draw") + public void draw(String var1, int var2, int var3, int var4, int var5) { + if (var1 != null) { + this.reset(var4, var5); + this.draw0(var1, var2, var3); + } + } + + @ObfuscatedName("s") + @Export("drawAlpha") + public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + AbstractFont_alpha = var6; + this.draw0(var1, var2, var3); + } + } + + @ObfuscatedName("f") + @Export("drawRightAligned") + public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) { + if (var1 != null) { + this.reset(var4, var5); + this.draw0(var1, var2 - this.stringWidth(var1), var3); + } + } + + @ObfuscatedName("j") + @Export("drawCentered") + public void drawCentered(String var1, int var2, int var3, int var4, int var5) { + if (var1 != null) { + this.reset(var4, var5); + this.draw0(var1, var2 - this.stringWidth(var1) / 2, var3); + } + } + + @ObfuscatedName("d") + @Export("drawLines") + public int drawLines(String var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + if (var1 == null) { + return 0; + } else { + this.reset(var6, var7); + if (var10 == 0) { + var10 = this.ascent; + } + + int[] var11 = new int[]{var4}; + if (var5 < var10 + this.maxAscent + this.maxDescent && var5 < var10 + var10) { + var11 = null; + } + + int var12 = this.breakLines(var1, var11, AbstractFont_lines); + if (var9 == 3 && var12 == 1) { + var9 = 1; + } + + int var13; + int var14; + if (var9 == 0) { + var13 = var3 + this.maxAscent; + } else if (var9 == 1) { + var13 = var3 + (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / 2 + this.maxAscent; + } else if (var9 == 2) { + var13 = var3 + var5 - this.maxDescent - var10 * (var12 - 1); + } else { + var14 = (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / (var12 + 1); + if (var14 < 0) { + var14 = 0; + } + + var13 = var3 + var14 + this.maxAscent; + var10 += var14; + } + + for (var14 = 0; var14 < var12; ++var14) { + if (var8 == 0) { + this.draw0(AbstractFont_lines[var14], var2, var13); + } else if (var8 == 1) { + this.draw0(AbstractFont_lines[var14], var2 + (var4 - this.stringWidth(AbstractFont_lines[var14])) / 2, var13); + } else if (var8 == 2) { + this.draw0(AbstractFont_lines[var14], var2 + var4 - this.stringWidth(AbstractFont_lines[var14]), var13); + } else if (var14 == var12 - 1) { + this.draw0(AbstractFont_lines[var14], var2, var13); + } else { + this.calculateLineJustification(AbstractFont_lines[var14], var4); + this.draw0(AbstractFont_lines[var14], var2, var13); + AbstractFont_justificationTotal = 0; + } + + var13 += var10; + } + + return var12; + } + } + + @ObfuscatedName("l") + @Export("drawCenteredWave") + public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + int[] var7 = new int[var1.length()]; + + for (int var8 = 0; var8 < var1.length(); ++var8) { + var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)var6 / 5.0D) * 5.0D); + } + + this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var7); + } + } + + @ObfuscatedName("k") + @Export("drawCenteredWave2") + public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + int[] var7 = new int[var1.length()]; + int[] var8 = new int[var1.length()]; + + for (int var9 = 0; var9 < var1.length(); ++var9) { + var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)var6 / 5.0D) * 5.0D); + var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)var6 / 5.0D) * 5.0D); + } + + this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, var7, var8); + } + } + + @ObfuscatedName("ac") + @Export("drawCenteredShake") + public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (var1 != null) { + this.reset(var4, var5); + double var8 = 7.0D - (double)var7 / 8.0D; + if (var8 < 0.0D) { + var8 = 0.0D; + } + + int[] var10 = new int[var1.length()]; + + for (int var11 = 0; var11 < var1.length(); ++var11) { + var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)var6 / 1.0D) * var8); + } + + this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var10); + } + } + + @ObfuscatedName("aa") + @Export("drawRandomAlphaAndSpacing") + public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + AbstractFont_random.setSeed((long)var6); + AbstractFont_alpha = 192 + (AbstractFont_random.nextInt() & 31); + int[] var7 = new int[var1.length()]; + int var8 = 0; + + for (int var9 = 0; var9 < var1.length(); ++var9) { + var7[var9] = var8; + if ((AbstractFont_random.nextInt() & 3) == 0) { + ++var8; + } + } + + this.drawWithOffsets0(var1, var2, var3, var7, (int[])null); + } + } + + @ObfuscatedName("ap") + @Export("reset") + void reset(int var1, int var2) { + AbstractFont_strike = -1; + AbstractFont_underline = -1; + AbstractFont_previousShadow = var2; + AbstractFont_shadow = var2; + AbstractFont_previousColor = var1; + AbstractFont_color = var1; + AbstractFont_alpha = 256; + AbstractFont_justificationTotal = 0; + AbstractFont_justificationCurrent = 0; + } + + @ObfuscatedName("ar") + @Export("decodeTag") + void decodeTag(String var1) { + try { + if (var1.startsWith("col=")) { + AbstractFont_color = class2.method29(var1.substring(4), 16); + } else if (var1.equals("/col")) { + AbstractFont_color = AbstractFont_previousColor; + } else if (var1.startsWith("str=")) { + AbstractFont_strike = class2.method29(var1.substring(4), 16); + } else if (var1.equals("str")) { + AbstractFont_strike = 8388608; + } else if (var1.equals("/str")) { + AbstractFont_strike = -1; + } else if (var1.startsWith("u=")) { + AbstractFont_underline = class2.method29(var1.substring(2), 16); + } else if (var1.equals("u")) { + AbstractFont_underline = 0; + } else if (var1.equals("/u")) { + AbstractFont_underline = -1; + } else if (var1.startsWith("shad=")) { + AbstractFont_shadow = class2.method29(var1.substring(5), 16); + } else if (var1.equals("shad")) { + AbstractFont_shadow = 0; + } else if (var1.equals("/shad")) { + AbstractFont_shadow = AbstractFont_previousShadow; + } else if (var1.equals("br")) { + this.reset(AbstractFont_previousColor, AbstractFont_previousShadow); + } + } catch (Exception var3) { + } + + } + + @ObfuscatedName("ab") + @Export("calculateLineJustification") + void calculateLineJustification(String var1, int var2) { + int var3 = 0; + boolean var4 = false; + + for (int var5 = 0; var5 < var1.length(); ++var5) { + char var6 = var1.charAt(var5); + if (var6 == '<') { + var4 = true; + } else if (var6 == '>') { + var4 = false; + } else if (!var4 && var6 == ' ') { + ++var3; + } + } + + if (var3 > 0) { + AbstractFont_justificationTotal = (var2 - this.stringWidth(var1) << 8) / var3; + } + + } + + @ObfuscatedName("ax") + @Export("draw0") + void draw0(String var1, int var2, int var3) { + var3 -= this.ascent; + int var4 = -1; + int var5 = -1; + + for (int var6 = 0; var6 < var1.length(); ++var6) { + if (var1.charAt(var6) != 0) { + char var7 = (char)(Entity.charToByteCp1252(var1.charAt(var6)) & 255); + if (var7 == '<') { + var4 = var6; + } else { + int var9; + if (var7 == '>' && var4 != -1) { + String var8 = var1.substring(var4 + 1, var6); + var4 = -1; + if (var8.equals("lt")) { + var7 = '<'; + } else { + if (!var8.equals("gt")) { + if (var8.startsWith("img=")) { + try { + var9 = TilePaint.parseInt(var8.substring(4)); + IndexedSprite var10 = AbstractFont_modIconSprites[var9]; + var10.drawAt(var2, var3 + this.ascent - var10.height); + var2 += var10.width; + var5 = -1; + } catch (Exception var14) { + } + } else { + this.decodeTag(var8); + } + continue; + } + + var7 = '>'; + } + } + + if (var7 == 160) { + var7 = ' '; + } + + if (var4 == -1) { + if (this.kerning != null && var5 != -1) { + var2 += this.kerning[var7 + (var5 << 8)]; + } + + int var12 = this.widths[var7]; + var9 = this.heights[var7]; + if (var7 != ' ') { + if (AbstractFont_alpha == 256) { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow); + } + + this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color); + } else { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var9, AbstractFont_shadow, AbstractFont_alpha); + } + + this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var9, AbstractFont_color, AbstractFont_alpha); + } + } else if (AbstractFont_justificationTotal > 0) { + AbstractFont_justificationCurrent += AbstractFont_justificationTotal; + var2 += AbstractFont_justificationCurrent >> 8; + AbstractFont_justificationCurrent &= 255; + } + + int var13 = this.advances[var7]; + if (AbstractFont_strike != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var13, AbstractFont_strike); + } + + if (AbstractFont_underline != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var13, AbstractFont_underline); + } + + var2 += var13; + var5 = var7; + } + } + } + } + + } + + @ObfuscatedName("as") + @Export("drawWithOffsets0") + void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) { + var3 -= this.ascent; + int var6 = -1; + int var7 = -1; + int var8 = 0; + + for (int var9 = 0; var9 < var1.length(); ++var9) { + if (var1.charAt(var9) != 0) { + char var10 = (char)(Entity.charToByteCp1252(var1.charAt(var9)) & 255); + if (var10 == '<') { + var6 = var9; + } else { + int var12; + int var13; + int var14; + if (var10 == '>' && var6 != -1) { + String var11 = var1.substring(var6 + 1, var9); + var6 = -1; + if (var11.equals("lt")) { + var10 = '<'; + } else { + if (!var11.equals("gt")) { + if (var11.startsWith("img=")) { + try { + if (var4 != null) { + var12 = var4[var8]; + } else { + var12 = 0; + } + + if (var5 != null) { + var13 = var5[var8]; + } else { + var13 = 0; + } + + ++var8; + var14 = TilePaint.parseInt(var11.substring(4)); + IndexedSprite var15 = AbstractFont_modIconSprites[var14]; + var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height)); + var2 += var15.width; + var7 = -1; + } catch (Exception var19) { + } + } else { + this.decodeTag(var11); + } + continue; + } + + var10 = '>'; + } + } + + if (var10 == 160) { + var10 = ' '; + } + + if (var6 == -1) { + if (this.kerning != null && var7 != -1) { + var2 += this.kerning[var10 + (var7 << 8)]; + } + + int var17 = this.widths[var10]; + var12 = this.heights[var10]; + if (var4 != null) { + var13 = var4[var8]; + } else { + var13 = 0; + } + + if (var5 != null) { + var14 = var5[var8]; + } else { + var14 = 0; + } + + ++var8; + if (var10 != ' ') { + if (AbstractFont_alpha == 256) { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow); + } + + this.drawGlyph(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color); + } else { + if (AbstractFont_shadow != -1) { + AbstractFont_drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10] + 1, var3 + var14 + this.topBearings[var10] + 1, var17, var12, AbstractFont_shadow, AbstractFont_alpha); + } + + this.drawGlyphAlpha(this.pixels[var10], var13 + var2 + this.leftBearings[var10], var3 + var14 + this.topBearings[var10], var17, var12, AbstractFont_color, AbstractFont_alpha); + } + } else if (AbstractFont_justificationTotal > 0) { + AbstractFont_justificationCurrent += AbstractFont_justificationTotal; + var2 += AbstractFont_justificationCurrent >> 8; + AbstractFont_justificationCurrent &= 255; + } + + int var18 = this.advances[var10]; + if (AbstractFont_strike != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var18, AbstractFont_strike); + } + + if (AbstractFont_underline != -1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var18, AbstractFont_underline); + } + + var2 += var18; + var7 = var10; + } + } + } + } + + } + + @ObfuscatedName("i") + static int method5275(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) { + int var7 = var2[var5]; + int var8 = var7 + var4[var5]; + int var9 = var2[var6]; + int var10 = var9 + var4[var6]; + int var11 = var7; + if (var9 > var7) { + var11 = var9; + } + + int var12 = var8; + if (var10 < var8) { + var12 = var10; + } + + int var13 = var3[var5]; + if (var3[var6] < var13) { + var13 = var3[var6]; + } + + byte[] var14 = var1[var5]; + byte[] var15 = var0[var6]; + int var16 = var11 - var7; + int var17 = var11 - var9; + + for (int var18 = var11; var18 < var12; ++var18) { + int var19 = var14[var16++] + var15[var17++]; + if (var19 < var13) { + var13 = var19; + } + } + + return -var13; + } + + @ObfuscatedName("x") + @Export("escapeBrackets") + public static String escapeBrackets(String var0) { + int var1 = var0.length(); + int var2 = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if (var4 == '<' || var4 == '>') { + var2 += 3; + } + } + + StringBuilder var6 = new StringBuilder(var1 + var2); + + for (int var7 = 0; var7 < var1; ++var7) { + char var5 = var0.charAt(var7); + if (var5 == '<') { + var6.append(""); + } else if (var5 == '>') { + var6.append(""); + } else { + var6.append(var5); + } + } + + return var6.toString(); + } + + @ObfuscatedName("ao") + @Export("AbstractFont_drawGlyph") + static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var7 = Rasterizer2D.Rasterizer2D_width - var3; + int var8 = 0; + int var9 = 0; + int var10; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var10; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var9 += var3 * var10; + var6 += var10 * Rasterizer2D.Rasterizer2D_width; + } + + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var10; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var9 += var10; + var6 += var10; + var8 += var10; + var7 += var10; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var10 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var10; + var8 += var10; + var7 += var10; + } + + if (var3 > 0 && var4 > 0) { + AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var9, var6, var3, var4, var7, var8); + } + } + + @ObfuscatedName("al") + @Export("AbstractFont_placeGlyph") + static void AbstractFont_placeGlyph(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for (int var10 = -var6; var10 < 0; ++var10) { + int var11; + for (var11 = var9; var11 < 0; ++var11) { + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + for (var11 = var5; var11 < 0; ++var11) { + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("ad") + @Export("AbstractFont_drawGlyphAlpha") + static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var8 = Rasterizer2D.Rasterizer2D_width - var3; + int var9 = 0; + int var10 = 0; + int var11; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var11; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var10 += var3 * var11; + var7 += var11 * Rasterizer2D.Rasterizer2D_width; + } + + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var11; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var10 += var11; + var7 += var11; + var9 += var11; + var8 += var11; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var11 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var11; + var9 += var11; + var8 += var11; + } + + if (var3 > 0 && var4 > 0) { + AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var10, var7, var3, var4, var8, var9, var6); + } + } + + @ObfuscatedName("an") + @Export("AbstractFont_placeGlyphAlpha") + static void AbstractFont_placeGlyphAlpha(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + var2 = ((var2 & 65280) * var9 & 16711680) + (var9 * (var2 & 16711935) & -16711936) >> 8; + var9 = 256 - var9; + + for (int var10 = -var6; var10 < 0; ++var10) { + for (int var11 = -var5; var11 < 0; ++var11) { + if (var1[var3++] != 0) { + int var12 = var0[var4]; + var0[var4++] = (((var12 & 65280) * var9 & 16711680) + ((var12 & 16711935) * var9 & -16711936) >> 8) + var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } +} diff --git a/runescape-client/src/main/java/AbstractRasterProvider.java b/runescape-client/src/main/java/AbstractRasterProvider.java index c10917b242..c86babc500 100644 --- a/runescape-client/src/main/java/AbstractRasterProvider.java +++ b/runescape-client/src/main/java/AbstractRasterProvider.java @@ -1,54 +1,60 @@ -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("lf") -@Implements("AbstractRasterProvider") -public abstract class AbstractRasterProvider { - @ObfuscatedName("t") - @Export("pixels") - public int[] pixels; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1812732741 - ) - @Export("width") - public int width; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -828006161 - ) - @Export("height") - public int height; - - protected AbstractRasterProvider() { - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-978411495" - ) - @Export("drawFull") - public abstract void drawFull(int var1, int var2); - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-2009002566" - ) - @Export("draw") - public abstract void draw(int var1, int var2, int var3, int var4); - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-934160158" - ) - @Export("apply") - public final void apply() { - Rasterizer2D.Rasterizer2D_replace(this.pixels, this.width, this.height); - } -} +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("lm") +@Implements("AbstractRasterProvider") +public abstract class AbstractRasterProvider { + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("titlebuttonSprite") + static IndexedSprite titlebuttonSprite; + @ObfuscatedName("v") + @Export("pixels") + public int[] pixels; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1221954905 + ) + @Export("width") + public int width; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 809652275 + ) + @Export("height") + public int height; + + protected AbstractRasterProvider() { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1952064900" + ) + @Export("drawFull") + public abstract void drawFull(int var1, int var2); + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-67564732" + ) + @Export("draw") + public abstract void draw(int var1, int var2, int var3, int var4); + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-997992638" + ) + @Export("apply") + public final void apply() { + Rasterizer2D.Rasterizer2D_replace(this.pixels, this.width, this.height); + } +} diff --git a/runescape-client/src/main/java/AbstractSocket.java b/runescape-client/src/main/java/AbstractSocket.java index 653dc6bd2e..e8100210a4 100644 --- a/runescape-client/src/main/java/AbstractSocket.java +++ b/runescape-client/src/main/java/AbstractSocket.java @@ -1,60 +1,60 @@ -import java.io.IOException; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ks") -@Implements("AbstractSocket") -public abstract class AbstractSocket { - protected AbstractSocket() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-75" - ) - @Export("close") - public abstract void close(); - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1827163357" - ) - @Export("readUnsignedByte") - public abstract int readUnsignedByte() throws IOException; - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1354053248" - ) - @Export("available") - public abstract int available() throws IOException; - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-377412375" - ) - @Export("isAvailable") - public abstract boolean isAvailable(int var1) throws IOException; - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "2063129771" - ) - @Export("read") - public abstract int read(byte[] var1, int var2, int var3) throws IOException; - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "9" - ) - @Export("write") - public abstract void write(byte[] var1, int var2, int var3) throws IOException; -} +import java.io.IOException; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ky") +@Implements("AbstractSocket") +public abstract class AbstractSocket { + protected AbstractSocket() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-119" + ) + @Export("close") + public abstract void close(); + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1784126558" + ) + @Export("readUnsignedByte") + public abstract int readUnsignedByte() throws IOException; + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "3" + ) + @Export("available") + public abstract int available() throws IOException; + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-336706705" + ) + @Export("isAvailable") + public abstract boolean isAvailable(int var1) throws IOException; + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "-2035668362" + ) + @Export("read") + public abstract int read(byte[] var1, int var2, int var3) throws IOException; + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "-68" + ) + @Export("write") + public abstract void write(byte[] var1, int var2, int var3) throws IOException; +} diff --git a/runescape-client/src/main/java/AbstractSound.java b/runescape-client/src/main/java/AbstractSound.java index 4a55a07fb3..ac15abe991 100644 --- a/runescape-client/src/main/java/AbstractSound.java +++ b/runescape-client/src/main/java/AbstractSound.java @@ -1,14 +1,14 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("di") -@Implements("AbstractSound") -public abstract class AbstractSound extends Node { - @ObfuscatedName("u") - @Export("position") - int position; - - AbstractSound() { - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("dx") +@Implements("AbstractSound") +public abstract class AbstractSound extends Node { + @ObfuscatedName("p") + @Export("position") + int position; + + AbstractSound() { + } +} diff --git a/runescape-client/src/main/java/AbstractUserComparator.java b/runescape-client/src/main/java/AbstractUserComparator.java index 1e77b4268a..9bb0525ef9 100644 --- a/runescape-client/src/main/java/AbstractUserComparator.java +++ b/runescape-client/src/main/java/AbstractUserComparator.java @@ -1,64 +1,49 @@ -import java.util.Comparator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jq") -@Implements("AbstractUserComparator") -public abstract class AbstractUserComparator implements Comparator { - @ObfuscatedName("x") - @Export("nextComparator") - Comparator nextComparator; - - protected AbstractUserComparator() { - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;I)V", - garbageValue = "-821671314" - ) - @Export("addComparator") - final void addComparator(Comparator var1) { - if (this.nextComparator == null) { - this.nextComparator = var1; - } else if (this.nextComparator instanceof AbstractUserComparator) { - ((AbstractUserComparator)this.nextComparator).addComparator(var1); - } - - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Ljw;Ljw;B)I", - garbageValue = "-62" - ) - @Export("compareUser") - protected final int compareUser(User var1, User var2) { - return this.nextComparator == null ? 0 : this.nextComparator.compare(var1, var2); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "0" - ) - @Export("isKeyDown") - public static final boolean isKeyDown() { - synchronized(KeyHandler.KeyHandler_instance) { - if (KeyHandler.field383 == KeyHandler.field381) { - return false; - } else { - class43.field361 = KeyHandler.field378[KeyHandler.field381]; - WorldMapIcon_0.field126 = KeyHandler.field377[KeyHandler.field381]; - KeyHandler.field381 = KeyHandler.field381 + 1 & 127; - return true; - } - } - } -} +import java.lang.management.GarbageCollectorMXBean; +import java.util.Comparator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jr") +@Implements("AbstractUserComparator") +public abstract class AbstractUserComparator implements Comparator { + @ObfuscatedName("ag") + @Export("garbageCollector") + static GarbageCollectorMXBean garbageCollector; + @ObfuscatedName("n") + @Export("nextComparator") + Comparator nextComparator; + + protected AbstractUserComparator() { + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Ljava/util/Comparator;B)V", + garbageValue = "0" + ) + @Export("addComparator") + final void addComparator(Comparator var1) { + if (this.nextComparator == null) { + this.nextComparator = var1; + } else if (this.nextComparator instanceof AbstractUserComparator) { + ((AbstractUserComparator)this.nextComparator).addComparator(var1); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Ljh;Ljh;B)I", + garbageValue = "-78" + ) + @Export("compareUser") + protected final int compareUser(User var1, User var2) { + return this.nextComparator == null ? 0 : this.nextComparator.compare(var1, var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } +} diff --git a/runescape-client/src/main/java/AbstractWorldMapData.java b/runescape-client/src/main/java/AbstractWorldMapData.java index b46ea7b7ef..561b268a9f 100644 --- a/runescape-client/src/main/java/AbstractWorldMapData.java +++ b/runescape-client/src/main/java/AbstractWorldMapData.java @@ -1,368 +1,451 @@ -import java.util.LinkedList; -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("w") -@Implements("AbstractWorldMapData") -public abstract class AbstractWorldMapData { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1748127744 - ) - @Export("regionXLow") - int regionXLow; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1366642688 - ) - @Export("regionYLow") - int regionYLow; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -59240115 - ) - @Export("regionX") - int regionX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1519130577 - ) - @Export("regionY") - int regionY; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -101530507 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1450874669 - ) - @Export("planes") - int planes; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 460144759 - ) - @Export("groupId") - int groupId; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 977185489 - ) - @Export("fileId") - int fileId; - @ObfuscatedName("d") - @Export("floorUnderlayIds") - short[][][] floorUnderlayIds; - @ObfuscatedName("z") - @Export("floorOverlayIds") - short[][][] floorOverlayIds; - @ObfuscatedName("n") - byte[][][] field163; - @ObfuscatedName("h") - byte[][][] field159; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[[[[Lb;" - ) - @Export("decorations") - WorldMapDecoration[][][][] decorations; - @ObfuscatedName("s") - boolean field166; - @ObfuscatedName("p") - boolean field167; - - AbstractWorldMapData() { - this.groupId = -1; - this.fileId = -1; - new LinkedList(); - this.field166 = false; - this.field167 = false; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1969615810" - ) - @Export("readGeography") - abstract void readGeography(Buffer var1); - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(S)Z", - garbageValue = "2950" - ) - @Export("isFullyLoaded") - boolean isFullyLoaded() { - return this.field166 && this.field167; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(Lhz;B)V", - garbageValue = "20" - ) - @Export("loadGeography") - void loadGeography(AbstractArchive var1) { - if (!this.isFullyLoaded()) { - byte[] var2 = var1.takeFile(this.groupId, this.fileId); - if (var2 != null) { - this.readGeography(new Buffer(var2)); - this.field166 = true; - this.field167 = true; - } - - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-266968977" - ) - @Export("reset") - void reset() { - this.floorUnderlayIds = null; - this.floorOverlayIds = null; - this.field163 = null; - this.field159 = null; - this.decorations = null; - this.field166 = false; - this.field167 = false; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IILkz;I)V", - garbageValue = "1782766503" - ) - @Export("readTile") - void readTile(int var1, int var2, Buffer var3) { - int var4 = var3.readUnsignedByte(); - if (var4 != 0) { - if ((var4 & 1) != 0) { - this.method245(var1, var2, var3, var4); - } else { - this.method240(var1, var2, var3, var4); - } - - } - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(IILkz;II)V", - garbageValue = "-1638058411" - ) - void method245(int var1, int var2, Buffer var3, int var4) { - boolean var5 = (var4 & 2) != 0; - if (var5) { - this.floorOverlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); - } - - this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IILkz;II)V", - garbageValue = "-1194656986" - ) - void method240(int var1, int var2, Buffer var3, int var4) { - int var5 = ((var4 & 24) >> 3) + 1; - boolean var6 = (var4 & 2) != 0; - boolean var7 = (var4 & 4) != 0; - this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); - int var8; - int var9; - int var11; - if (var6) { - var8 = var3.readUnsignedByte(); - - for (var9 = 0; var9 < var8; ++var9) { - int var10 = var3.readUnsignedByte(); - if (var10 != 0) { - this.floorOverlayIds[var9][var1][var2] = (short)var10; - var11 = var3.readUnsignedByte(); - this.field163[var9][var1][var2] = (byte)(var11 >> 2); - this.field159[var9][var1][var2] = (byte)(var11 & 3); - } - } - } - - if (var7) { - for (var8 = 0; var8 < var5; ++var8) { - var9 = var3.readUnsignedByte(); - if (var9 != 0) { - WorldMapDecoration[] var14 = this.decorations[var8][var1][var2] = new WorldMapDecoration[var9]; - - for (var11 = 0; var11 < var9; ++var11) { - int var12 = var3.method5623(); - int var13 = var3.readUnsignedByte(); - var14[var11] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3); - } - } - } - } - - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "35" - ) - @Export("getRegionX") - int getRegionX() { - return this.regionX; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-13" - ) - @Export("getRegionY") - int getRegionY() { - return this.regionY; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "79" - ) - static void method254() { - Tiles.Tiles_minPlane = 99; - Tiles.field476 = new byte[4][104][104]; - class30.field257 = new byte[4][104][104]; - Tiles.field477 = new byte[4][104][104]; - HealthBar.field1089 = new byte[4][104][104]; - UserComparator3.field1961 = new int[4][105][105]; - Tiles.field473 = new byte[4][105][105]; - class160.field1977 = new int[105][105]; - UserComparator7.Tiles_hue = new int[104]; - TileItem.Tiles_saturation = new int[104]; - class1.Tiles_lightness = new int[104]; - class42.Tiles_hueMultiplier = new int[104]; - Tiles.field488 = new int[104]; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "([Lbb;II[I[IB)V", - garbageValue = "-40" - ) - @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 (var11 != var12) { - 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); - } - - } -} +import java.util.LinkedList; +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.ScriptOpcodes; + +@ObfuscatedName("f") +@Implements("AbstractWorldMapData") +public abstract class AbstractWorldMapData { + @ObfuscatedName("iz") + @ObfuscatedGetter( + intValue = 742897815 + ) + @Export("selectedItemId") + static int selectedItemId; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 461674944 + ) + @Export("regionXLow") + int regionXLow; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 278884352 + ) + @Export("regionYLow") + int regionYLow; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -317022193 + ) + @Export("regionX") + int regionX; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 796055175 + ) + @Export("regionY") + int regionY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 804294653 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 593055761 + ) + @Export("planes") + int planes; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1864196889 + ) + @Export("groupId") + int groupId; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -644572197 + ) + @Export("fileId") + int fileId; + @ObfuscatedName("y") + @Export("floorUnderlayIds") + short[][][] floorUnderlayIds; + @ObfuscatedName("i") + @Export("floorOverlayIds") + short[][][] floorOverlayIds; + @ObfuscatedName("c") + byte[][][] field164; + @ObfuscatedName("b") + byte[][][] field152; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "[[[[Lk;" + ) + @Export("decorations") + WorldMapDecoration[][][][] decorations; + @ObfuscatedName("a") + boolean field165; + @ObfuscatedName("e") + boolean field166; + + AbstractWorldMapData() { + this.groupId = -1; + this.fileId = -1; + new LinkedList(); + this.field165 = false; + this.field166 = false; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "1549979331" + ) + @Export("readGeography") + abstract void readGeography(Buffer var1); + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1858482709" + ) + @Export("isFullyLoaded") + boolean isFullyLoaded() { + return this.field165 && this.field166; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Lhp;I)V", + garbageValue = "-1207518623" + ) + @Export("loadGeography") + void loadGeography(AbstractArchive var1) { + if (!this.isFullyLoaded()) { + byte[] var2 = var1.takeFile(this.groupId, this.fileId); + if (var2 != null) { + this.readGeography(new Buffer(var2)); + this.field165 = true; + this.field166 = true; + } + + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1757437769" + ) + @Export("reset") + void reset() { + this.floorUnderlayIds = null; + this.floorOverlayIds = null; + this.field164 = null; + this.field152 = null; + this.decorations = null; + this.field165 = false; + this.field166 = false; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IILkl;B)V", + garbageValue = "10" + ) + @Export("readTile") + void readTile(int var1, int var2, Buffer var3) { + int var4 = var3.readUnsignedByte(); + if (var4 != 0) { + if ((var4 & 1) != 0) { + this.method262(var1, var2, var3, var4); + } else { + this.method268(var1, var2, var3, var4); + } + + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(IILkl;II)V", + garbageValue = "2059676399" + ) + void method262(int var1, int var2, Buffer var3, int var4) { + boolean var5 = (var4 & 2) != 0; + if (var5) { + this.floorOverlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); + } + + this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IILkl;IB)V", + garbageValue = "-56" + ) + void method268(int var1, int var2, Buffer var3, int var4) { + int var5 = ((var4 & 24) >> 3) + 1; + boolean var6 = (var4 & 2) != 0; + boolean var7 = (var4 & 4) != 0; + this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); + int var8; + int var9; + int var11; + if (var6) { + var8 = var3.readUnsignedByte(); + + for (var9 = 0; var9 < var8; ++var9) { + int var10 = var3.readUnsignedByte(); + if (var10 != 0) { + this.floorOverlayIds[var9][var1][var2] = (short)var10; + var11 = var3.readUnsignedByte(); + this.field164[var9][var1][var2] = (byte)(var11 >> 2); + this.field152[var9][var1][var2] = (byte)(var11 & 3); + } + } + } + + if (var7) { + for (var8 = 0; var8 < var5; ++var8) { + var9 = var3.readUnsignedByte(); + if (var9 != 0) { + WorldMapDecoration[] var14 = this.decorations[var8][var1][var2] = new WorldMapDecoration[var9]; + + for (var11 = 0; var11 < var9; ++var11) { + int var12 = var3.method5438(); + int var13 = var3.readUnsignedByte(); + var14[var11] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3); + } + } + } + } + + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-929324026" + ) + @Export("getRegionX") + int getRegionX() { + return this.regionX; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-2009466013" + ) + @Export("getRegionY") + int getRegionY() { + return this.regionY; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)Liq;", + garbageValue = "1" + ) + public static VarpDefinition method288(int var0) { + VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = VarpDefinition.VarpDefinition_archive.takeFile(16, var0); + var1 = new VarpDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IIIZIZI)V", + garbageValue = "-1516072397" + ) + @Export("doWorldSorting") + static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) { + if (var0 < var1) { + int var6 = (var0 + var1) / 2; + int var7 = var0; + World var8 = World.World_worlds[var6]; + World.World_worlds[var6] = World.World_worlds[var1]; + World.World_worlds[var1] = var8; + + for (int var9 = var0; var9 < var1; ++var9) { + if (ArchiveLoader.method1174(World.World_worlds[var9], var8, var2, var3, var4, var5) <= 0) { + World var10 = World.World_worlds[var9]; + World.World_worlds[var9] = World.World_worlds[var7]; + World.World_worlds[var7++] = var10; + } + } + + World.World_worlds[var1] = World.World_worlds[var7]; + World.World_worlds[var7] = var8; + doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); + doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); + } + + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1561238800" + ) + static int method289(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; + return 1; + } else { + int var12; + if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12 == 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12 == 2 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12 == 5 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var12 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12 == 1 ? 1 : 0; + return 1; + } else { + boolean var13; + if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { + var13 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (TileItem.grandExchangeEvents != null) { + TileItem.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_nameComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { + var13 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (TileItem.grandExchangeEvents != null) { + TileItem.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_priceComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { + Interpreter.Interpreter_intStackSize -= 2; + var13 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] == 1; + boolean var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + if (TileItem.grandExchangeEvents != null) { + Client.GrandExchangeEvents_worldComparator.filterWorlds = var4; + TileItem.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { + var13 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (TileItem.grandExchangeEvents != null) { + TileItem.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_ageComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { + var13 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (TileItem.grandExchangeEvents != null) { + TileItem.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_quantityComparator, var13); + } + + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = TileItem.grandExchangeEvents == null ? 0 : TileItem.grandExchangeEvents.events.size(); + return 1; + } else { + GrandExchangeEvent var11; + if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.world; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.getOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.getPreviousOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); + long var5 = class30.method566() - class81.field1135 - var11.age; + int var7 = (int)(var5 / 3600000L); + int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L); + int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L); + String var10 = var7 + ":" + var8 / 10 + var8 % 10 + ":" + var9 / 10 + var9 % 10; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = (GrandExchangeEvent)TileItem.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.id; + return 1; + } else { + return 2; + } + } + } + } + } + + @ObfuscatedName("ii") + @ObfuscatedSignature( + signature = "(IIIIIIIB)V", + garbageValue = "35" + ) + @Export("updateRootInterface") + static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (WorldMapData_0.loadInterface(var0)) { + MusicPatchNode.updateInterface(UserComparator5.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); + } + } +} diff --git a/runescape-client/src/main/java/AbstractWorldMapIcon.java b/runescape-client/src/main/java/AbstractWorldMapIcon.java index 7311729de1..9649663dd6 100644 --- a/runescape-client/src/main/java/AbstractWorldMapIcon.java +++ b/runescape-client/src/main/java/AbstractWorldMapIcon.java @@ -1,261 +1,244 @@ -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.ScriptOpcodes; - -@ObfuscatedName("ap") -@Implements("AbstractWorldMapIcon") -public abstract class AbstractWorldMapIcon { - @ObfuscatedName("la") - @ObfuscatedSignature( - signature = "Lhy;" - ) - static Widget field292; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lhj;" - ) - @Export("coord2") - public final Coord coord2; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lhj;" - ) - @Export("coord1") - public final Coord coord1; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 870912939 - ) - @Export("screenX") - int screenX; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1786217753 - ) - @Export("screenY") - int screenY; - - @ObfuscatedSignature( - signature = "(Lhj;Lhj;)V" - ) - AbstractWorldMapIcon(Coord var1, Coord var2) { - this.coord1 = var1; - this.coord2 = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "861849893" - ) - @Export("getElement") - public abstract int getElement(); - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Lao;", - garbageValue = "1066707711" - ) - @Export("getLabel") - abstract WorldMapLabel getLabel(); - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1386026878" - ) - @Export("getSubWidth") - abstract int getSubWidth(); - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "174908718" - ) - @Export("getSubHeight") - abstract int getSubHeight(); - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(IIB)Z", - garbageValue = "1" - ) - @Export("fitsScreen") - boolean fitsScreen(int var1, int var2) { - if (this.elementFitsScreen(var1, var2)) { - return true; - } else { - return this.labelFitsScreen(var1, var2); - } - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1217113364" - ) - @Export("hasValidElement") - boolean hasValidElement() { - return this.getElement() >= 0; - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "682818721" - ) - @Export("elementFitsScreen") - boolean elementFitsScreen(int var1, int var2) { - if (!this.hasValidElement()) { - return false; - } else { - WorldMapElement var3 = WorldMapSection1.WorldMapElement_get(this.getElement()); - int var4 = this.getSubWidth(); - int var5 = this.getSubHeight(); - switch(var3.horizontalAlignment.value) { - case 0: - if (var1 < this.screenX || var1 >= var4 + this.screenX) { - return false; - } - break; - case 1: - if (var1 >= this.screenX - var4 / 2 && var1 <= var4 / 2 + this.screenX) { - break; - } - - return false; - case 2: - if (var1 <= this.screenX - var4 || var1 > this.screenX) { - return false; - } - } - - switch(var3.verticalAlignment.value) { - case 0: - if (var2 < this.screenY || var2 >= var5 + this.screenY) { - return false; - } - break; - case 1: - if (var2 <= this.screenY - var5 || var2 > this.screenY) { - return false; - } - break; - case 2: - if (var2 < this.screenY - var5 / 2 || var2 > var5 / 2 + this.screenY) { - return false; - } - } - - return true; - } - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(IIS)Z", - garbageValue = "3172" - ) - @Export("labelFitsScreen") - boolean labelFitsScreen(int var1, int var2) { - WorldMapLabel var3 = this.getLabel(); - if (var3 == null) { - return false; - } else if (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX) { - return var2 >= this.screenY && var2 <= this.screenY + var3.height; - } else { - return false; - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "6" - ) - static int method587() { - return 11; - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "131093374" - ) - static int method576(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = WorldMapElement.method4390(class60.getWidgetClickMask(var3)); - return 1; - } else if (var0 != ScriptOpcodes.CC_GETOP) { - if (var0 == ScriptOpcodes.CC_GETOPBASE) { - if (var3.dataText == null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.dataText; - } - - return 1; - } else { - return 2; - } - } else { - int var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - --var4; - if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.actions[var4]; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } - } - - @ObfuscatedName("he") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1120874637" - ) - static final void method572(int var0) { - if (var0 >= 0) { - int var1 = Client.menuArguments1[var0]; - int var2 = Client.menuArguments2[var0]; - int var3 = Client.menuOpcodes[var0]; - int var4 = Client.menuIdentifiers[var0]; - String var5 = Client.menuActions[var0]; - String var6 = Client.menuTargets[var0]; - EnumDefinition.menuAction(var1, var2, var3, var4, var5, var6, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - } - - @ObfuscatedName("ii") - @ObfuscatedSignature( - signature = "(IIIIIIIIB)V", - garbageValue = "-109" - ) - @Export("drawWidgets") - static final void drawWidgets(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (TaskHandler.loadInterface(var0)) { - SoundCache.field1410 = null; - MusicPatchPcmStream.drawInterface(class289.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6, var7); - if (SoundCache.field1410 != null) { - MusicPatchPcmStream.drawInterface(SoundCache.field1410, -1412584499, var1, var2, var3, var4, WorldMapSection0.field138, GrandExchangeOfferNameComparator.field79, var7); - SoundCache.field1410 = null; - } - - } else { - if (var7 != -1) { - Client.field827[var7] = true; - } else { - for (int var8 = 0; var8 < 100; ++var8) { - Client.field827[var8] = true; - } - } - - } - } -} +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("as") +@Implements("AbstractWorldMapIcon") +public abstract class AbstractWorldMapIcon { + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lkl;" + ) + @Export("NetCache_reference") + static Buffer NetCache_reference; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhb;" + ) + @Export("coord2") + public final Coord coord2; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lhb;" + ) + @Export("coord1") + public final Coord coord1; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -744946711 + ) + @Export("screenX") + int screenX; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1215104535 + ) + @Export("screenY") + int screenY; + + @ObfuscatedSignature( + signature = "(Lhb;Lhb;)V" + ) + AbstractWorldMapIcon(Coord var1, Coord var2) { + this.coord1 = var1; + this.coord2 = var2; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "16" + ) + @Export("getElement") + public abstract int getElement(); + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Law;", + garbageValue = "13348956" + ) + @Export("getLabel") + abstract WorldMapLabel getLabel(); + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-175699296" + ) + @Export("getSubWidth") + abstract int getSubWidth(); + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "806304417" + ) + @Export("getSubHeight") + abstract int getSubHeight(); + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "1521252994" + ) + @Export("fitsScreen") + boolean fitsScreen(int var1, int var2) { + if (this.elementFitsScreen(var1, var2)) { + return true; + } else { + return this.labelFitsScreen(var1, var2); + } + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "36" + ) + @Export("hasValidElement") + boolean hasValidElement() { + return this.getElement() >= 0; + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-2112119378" + ) + @Export("elementFitsScreen") + boolean elementFitsScreen(int var1, int var2) { + if (!this.hasValidElement()) { + return false; + } else { + WorldMapElement var3 = Decimator.WorldMapElement_get(this.getElement()); + int var4 = this.getSubWidth(); + int var5 = this.getSubHeight(); + switch(var3.horizontalAlignment.value) { + case 0: + if (var1 >= this.screenX && var1 < var4 + this.screenX) { + break; + } + + return false; + case 1: + if (var1 > this.screenX - var4 && var1 <= this.screenX) { + break; + } + + return false; + case 2: + if (var1 < this.screenX - var4 / 2 || var1 > var4 / 2 + this.screenX) { + return false; + } + } + + switch(var3.verticalAlignment.value) { + case 0: + if (var2 <= this.screenY - var5 || var2 > this.screenY) { + return false; + } + break; + case 1: + if (var2 < this.screenY || var2 >= var5 + this.screenY) { + return false; + } + break; + case 2: + if (var2 < this.screenY - var5 / 2 || var2 > var5 / 2 + this.screenY) { + return false; + } + } + + return true; + } + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(IIB)Z", + garbageValue = "122" + ) + @Export("labelFitsScreen") + boolean labelFitsScreen(int var1, int var2) { + WorldMapLabel var3 = this.getLabel(); + if (var3 == null) { + return false; + } else if (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX) { + return var2 >= this.screenY && var2 <= this.screenY + var3.height; + } else { + return false; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "([BILjava/lang/CharSequence;I)I", + garbageValue = "1746697865" + ) + public static int method640(byte[] var0, int var1, CharSequence var2) { + int var3 = var2.length(); + int var4 = var1; + + for (int var5 = 0; var5 < var3; ++var5) { + char var6 = var2.charAt(var5); + if (var6 <= 127) { + var0[var4++] = (byte)var6; + } else if (var6 <= 2047) { + var0[var4++] = (byte)(192 | var6 >> 6); + var0[var4++] = (byte)(128 | var6 & '?'); + } else { + var0[var4++] = (byte)(224 | var6 >> '\f'); + var0[var4++] = (byte)(128 | var6 >> 6 & 63); + var0[var4++] = (byte)(128 | var6 & '?'); + } + } + + return var4 - var1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)[Llf;", + garbageValue = "-1750401163" + ) + static Sprite[] method642() { + Sprite[] var0 = new Sprite[class325.SpriteBuffer_spriteCount]; + + for (int var1 = 0; var1 < class325.SpriteBuffer_spriteCount; ++var1) { + Sprite var2 = var0[var1] = new Sprite(); + var2.width = class325.SpriteBuffer_spriteWidth; + var2.height = Frames.SpriteBuffer_spriteHeight; + var2.xOffset = class325.SpriteBuffer_xOffsets[var1]; + var2.yOffset = MusicPatchPcmStream.SpriteBuffer_yOffsets[var1]; + var2.subWidth = class325.SpriteBuffer_spriteWidths[var1]; + var2.subHeight = RunException.SpriteBuffer_spriteHeights[var1]; + int var3 = var2.subHeight * var2.subWidth; + byte[] var4 = PacketBufferNode.SpriteBuffer_pixels[var1]; + var2.pixels = new int[var3]; + + for (int var5 = 0; var5 < var3; ++var5) { + var2.pixels[var5] = class325.SpriteBuffer_spritePalette[var4[var5] & 255]; + } + } + + class325.SpriteBuffer_xOffsets = null; + MusicPatchPcmStream.SpriteBuffer_yOffsets = null; + class325.SpriteBuffer_spriteWidths = null; + RunException.SpriteBuffer_spriteHeights = null; + class325.SpriteBuffer_spritePalette = null; + PacketBufferNode.SpriteBuffer_pixels = null; + return var0; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(CI)Z", + garbageValue = "431385014" + ) + @Export("isDigit") + public static boolean isDigit(char var0) { + return var0 >= '0' && var0 <= '9'; + } +} diff --git a/runescape-client/src/main/java/AccessFile.java b/runescape-client/src/main/java/AccessFile.java index 96ab09718e..2d0c1e2cc7 100644 --- a/runescape-client/src/main/java/AccessFile.java +++ b/runescape-client/src/main/java/AccessFile.java @@ -1,147 +1,155 @@ -import java.io.EOFException; -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.io.SyncFailedException; -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("mr") -@Implements("AccessFile") -public final class AccessFile { - @ObfuscatedName("c") - @Export("file") - RandomAccessFile file; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = -7378543884552627951L - ) - @Export("maxSize") - final long maxSize; - @ObfuscatedName("t") - @ObfuscatedGetter( - longValue = 8243536028903450769L - ) - @Export("offset") - long offset; - - public AccessFile(File var1, String var2, long var3) throws IOException { - if (-1L == var3) { - var3 = Long.MAX_VALUE; - } - - if (var1.length() > var3) { - var1.delete(); - } - - this.file = new RandomAccessFile(var1, var2); - this.maxSize = var3; - this.offset = 0L; - int var5 = this.file.read(); - if (var5 != -1 && !var2.equals("r")) { - this.file.seek(0L); - this.file.write(var5); - } - - this.file.seek(0L); - } - - @ObfuscatedName("c") - @Export("seek") - final void seek(long var1) throws IOException { - this.file.seek(var1); - this.offset = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "1256704695" - ) - @Export("write") - public final void write(byte[] var1, int var2, int var3) throws IOException { - if (this.offset + (long)var3 > this.maxSize) { - this.file.seek(this.maxSize); - this.file.write(1); - throw new EOFException(); - } else { - this.file.write(var1, var2, var3); - this.offset += (long)var3; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-69" - ) - @Export("close") - public final void close() throws IOException { - this.closeSync(false); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "2108341373" - ) - @Export("closeSync") - public final void closeSync(boolean var1) throws IOException { - if (this.file != null) { - if (var1) { - try { - this.file.getFD().sync(); - } catch (SyncFailedException var3) { - } - } - - this.file.close(); - this.file = null; - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(S)J", - garbageValue = "-3662" - ) - @Export("length") - public final long length() throws IOException { - return this.file.length(); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "-2055107083" - ) - @Export("read") - public final int read(byte[] var1, int var2, int var3) throws IOException { - int var4 = this.file.read(var1, var2, var3); - if (var4 > 0) { - this.offset += (long)var4; - } - - return var4; - } - - protected void finalize() throws Throwable { - if (this.file != null) { - System.out.println(""); - this.close(); - } - - } - - protected void aaj() throws Throwable { - if (this.file != null) { - System.out.println(""); - this.close(); - } - - } -} +import java.io.EOFException; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.io.SyncFailedException; +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("mh") +@Implements("AccessFile") +public final class AccessFile { + @ObfuscatedName("z") + @Export("file") + RandomAccessFile file; + @ObfuscatedName("n") + @ObfuscatedGetter( + longValue = 4557235660739599375L + ) + @Export("maxSize") + final long maxSize; + @ObfuscatedName("v") + @ObfuscatedGetter( + longValue = 2697348286360897637L + ) + @Export("offset") + long offset; + + public AccessFile(File var1, String var2, long var3) throws IOException { + if (-1L == var3) { + var3 = Long.MAX_VALUE; + } + + if (var1.length() > var3) { + var1.delete(); + } + + this.file = new RandomAccessFile(var1, var2); + this.maxSize = var3; + this.offset = 0L; + int var5 = this.file.read(); + if (var5 != -1 && !var2.equals("r")) { + this.file.seek(0L); + this.file.write(var5); + } + + this.file.seek(0L); + } + + @ObfuscatedName("z") + @Export("seek") + final void seek(long var1) throws IOException { + this.file.seek(var1); + this.offset = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "988503907" + ) + @Export("write") + public final void write(byte[] var1, int var2, int var3) throws IOException { + if ((long)var3 + this.offset > this.maxSize) { + this.file.seek(this.maxSize); + this.file.write(1); + throw new EOFException(); + } else { + this.file.write(var1, var2, var3); + this.offset += (long)var3; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "546615303" + ) + @Export("close") + public final void close() throws IOException { + this.closeSync(false); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "1331216421" + ) + @Export("closeSync") + public final void closeSync(boolean var1) throws IOException { + if (this.file != null) { + if (var1) { + try { + this.file.getFD().sync(); + } catch (SyncFailedException var3) { + } + } + + this.file.close(); + this.file = null; + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)J", + garbageValue = "773958711" + ) + @Export("length") + public final long length() throws IOException { + return this.file.length(); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "-26512267" + ) + @Export("read") + public final int read(byte[] var1, int var2, int var3) throws IOException { + int var4 = this.file.read(var1, var2, var3); + if (var4 > 0) { + this.offset += (long)var4; + } + + return var4; + } + + protected void finalize() throws Throwable { + if (this.file != null) { + System.out.println(""); + this.close(); + } + + } + + protected void aav() throws Throwable { + if (this.file != null) { + System.out.println(""); + this.close(); + } + + } + + protected void aao() throws Throwable { + if (this.file != null) { + System.out.println(""); + this.close(); + } + + } +} diff --git a/runescape-client/src/main/java/Actor.java b/runescape-client/src/main/java/Actor.java index 71a9f0bd7a..cc2ce10bb3 100644 --- a/runescape-client/src/main/java/Actor.java +++ b/runescape-client/src/main/java/Actor.java @@ -1,739 +1,571 @@ -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("be") -@Implements("Actor") -public abstract class Actor extends Entity { - @ObfuscatedName("sy") - @ObfuscatedSignature( - signature = "Lbz;" - ) - @Export("clientPreferences") - static ClientPreferences clientPreferences; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -78439701 - ) - @Export("x") - int x; - @ObfuscatedName("an") - @Export("isWalking") - boolean isWalking; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 2024233319 - ) - @Export("y") - int y; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = -1344698339 - ) - @Export("rotation") - int rotation; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = 326208199 - ) - @Export("size") - int size; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = 1320061547 - ) - @Export("playerCycle") - int playerCycle; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 1628814929 - ) - @Export("readySequence") - int readySequence; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -1587131503 - ) - @Export("turnLeftSequence") - int turnLeftSequence; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = 38036755 - ) - @Export("turnRightSequence") - int turnRightSequence; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = 195654645 - ) - @Export("walkSequence") - int walkSequence; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 654548911 - ) - @Export("walkBackSequence") - int walkBackSequence; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 2066786939 - ) - @Export("walkLeftSequence") - int walkLeftSequence; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 1924266197 - ) - @Export("walkRightSequence") - int walkRightSequence; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = 146870157 - ) - @Export("runSequence") - int runSequence; - @ObfuscatedName("aa") - @Export("overheadText") - String overheadText; - @ObfuscatedName("aq") - @Export("isAutoChatting") - boolean isAutoChatting; - @ObfuscatedName("ar") - boolean field956; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -1539638005 - ) - @Export("overheadTextCyclesRemaining") - int overheadTextCyclesRemaining; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = 291511261 - ) - @Export("overheadTextColor") - int overheadTextColor; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = -2008458145 - ) - @Export("overheadTextEffect") - int overheadTextEffect; - @ObfuscatedName("aw") - @Export("hitSplatCount") - byte hitSplatCount; - @ObfuscatedName("au") - @Export("hitSplatTypes") - int[] hitSplatTypes; - @ObfuscatedName("bg") - @Export("hitSplatValues") - int[] hitSplatValues; - @ObfuscatedName("bn") - @Export("hitSplatCycles") - int[] hitSplatCycles; - @ObfuscatedName("bk") - @Export("hitSplatTypes2") - int[] hitSplatTypes2; - @ObfuscatedName("bp") - @Export("hitSplatValues2") - int[] hitSplatValues2; - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "Ljd;" - ) - @Export("healthBars") - IterableNodeDeque healthBars; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = 366180583 - ) - @Export("targetIndex") - int targetIndex; - @ObfuscatedName("bv") - @Export("false0") - boolean false0; - @ObfuscatedName("bf") - @ObfuscatedGetter( - intValue = 1358121837 - ) - int field945; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = 566824475 - ) - @Export("movementSequence") - int movementSequence; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = 1646709317 - ) - @Export("movementFrame") - int movementFrame; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = -2010447121 - ) - @Export("movementFrameCycle") - int movementFrameCycle; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = -836151055 - ) - @Export("sequence") - int sequence; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = -1593302173 - ) - @Export("sequenceFrame") - int sequenceFrame; - @ObfuscatedName("bd") - @ObfuscatedGetter( - intValue = -1376532773 - ) - @Export("sequenceFrameCycle") - int sequenceFrameCycle; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = -63500945 - ) - @Export("sequenceDelay") - int sequenceDelay; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = -303610771 - ) - int field924; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = -244355827 - ) - @Export("spotAnimation") - int spotAnimation; - @ObfuscatedName("be") - @ObfuscatedGetter( - intValue = -1682160085 - ) - @Export("spotAnimationFrame") - int spotAnimationFrame; - @ObfuscatedName("bl") - @ObfuscatedGetter( - intValue = 377223135 - ) - @Export("spotAnimationFrameCycle") - int spotAnimationFrameCycle; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = 249618635 - ) - int field957; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = -324063411 - ) - @Export("heightOffset") - int heightOffset; - @ObfuscatedName("bz") - @ObfuscatedGetter( - intValue = -1424150703 - ) - int field959; - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = 1789167897 - ) - int field960; - @ObfuscatedName("br") - @ObfuscatedGetter( - intValue = 1809872347 - ) - int field961; - @ObfuscatedName("bx") - @ObfuscatedGetter( - intValue = -196012985 - ) - int field962; - @ObfuscatedName("bq") - @ObfuscatedGetter( - intValue = -854056355 - ) - int field963; - @ObfuscatedName("cb") - @ObfuscatedGetter( - intValue = 1429248265 - ) - int field964; - @ObfuscatedName("ct") - @ObfuscatedGetter( - intValue = 152429931 - ) - int field965; - @ObfuscatedName("ch") - @ObfuscatedGetter( - intValue = 766274575 - ) - @Export("npcCycle") - int npcCycle; - @ObfuscatedName("cc") - @ObfuscatedGetter( - intValue = -1552779633 - ) - @Export("defaultHeight") - int defaultHeight; - @ObfuscatedName("cv") - @ObfuscatedGetter( - intValue = -565463509 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("cr") - @ObfuscatedGetter( - intValue = 715669973 - ) - int field976; - @ObfuscatedName("cl") - @ObfuscatedGetter( - intValue = -1597126945 - ) - int field953; - @ObfuscatedName("ca") - @ObfuscatedGetter( - intValue = 12984639 - ) - @Export("pathLength") - int pathLength; - @ObfuscatedName("ck") - @Export("pathX") - int[] pathX; - @ObfuscatedName("cm") - @Export("pathY") - int[] pathY; - @ObfuscatedName("ce") - @Export("pathTraversed") - byte[] pathTraversed; - @ObfuscatedName("cn") - @ObfuscatedGetter( - intValue = 1459296501 - ) - int field975; - @ObfuscatedName("cj") - @ObfuscatedGetter( - intValue = 1855180457 - ) - int field969; - - Actor() { - this.isWalking = false; - this.size = 1; - this.readySequence = -1; - this.turnLeftSequence = -1; - this.turnRightSequence = -1; - this.walkSequence = -1; - this.walkBackSequence = -1; - this.walkLeftSequence = -1; - this.walkRightSequence = -1; - this.runSequence = -1; - this.overheadText = null; - this.field956 = false; - this.overheadTextCyclesRemaining = 100; - this.overheadTextColor = 0; - this.overheadTextEffect = 0; - this.hitSplatCount = 0; - this.hitSplatTypes = new int[4]; - this.hitSplatValues = new int[4]; - this.hitSplatCycles = new int[4]; - this.hitSplatTypes2 = new int[4]; - this.hitSplatValues2 = new int[4]; - this.healthBars = new IterableNodeDeque(); - this.targetIndex = -1; - this.false0 = false; - this.field945 = -1; - this.movementSequence = -1; - this.movementFrame = 0; - this.movementFrameCycle = 0; - this.sequence = -1; - this.sequenceFrame = 0; - this.sequenceFrameCycle = 0; - this.sequenceDelay = 0; - this.field924 = 0; - this.spotAnimation = -1; - this.spotAnimationFrame = 0; - this.spotAnimationFrameCycle = 0; - this.npcCycle = 0; - this.defaultHeight = 200; - this.field976 = 0; - this.field953 = 32; - this.pathLength = 0; - this.pathX = new int[10]; - this.pathY = new int[10]; - this.pathTraversed = new byte[10]; - this.field975 = 0; - this.field969 = 0; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "93" - ) - @Export("isVisible") - boolean isVisible() { - return false; - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "845208492" - ) - final void method1699() { - this.pathLength = 0; - this.field969 = 0; - } - - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "(IIIIIII)V", - garbageValue = "-2027410563" - ) - @Export("addHitSplat") - final void addHitSplat(int var1, int var2, int var3, int var4, int var5, int var6) { - boolean var7 = true; - boolean var8 = true; - - int var9; - for (var9 = 0; var9 < 4; ++var9) { - if (this.hitSplatCycles[var9] > var5) { - var7 = false; - } else { - var8 = false; - } - } - - var9 = -1; - int var10 = -1; - int var11 = 0; - if (var1 >= 0) { - HitSplatDefinition var12 = Interpreter.HitSplatDefinition_get(var1); - var10 = var12.field3315; - var11 = var12.field3306; - } - - int var14; - if (var8) { - if (var10 == -1) { - return; - } - - var9 = 0; - var14 = 0; - if (var10 == 0) { - var14 = this.hitSplatCycles[0]; - } else if (var10 == 1) { - var14 = this.hitSplatValues[0]; - } - - for (int var13 = 1; var13 < 4; ++var13) { - if (var10 == 0) { - if (this.hitSplatCycles[var13] < var14) { - var9 = var13; - var14 = this.hitSplatCycles[var13]; - } - } else if (var10 == 1 && this.hitSplatValues[var13] < var14) { - var9 = var13; - var14 = this.hitSplatValues[var13]; - } - } - - if (var10 == 1 && var14 >= var2) { - return; - } - } else { - if (var7) { - this.hitSplatCount = 0; - } - - for (var14 = 0; var14 < 4; ++var14) { - byte var15 = this.hitSplatCount; - this.hitSplatCount = (byte)((this.hitSplatCount + 1) % 4); - if (this.hitSplatCycles[var15] <= var5) { - var9 = var15; - break; - } - } - } - - if (var9 >= 0) { - this.hitSplatTypes[var9] = var1; - this.hitSplatValues[var9] = var2; - this.hitSplatTypes2[var9] = var3; - this.hitSplatValues2[var9] = var4; - this.hitSplatCycles[var9] = var5 + var11 + var6; - } - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "(IIIIIIS)V", - garbageValue = "199" - ) - @Export("addHealthBar") - final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) { - HealthBarDefinition var8 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); - HealthBarDefinition var7; - if (var8 != null) { - var7 = var8; - } else { - byte[] var9 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); - var8 = new HealthBarDefinition(); - if (var9 != null) { - var8.decode(new Buffer(var9)); - } - - HealthBarDefinition.HealthBarDefinition_cached.put(var8, (long)var1); - var7 = var8; - } - - var8 = var7; - HealthBar var14 = null; - HealthBar var10 = null; - int var11 = var7.int2; - int var12 = 0; - - HealthBar var13; - for (var13 = (HealthBar)this.healthBars.last(); var13 != null; var13 = (HealthBar)this.healthBars.previous()) { - ++var12; - if (var13.definition.field3253 == var8.field3253) { - var13.put(var2 + var4, var5, var6, var3); - return; - } - - if (var13.definition.int1 <= var8.int1) { - var14 = var13; - } - - if (var13.definition.int2 > var11) { - var10 = var13; - var11 = var13.definition.int2; - } - } - - if (var10 != null || var12 < 4) { - var13 = new HealthBar(var8); - if (var14 == null) { - this.healthBars.addLast(var13); - } else { - IterableNodeDeque.IterableNodeDeque_addBefore(var13, var14); - } - - var13.put(var2 + var4, var5, var6, var3); - if (var12 >= 4) { - var10.remove(); - } - - } - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "99" - ) - @Export("removeHealthBar") - final void removeHealthBar(int var1) { - HealthBarDefinition var3 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); - HealthBarDefinition var2; - if (var3 != null) { - var2 = var3; - } else { - byte[] var4 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); - var3 = new HealthBarDefinition(); - if (var4 != null) { - var3.decode(new Buffer(var4)); - } - - HealthBarDefinition.HealthBarDefinition_cached.put(var3, (long)var1); - var2 = var3; - } - - var3 = var2; - - for (HealthBar var5 = (HealthBar)this.healthBars.last(); var5 != null; var5 = (HealthBar)this.healthBars.previous()) { - if (var3 == var5.definition) { - var5.remove(); - return; - } - } - - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "-599596211" - ) - @Export("isDigit") - public static boolean isDigit(char var0) { - return var0 >= '0' && var0 <= '9'; - } - - @ObfuscatedName("gk") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "1542615577" - ) - static final void method1704(int var0, int var1, int var2, int var3) { - Client.overheadTextCount = 0; - boolean var4 = false; - int var5 = -1; - int var6 = -1; - int var7 = Players.Players_count; - int[] var8 = Players.Players_indices; - - int var9; - for (var9 = 0; var9 < var7 + Client.npcCount; ++var9) { - Object var10; - if (var9 < var7) { - var10 = Client.players[var8[var9]]; - if (var8[var9] == Client.combatTargetPlayerIndex) { - var4 = true; - var5 = var9; - continue; - } - - if (var10 == Varps.localPlayer) { - var6 = var9; - continue; - } - } else { - var10 = Client.npcs[Client.npcIndices[var9 - var7]]; - } - - VerticalAlignment.drawActor2d((Actor)var10, var9, var0, var1, var2, var3); - } - - if (Client.renderSelf && var6 != -1) { - VerticalAlignment.drawActor2d(Varps.localPlayer, var6, var0, var1, var2, var3); - } - - if (var4) { - VerticalAlignment.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var5, var0, var1, var2, var3); - } - - for (var9 = 0; var9 < Client.overheadTextCount; ++var9) { - int var19 = Client.overheadTextXs[var9]; - int var11 = Client.overheadTextYs[var9]; - int var12 = Client.overheadTextXOffsets[var9]; - int var13 = Client.overheadTextAscents[var9]; - boolean var14 = true; - - while (var14) { - var14 = false; - - for (int var15 = 0; var15 < var9; ++var15) { - if (var11 + 2 > Client.overheadTextYs[var15] - Client.overheadTextAscents[var15] && var11 - var13 < Client.overheadTextYs[var15] + 2 && var19 - var12 < Client.overheadTextXs[var15] + Client.overheadTextXOffsets[var15] && var12 + var19 > Client.overheadTextXs[var15] - Client.overheadTextXOffsets[var15] && Client.overheadTextYs[var15] - Client.overheadTextAscents[var15] < var11) { - var11 = Client.overheadTextYs[var15] - Client.overheadTextAscents[var15]; - var14 = true; - } - } - } - - Client.viewportTempX = Client.overheadTextXs[var9]; - Client.viewportTempY = Client.overheadTextYs[var9] = var11; - String var20 = Client.overheadText[var9]; - if (Client.chatEffects == 0) { - int var16 = 16776960; - if (Client.overheadTextColors[var9] < 6) { - var16 = Client.field838[Client.overheadTextColors[var9]]; - } - - if (Client.overheadTextColors[var9] == 6) { - var16 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; - } - - if (Client.overheadTextColors[var9] == 7) { - var16 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; - } - - if (Client.overheadTextColors[var9] == 8) { - var16 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; - } - - int var17; - if (Client.overheadTextColors[var9] == 9) { - var17 = 150 - Client.overheadTextCyclesRemaining[var9]; - if (var17 < 50) { - var16 = var17 * 1280 + 16711680; - } else if (var17 < 100) { - var16 = 16776960 - (var17 - 50) * 327680; - } else if (var17 < 150) { - var16 = (var17 - 100) * 5 + 65280; - } - } - - if (Client.overheadTextColors[var9] == 10) { - var17 = 150 - Client.overheadTextCyclesRemaining[var9]; - if (var17 < 50) { - var16 = var17 * 5 + 16711680; - } else if (var17 < 100) { - var16 = 16711935 - (var17 - 50) * 327680; - } else if (var17 < 150) { - var16 = (var17 - 100) * 327680 + 255 - (var17 - 100) * 5; - } - } - - if (Client.overheadTextColors[var9] == 11) { - var17 = 150 - Client.overheadTextCyclesRemaining[var9]; - if (var17 < 50) { - var16 = 16777215 - var17 * 327685; - } else if (var17 < 100) { - var16 = (var17 - 50) * 327685 + 65280; - } else if (var17 < 150) { - var16 = 16777215 - (var17 - 100) * 327680; - } - } - - if (Client.overheadTextEffects[var9] == 0) { - HealthBar.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0); - } - - if (Client.overheadTextEffects[var9] == 1) { - HealthBar.fontBold12.drawCenteredWave(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var9] == 2) { - HealthBar.fontBold12.drawCenteredWave2(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var9] == 3) { - HealthBar.fontBold12.drawCenteredShake(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var9]); - } - - if (Client.overheadTextEffects[var9] == 4) { - var17 = (150 - Client.overheadTextCyclesRemaining[var9]) * (HealthBar.fontBold12.stringWidth(var20) + 100) / 150; - Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); - HealthBar.fontBold12.draw(var20, var0 + Client.viewportTempX + 50 - var17, Client.viewportTempY + var1, var16, 0); - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - } - - if (Client.overheadTextEffects[var9] == 5) { - var17 = 150 - Client.overheadTextCyclesRemaining[var9]; - int var18 = 0; - if (var17 < 25) { - var18 = var17 - 25; - } else if (var17 > 125) { - var18 = var17 - 125; - } - - Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - HealthBar.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); - HealthBar.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, var18 + Client.viewportTempY + var1, var16, 0); - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - } - } else { - HealthBar.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); - } - } - - } -} +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("by") +@Implements("Actor") +public abstract class Actor extends Entity { + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -1124819045 + ) + @Export("x") + int x; + @ObfuscatedName("ap") + @Export("y") + int y; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -1546716831 + ) + @Export("rotation") + int rotation; + @ObfuscatedName("ab") + @Export("isWalking") + boolean isWalking; + @ObfuscatedName("ax") + int field932; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -334562759 + ) + @Export("playerCycle") + int playerCycle; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 1344678569 + ) + @Export("readySequence") + int readySequence; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 1716804711 + ) + @Export("turnLeftSequence") + int turnLeftSequence; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 1564906087 + ) + @Export("turnRightSequence") + int turnRightSequence; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 1786260681 + ) + @Export("walkSequence") + int walkSequence; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = 864493635 + ) + @Export("walkBackSequence") + int walkBackSequence; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = 632813703 + ) + @Export("walkLeftSequence") + int walkLeftSequence; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -67215047 + ) + @Export("walkRightSequence") + int walkRightSequence; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 1501032191 + ) + @Export("runSequence") + int runSequence; + @ObfuscatedName("ae") + @Export("overheadText") + String overheadText; + @ObfuscatedName("av") + @Export("isAutoChatting") + boolean isAutoChatting; + @ObfuscatedName("ah") + boolean field944; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -1435944093 + ) + @Export("overheadTextCyclesRemaining") + int overheadTextCyclesRemaining; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 402893763 + ) + @Export("overheadTextColor") + int overheadTextColor; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = 2008647289 + ) + @Export("overheadTextEffect") + int overheadTextEffect; + @ObfuscatedName("af") + @Export("hitSplatCount") + byte hitSplatCount; + @ObfuscatedName("at") + @Export("hitSplatTypes") + int[] hitSplatTypes; + @ObfuscatedName("bx") + @Export("hitSplatValues") + int[] hitSplatValues; + @ObfuscatedName("bh") + @Export("hitSplatCycles") + int[] hitSplatCycles; + @ObfuscatedName("bd") + @Export("hitSplatTypes2") + int[] hitSplatTypes2; + @ObfuscatedName("bm") + @Export("hitSplatValues2") + int[] hitSplatValues2; + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "Ljs;" + ) + @Export("healthBars") + IterableNodeDeque healthBars; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = -173770189 + ) + @Export("targetIndex") + int targetIndex; + @ObfuscatedName("bs") + @Export("false0") + boolean false0; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = -708767615 + ) + int field957; + @ObfuscatedName("bc") + @ObfuscatedGetter( + intValue = 592854061 + ) + @Export("movementSequence") + int movementSequence; + @ObfuscatedName("bk") + @ObfuscatedGetter( + intValue = 1334696243 + ) + @Export("movementFrame") + int movementFrame; + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = -1979514767 + ) + @Export("movementFrameCycle") + int movementFrameCycle; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = -1879648645 + ) + @Export("sequence") + int sequence; + @ObfuscatedName("be") + @ObfuscatedGetter( + intValue = -1726927213 + ) + @Export("sequenceFrame") + int sequenceFrame; + @ObfuscatedName("bu") + @ObfuscatedGetter( + intValue = 1584241957 + ) + @Export("sequenceFrameCycle") + int sequenceFrameCycle; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = 1536092043 + ) + @Export("sequenceDelay") + int sequenceDelay; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = -807055771 + ) + int field965; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = -759724979 + ) + @Export("spotAnimation") + int spotAnimation; + @ObfuscatedName("by") + @ObfuscatedGetter( + intValue = 1088352163 + ) + @Export("spotAnimationFrame") + int spotAnimationFrame; + @ObfuscatedName("bq") + @ObfuscatedGetter( + intValue = -340493791 + ) + @Export("spotAnimationFrameCycle") + int spotAnimationFrameCycle; + @ObfuscatedName("bo") + @ObfuscatedGetter( + intValue = 2083696993 + ) + int field969; + @ObfuscatedName("br") + @ObfuscatedGetter( + intValue = 2099588065 + ) + @Export("heightOffset") + int heightOffset; + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = 337038295 + ) + int field971; + @ObfuscatedName("bf") + @ObfuscatedGetter( + intValue = -1218021367 + ) + int field972; + @ObfuscatedName("bg") + @ObfuscatedGetter( + intValue = -1028826911 + ) + int field973; + @ObfuscatedName("bw") + @ObfuscatedGetter( + intValue = 682547279 + ) + int field974; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = 647023113 + ) + int field948; + @ObfuscatedName("cz") + @ObfuscatedGetter( + intValue = -521720929 + ) + int field976; + @ObfuscatedName("ck") + @ObfuscatedGetter( + intValue = 2050032535 + ) + int field977; + @ObfuscatedName("cv") + @ObfuscatedGetter( + intValue = 1347834439 + ) + @Export("npcCycle") + int npcCycle; + @ObfuscatedName("co") + @ObfuscatedGetter( + intValue = -1864995671 + ) + @Export("defaultHeight") + int defaultHeight; + @ObfuscatedName("cs") + @ObfuscatedGetter( + intValue = -459931913 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("cg") + @ObfuscatedGetter( + intValue = -1988821201 + ) + int field981; + @ObfuscatedName("cn") + @ObfuscatedGetter( + intValue = -1277282795 + ) + int field982; + @ObfuscatedName("cd") + @ObfuscatedGetter( + intValue = -948674291 + ) + @Export("pathLength") + int pathLength; + @ObfuscatedName("cy") + @Export("pathX") + int[] pathX; + @ObfuscatedName("cj") + @Export("pathY") + int[] pathY; + @ObfuscatedName("cb") + @Export("pathTraversed") + byte[] pathTraversed; + @ObfuscatedName("cr") + @ObfuscatedGetter( + intValue = 2121676837 + ) + int field949; + @ObfuscatedName("ct") + @ObfuscatedGetter( + intValue = -207338457 + ) + int field988; + + Actor() { + this.isWalking = false; + this.field932 = 772175475; + this.readySequence = -1; + this.turnLeftSequence = -1; + this.turnRightSequence = -1; + this.walkSequence = -1; + this.walkBackSequence = -1; + this.walkLeftSequence = -1; + this.walkRightSequence = -1; + this.runSequence = -1; + this.overheadText = null; + this.field944 = false; + this.overheadTextCyclesRemaining = 100; + this.overheadTextColor = 0; + this.overheadTextEffect = 0; + this.hitSplatCount = 0; + this.hitSplatTypes = new int[4]; + this.hitSplatValues = new int[4]; + this.hitSplatCycles = new int[4]; + this.hitSplatTypes2 = new int[4]; + this.hitSplatValues2 = new int[4]; + this.healthBars = new IterableNodeDeque(); + this.targetIndex = -1; + this.false0 = false; + this.field957 = -1; + this.movementSequence = -1; + this.movementFrame = 0; + this.movementFrameCycle = 0; + this.sequence = -1; + this.sequenceFrame = 0; + this.sequenceFrameCycle = 0; + this.sequenceDelay = 0; + this.field965 = 0; + this.spotAnimation = -1; + this.spotAnimationFrame = 0; + this.spotAnimationFrameCycle = 0; + this.npcCycle = 0; + this.defaultHeight = 200; + this.field981 = 0; + this.field982 = 32; + this.pathLength = 0; + this.pathX = new int[10]; + this.pathY = new int[10]; + this.pathTraversed = new byte[10]; + this.field949 = 0; + this.field988 = 0; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(S)Z", + garbageValue = "180" + ) + @Export("isVisible") + boolean isVisible() { + return false; + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "4" + ) + final void method1761() { + this.pathLength = 0; + this.field988 = 0; + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(IIIIIII)V", + garbageValue = "341931021" + ) + @Export("addHitSplat") + final void addHitSplat(int var1, int var2, int var3, int var4, int var5, int var6) { + boolean var7 = true; + boolean var8 = true; + + int var9; + for (var9 = 0; var9 < 4; ++var9) { + if (this.hitSplatCycles[var9] > var5) { + var7 = false; + } else { + var8 = false; + } + } + + var9 = -1; + int var10 = -1; + int var11 = 0; + if (var1 >= 0) { + HitSplatDefinition var13 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var1); + HitSplatDefinition var12; + if (var13 != null) { + var12 = var13; + } else { + byte[] var14 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var1); + var13 = new HitSplatDefinition(); + if (var14 != null) { + var13.decode(new Buffer(var14)); + } + + HitSplatDefinition.HitSplatDefinition_cached.put(var13, (long)var1); + var12 = var13; + } + + var10 = var12.field3327; + var11 = var12.field3318; + } + + int var15; + if (var8) { + if (var10 == -1) { + return; + } + + var9 = 0; + var15 = 0; + if (var10 == 0) { + var15 = this.hitSplatCycles[0]; + } else if (var10 == 1) { + var15 = this.hitSplatValues[0]; + } + + for (int var16 = 1; var16 < 4; ++var16) { + if (var10 == 0) { + if (this.hitSplatCycles[var16] < var15) { + var9 = var16; + var15 = this.hitSplatCycles[var16]; + } + } else if (var10 == 1 && this.hitSplatValues[var16] < var15) { + var9 = var16; + var15 = this.hitSplatValues[var16]; + } + } + + if (var10 == 1 && var15 >= var2) { + return; + } + } else { + if (var7) { + this.hitSplatCount = 0; + } + + for (var15 = 0; var15 < 4; ++var15) { + byte var17 = this.hitSplatCount; + this.hitSplatCount = (byte)((this.hitSplatCount + 1) % 4); + if (this.hitSplatCycles[var17] <= var5) { + var9 = var17; + break; + } + } + } + + if (var9 >= 0) { + this.hitSplatTypes[var9] = var1; + this.hitSplatValues[var9] = var2; + this.hitSplatTypes2[var9] = var3; + this.hitSplatValues2[var9] = var4; + this.hitSplatCycles[var9] = var5 + var11 + var6; + } + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(IIIIIIB)V", + garbageValue = "31" + ) + @Export("addHealthBar") + final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) { + HealthBarDefinition var8 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); + HealthBarDefinition var7; + if (var8 != null) { + var7 = var8; + } else { + byte[] var9 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); + var8 = new HealthBarDefinition(); + if (var9 != null) { + var8.decode(new Buffer(var9)); + } + + HealthBarDefinition.HealthBarDefinition_cached.put(var8, (long)var1); + var7 = var8; + } + + var8 = var7; + HealthBar var14 = null; + HealthBar var10 = null; + int var11 = var7.int2; + int var12 = 0; + + HealthBar var13; + for (var13 = (HealthBar)this.healthBars.last(); var13 != null; var13 = (HealthBar)this.healthBars.previous()) { + ++var12; + if (var13.definition.field3258 == var8.field3258) { + var13.put(var2 + var4, var5, var6, var3); + return; + } + + if (var13.definition.int1 <= var8.int1) { + var14 = var13; + } + + if (var13.definition.int2 > var11) { + var10 = var13; + var11 = var13.definition.int2; + } + } + + if (var10 != null || var12 < 4) { + var13 = new HealthBar(var8); + if (var14 == null) { + this.healthBars.addLast(var13); + } else { + IterableNodeDeque.IterableNodeDeque_addBefore(var13, var14); + } + + var13.put(var2 + var4, var5, var6, var3); + if (var12 >= 4) { + var10.remove(); + } + + } + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1895868902" + ) + @Export("removeHealthBar") + final void removeHealthBar(int var1) { + HealthBarDefinition var3 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); + HealthBarDefinition var2; + if (var3 != null) { + var2 = var3; + } else { + byte[] var4 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); + var3 = new HealthBarDefinition(); + if (var4 != null) { + var3.decode(new Buffer(var4)); + } + + HealthBarDefinition.HealthBarDefinition_cached.put(var3, (long)var1); + var2 = var3; + } + + var3 = var2; + + for (HealthBar var5 = (HealthBar)this.healthBars.last(); var5 != null; var5 = (HealthBar)this.healthBars.previous()) { + if (var3 == var5.definition) { + var5.remove(); + return; + } + } + + } +} diff --git a/runescape-client/src/main/java/Animation.java b/runescape-client/src/main/java/Animation.java index 8daba36e3f..2605650d07 100644 --- a/runescape-client/src/main/java/Animation.java +++ b/runescape-client/src/main/java/Animation.java @@ -1,132 +1,132 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dx") -@Implements("Animation") -public class Animation { - @ObfuscatedName("c") - static int[] field1603; - @ObfuscatedName("x") - static int[] field1612; - @ObfuscatedName("t") - static int[] field1604; - @ObfuscatedName("g") - static int[] field1602; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Len;" - ) - @Export("skeleton") - Skeleton skeleton; - @ObfuscatedName("u") - @Export("transformCount") - int transformCount; - @ObfuscatedName("j") - @Export("transformSkeletonLabels") - int[] transformSkeletonLabels; - @ObfuscatedName("v") - @Export("transformXs") - int[] transformXs; - @ObfuscatedName("d") - @Export("transformYs") - int[] transformYs; - @ObfuscatedName("z") - @Export("transformZs") - int[] transformZs; - @ObfuscatedName("n") - @Export("hasAlphaTransform") - boolean hasAlphaTransform; - - static { - field1603 = new int[500]; - field1612 = new int[500]; - field1604 = new int[500]; - field1602 = new int[500]; - } - - @ObfuscatedSignature( - signature = "([BLen;)V" - ) - Animation(byte[] var1, Skeleton var2) { - this.skeleton = null; - this.transformCount = -1; - this.hasAlphaTransform = false; - this.skeleton = var2; - Buffer var3 = new Buffer(var1); - Buffer var4 = new Buffer(var1); - var3.offset = 2; - int var5 = var3.readUnsignedByte(); - int var6 = -1; - int var7 = 0; - var4.offset = var5 + var3.offset; - - int var8; - for (var8 = 0; var8 < var5; ++var8) { - int var9 = var3.readUnsignedByte(); - if (var9 > 0) { - if (this.skeleton.transformTypes[var8] != 0) { - for (int var10 = var8 - 1; var10 > var6; --var10) { - if (this.skeleton.transformTypes[var10] == 0) { - field1603[var7] = var10; - field1612[var7] = 0; - field1604[var7] = 0; - field1602[var7] = 0; - ++var7; - break; - } - } - } - - field1603[var7] = var8; - short var11 = 0; - if (this.skeleton.transformTypes[var8] == 3) { - var11 = 128; - } - - if ((var9 & 1) != 0) { - field1612[var7] = var4.readShortSmart(); - } else { - field1612[var7] = var11; - } - - if ((var9 & 2) != 0) { - field1604[var7] = var4.readShortSmart(); - } else { - field1604[var7] = var11; - } - - if ((var9 & 4) != 0) { - field1602[var7] = var4.readShortSmart(); - } else { - field1602[var7] = var11; - } - - var6 = var8; - ++var7; - if (this.skeleton.transformTypes[var8] == 5) { - this.hasAlphaTransform = true; - } - } - } - - if (var1.length != var4.offset) { - throw new RuntimeException(); - } else { - this.transformCount = var7; - this.transformSkeletonLabels = new int[var7]; - this.transformXs = new int[var7]; - this.transformYs = new int[var7]; - this.transformZs = new int[var7]; - - for (var8 = 0; var8 < var7; ++var8) { - this.transformSkeletonLabels[var8] = field1603[var8]; - this.transformXs[var8] = field1612[var8]; - this.transformYs[var8] = field1604[var8]; - this.transformZs[var8] = field1602[var8]; - } - - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("da") +@Implements("Animation") +public class Animation { + @ObfuscatedName("z") + static int[] field1607; + @ObfuscatedName("n") + static int[] field1598; + @ObfuscatedName("v") + static int[] field1597; + @ObfuscatedName("u") + static int[] field1600; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lew;" + ) + @Export("skeleton") + Skeleton skeleton; + @ObfuscatedName("p") + @Export("transformCount") + int transformCount; + @ObfuscatedName("q") + @Export("transformSkeletonLabels") + int[] transformSkeletonLabels; + @ObfuscatedName("m") + @Export("transformXs") + int[] transformXs; + @ObfuscatedName("y") + @Export("transformYs") + int[] transformYs; + @ObfuscatedName("i") + @Export("transformZs") + int[] transformZs; + @ObfuscatedName("c") + @Export("hasAlphaTransform") + boolean hasAlphaTransform; + + static { + field1607 = new int[500]; + field1598 = new int[500]; + field1597 = new int[500]; + field1600 = new int[500]; + } + + @ObfuscatedSignature( + signature = "([BLew;)V" + ) + Animation(byte[] var1, Skeleton var2) { + this.skeleton = null; + this.transformCount = -1; + this.hasAlphaTransform = false; + this.skeleton = var2; + Buffer var3 = new Buffer(var1); + Buffer var4 = new Buffer(var1); + var3.offset = 2; + int var5 = var3.readUnsignedByte(); + int var6 = -1; + int var7 = 0; + var4.offset = var5 + var3.offset; + + int var8; + for (var8 = 0; var8 < var5; ++var8) { + int var9 = var3.readUnsignedByte(); + if (var9 > 0) { + if (this.skeleton.transformTypes[var8] != 0) { + for (int var10 = var8 - 1; var10 > var6; --var10) { + if (this.skeleton.transformTypes[var10] == 0) { + field1607[var7] = var10; + field1598[var7] = 0; + field1597[var7] = 0; + field1600[var7] = 0; + ++var7; + break; + } + } + } + + field1607[var7] = var8; + short var11 = 0; + if (this.skeleton.transformTypes[var8] == 3) { + var11 = 128; + } + + if ((var9 & 1) != 0) { + field1598[var7] = var4.readShortSmart(); + } else { + field1598[var7] = var11; + } + + if ((var9 & 2) != 0) { + field1597[var7] = var4.readShortSmart(); + } else { + field1597[var7] = var11; + } + + if ((var9 & 4) != 0) { + field1600[var7] = var4.readShortSmart(); + } else { + field1600[var7] = var11; + } + + var6 = var8; + ++var7; + if (this.skeleton.transformTypes[var8] == 5) { + this.hasAlphaTransform = true; + } + } + } + + if (var1.length != var4.offset) { + throw new RuntimeException(); + } else { + this.transformCount = var7; + this.transformSkeletonLabels = new int[var7]; + this.transformXs = new int[var7]; + this.transformYs = new int[var7]; + this.transformZs = new int[var7]; + + for (var8 = 0; var8 < var7; ++var8) { + this.transformSkeletonLabels[var8] = field1607[var8]; + this.transformXs[var8] = field1598[var8]; + this.transformYs[var8] = field1597[var8]; + this.transformZs[var8] = field1600[var8]; + } + + } + } +} diff --git a/runescape-client/src/main/java/Archive.java b/runescape-client/src/main/java/Archive.java index 3ebb1e913a..6da65344ab 100644 --- a/runescape-client/src/main/java/Archive.java +++ b/runescape-client/src/main/java/Archive.java @@ -1,396 +1,444 @@ -import java.util.zip.CRC32; -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("io") -@Implements("Archive") -public class Archive extends AbstractArchive { - @ObfuscatedName("ao") - @Export("Archive_crc") - static CRC32 Archive_crc; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("archiveDisk") - ArchiveDisk archiveDisk; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("masterDisk") - ArchiveDisk masterDisk; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 1156949557 - ) - @Export("index") - int index; - @ObfuscatedName("b") - volatile boolean field3128; - @ObfuscatedName("ag") - boolean field3132; - @ObfuscatedName("at") - @Export("validGroups") - volatile boolean[] validGroups; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -1676614799 - ) - @Export("indexCrc") - int indexCrc; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 1205835049 - ) - @Export("indexVersion") - int indexVersion; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 668240441 - ) - int field3137; - - static { - Archive_crc = new CRC32(); - } - - @ObfuscatedSignature( - signature = "(Lkx;Lkx;IZZZ)V" - ) - public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) { - super(var4, var5); - this.field3128 = false; - this.field3132 = false; - this.field3137 = -1; - this.archiveDisk = var1; - this.masterDisk = var2; - this.index = var3; - this.field3132 = var6; - int var8 = this.index; - if (DevicePcmPlayerProvider.NetCache_reference != null) { - DevicePcmPlayerProvider.NetCache_reference.offset = var8 * 8 + 5; - int var9 = DevicePcmPlayerProvider.NetCache_reference.readInt(); - int var10 = DevicePcmPlayerProvider.NetCache_reference.readInt(); - this.loadIndex(var9, var10); - } else { - Varps.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); - NetCache.NetCache_archives[var8] = this; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-2104600002" - ) - @Export("loadRegionFromGroup") - void loadRegionFromGroup(int var1) { - int var2 = this.index; - long var3 = (long)((var2 << 16) + var1); - NetFileRequest var5 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var3); - if (var5 != null) { - NetCache.NetCache_pendingWritesQueue.addLast(var5); - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "780456172" - ) - @Export("groupLoadPercent") - int groupLoadPercent(int var1) { - if (super.groups[var1] != null) { - return 100; - } else if (this.validGroups[var1]) { - return 100; - } else { - int var3 = this.index; - long var4 = (long)((var3 << 16) + var1); - int var2; - if (NetCache.NetCache_currentResponse != null && NetCache.NetCache_currentResponse.key == var4) { - var2 = class336.NetCache_responseArchiveBuffer.offset * 99 / (class336.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding) + 1; - } else { - var2 = 0; - } - - return var2; - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2123503233" - ) - @Export("loadGroup") - void loadGroup(int var1) { - if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) { - PlayerType.method4120(var1, this.archiveDisk, this); - } else { - Varps.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true); - } - - } - - @ObfuscatedName("dh") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1760954432" - ) - public boolean method4265() { - return this.field3128; - } - - @ObfuscatedName("do") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-185115723" - ) - @Export("percentage") - public int percentage() { - if (this.field3128) { - return 100; - } else if (super.groups != null) { - return 99; - } else { - int var2 = this.index; - long var3 = (long)(var2 + 16711680); - int var1; - if (NetCache.NetCache_currentResponse != null && var3 == NetCache.NetCache_currentResponse.key) { - var1 = class336.NetCache_responseArchiveBuffer.offset * 99 / (class336.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding) + 1; - } else { - var1 = 0; - } - - int var5 = var1; - if (var1 >= 100) { - var5 = 99; - } - - return var5; - } - } - - @ObfuscatedName("dm") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-288401160" - ) - @Export("loadIndex") - void loadIndex(int var1, int var2) { - this.indexCrc = var1; - this.indexVersion = var2; - if (this.masterDisk != null) { - PlayerType.method4120(this.index, this.masterDisk, this); - } else { - Varps.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } - - } - - @ObfuscatedName("dy") - @ObfuscatedSignature( - signature = "(I[BZZB)V", - garbageValue = "-101" - ) - @Export("write") - void write(int var1, byte[] var2, boolean var3, boolean var4) { - if (var3) { - if (this.field3128) { - throw new RuntimeException(); - } - - if (this.masterDisk != null) { - class96.method2259(this.index, var2, this.masterDisk); - } - - this.decodeIndex(var2); - this.loadAllLocal(); - } else { - var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8); - var2[var2.length - 1] = (byte)super.groupVersions[var1]; - if (this.archiveDisk != null) { - class96.method2259(var1, var2, this.archiveDisk); - this.validGroups[var1] = true; - } - - if (var4) { - super.groups[var1] = UserComparator8.method3365(var2, false); - } - } - - } - - @ObfuscatedName("dd") - @ObfuscatedSignature( - signature = "(Lkx;I[BZI)V", - garbageValue = "-1896487213" - ) - @Export("load") - void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) { - int var5; - if (var1 == this.masterDisk) { - if (this.field3128) { - throw new RuntimeException(); - } else if (var3 == null) { - Varps.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } else { - Archive_crc.reset(); - Archive_crc.update(var3, 0, var3.length); - var5 = (int)Archive_crc.getValue(); - if (var5 != this.indexCrc) { - Varps.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } else { - Buffer var9 = new Buffer(TaskHandler.decompressBytes(var3)); - int var7 = var9.readUnsignedByte(); - if (var7 != 5 && var7 != 6) { - throw new RuntimeException(var7 + "," + this.index + "," + var2); - } else { - int var8 = 0; - if (var7 >= 6) { - var8 = var9.readInt(); - } - - if (var8 != this.indexVersion) { - Varps.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); - } else { - this.decodeIndex(var3); - this.loadAllLocal(); - } - } - } - } - } else { - if (!var4 && var2 == this.field3137) { - this.field3128 = true; - } - - if (var3 != null && var3.length > 2) { - Archive_crc.reset(); - Archive_crc.update(var3, 0, var3.length - 2); - var5 = (int)Archive_crc.getValue(); - int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255); - if (var5 == super.groupCrcs[var2] && var6 == super.groupVersions[var2]) { - this.validGroups[var2] = true; - if (var4) { - super.groups[var2] = UserComparator8.method3365(var3, false); - } - - } else { - this.validGroups[var2] = false; - if (this.field3132 || var4) { - Varps.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); - } - - } - } else { - this.validGroups[var2] = false; - if (this.field3132 || var4) { - Varps.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); - } - - } - } - } - - @ObfuscatedName("dp") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1002718108" - ) - @Export("loadAllLocal") - void loadAllLocal() { - this.validGroups = new boolean[super.groups.length]; - - int var1; - for (var1 = 0; var1 < this.validGroups.length; ++var1) { - this.validGroups[var1] = false; - } - - if (this.archiveDisk == null) { - this.field3128 = true; - } else { - this.field3137 = -1; - - for (var1 = 0; var1 < this.validGroups.length; ++var1) { - if (super.fileCounts[var1] > 0) { - Friend.method5190(var1, this.archiveDisk, this); - this.field3137 = var1; - } - } - - if (this.field3137 == -1) { - this.field3128 = true; - } - - } - } - - @ObfuscatedName("dn") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "305356325" - ) - public boolean method4283(int var1) { - return this.validGroups[var1]; - } - - @ObfuscatedName("de") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1930544538" - ) - public boolean method4261(int var1) { - return this.getGroupFileIds(var1) != null; - } - - @ObfuscatedName("da") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "64" - ) - @Export("loadPercent") - public int loadPercent() { - int var1 = 0; - int var2 = 0; - - int var3; - for (var3 = 0; var3 < super.groups.length; ++var3) { - if (super.fileCounts[var3] > 0) { - var1 += 100; - var2 += this.groupLoadPercent(var3); - } - } - - if (var1 == 0) { - return 100; - } else { - var3 = var2 * 100 / var1; - return var3; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)I", - garbageValue = "1683994137" - ) - @Export("hashString") - public static int hashString(CharSequence var0) { - int var1 = var0.length(); - int var2 = 0; - - for (int var3 = 0; var3 < var1; ++var3) { - var2 = (var2 << 5) - var2 + MenuAction.charToByteCp1252(var0.charAt(var3)); - } - - return var2; - } -} +import java.util.zip.CRC32; +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("ie") +@Implements("Archive") +public class Archive extends AbstractArchive { + @ObfuscatedName("aw") + @Export("Archive_crc") + static CRC32 Archive_crc; + @ObfuscatedName("jn") + @ObfuscatedSignature( + signature = "Ldz;" + ) + @Export("textureProvider") + static TextureProvider textureProvider; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lkg;" + ) + @Export("archiveDisk") + ArchiveDisk archiveDisk; + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "Lkg;" + ) + @Export("masterDisk") + ArchiveDisk masterDisk; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -341991117 + ) + @Export("index") + int index; + @ObfuscatedName("k") + volatile boolean field3131; + @ObfuscatedName("ac") + boolean field3129; + @ObfuscatedName("az") + @Export("validGroups") + volatile boolean[] validGroups; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 2033402119 + ) + @Export("indexCrc") + int indexCrc; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = -302073813 + ) + @Export("indexVersion") + int indexVersion; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -630367829 + ) + int field3137; + + static { + Archive_crc = new CRC32(); + } + + @ObfuscatedSignature( + signature = "(Lkg;Lkg;IZZZ)V" + ) + public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) { + super(var4, var5); + this.field3131 = false; + this.field3129 = false; + this.field3137 = -1; + this.archiveDisk = var1; + this.masterDisk = var2; + this.index = var3; + this.field3129 = var6; + int var8 = this.index; + if (AbstractWorldMapIcon.NetCache_reference != null) { + AbstractWorldMapIcon.NetCache_reference.offset = var8 * 8 + 5; + int var9 = AbstractWorldMapIcon.NetCache_reference.readInt(); + int var10 = AbstractWorldMapIcon.NetCache_reference.readInt(); + this.loadIndex(var9, var10); + } else { + WorldMapDecoration.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); + NetCache.NetCache_archives[var8] = this; + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "15" + ) + @Export("loadRegionFromGroup") + void loadRegionFromGroup(int var1) { + int var2 = this.index; + long var3 = (long)((var2 << 16) + var1); + NetFileRequest var5 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var3); + if (var5 != null) { + NetCache.NetCache_pendingWritesQueue.addLast(var5); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-2030453035" + ) + @Export("groupLoadPercent") + int groupLoadPercent(int var1) { + if (super.groups[var1] != null) { + return 100; + } else if (this.validGroups[var1]) { + return 100; + } else { + int var3 = this.index; + long var4 = (long)((var3 << 16) + var1); + int var2; + if (WorldMapEvent.NetCache_currentResponse != null && WorldMapEvent.NetCache_currentResponse.key == var4) { + var2 = FaceNormal.NetCache_responseArchiveBuffer.offset * 99 / (FaceNormal.NetCache_responseArchiveBuffer.array.length - WorldMapEvent.NetCache_currentResponse.padding) + 1; + } else { + var2 = 0; + } + + return var2; + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "848617854" + ) + @Export("loadGroup") + void loadGroup(int var1) { + if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) { + WorldMapArea.method429(var1, this.archiveDisk, this); + } else { + WorldMapDecoration.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true); + } + + } + + @ObfuscatedName("dr") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "2035998705" + ) + public boolean method4223() { + return this.field3131; + } + + @ObfuscatedName("du") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1744835603" + ) + @Export("percentage") + public int percentage() { + if (this.field3131) { + return 100; + } else if (super.groups != null) { + return 99; + } else { + int var2 = this.index; + long var3 = (long)(var2 + 16711680); + int var1; + if (WorldMapEvent.NetCache_currentResponse != null && WorldMapEvent.NetCache_currentResponse.key == var3) { + var1 = FaceNormal.NetCache_responseArchiveBuffer.offset * 99 / (FaceNormal.NetCache_responseArchiveBuffer.array.length - WorldMapEvent.NetCache_currentResponse.padding) + 1; + } else { + var1 = 0; + } + + int var5 = var1; + if (var1 >= 100) { + var5 = 99; + } + + return var5; + } + } + + @ObfuscatedName("ds") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "684167120" + ) + @Export("loadIndex") + void loadIndex(int var1, int var2) { + this.indexCrc = var1; + this.indexVersion = var2; + if (this.masterDisk != null) { + WorldMapArea.method429(this.index, this.masterDisk, this); + } else { + WorldMapDecoration.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + } + + } + + @ObfuscatedName("dc") + @ObfuscatedSignature( + signature = "(I[BZZI)V", + garbageValue = "1316980907" + ) + @Export("write") + void write(int var1, byte[] var2, boolean var3, boolean var4) { + if (var3) { + if (this.field3131) { + throw new RuntimeException(); + } + + if (this.masterDisk != null) { + CollisionMap.method3530(this.index, var2, this.masterDisk); + } + + this.decodeIndex(var2); + this.loadAllLocal(); + } else { + var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8); + var2[var2.length - 1] = (byte)super.groupVersions[var1]; + if (this.archiveDisk != null) { + CollisionMap.method3530(var1, var2, this.archiveDisk); + this.validGroups[var1] = true; + } + + if (var4) { + super.groups[var1] = GrandExchangeEvents.method76(var2, false); + } + } + + } + + @ObfuscatedName("di") + @ObfuscatedSignature( + signature = "(Lkg;I[BZB)V", + garbageValue = "1" + ) + @Export("load") + public void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) { + int var5; + if (var1 == this.masterDisk) { + if (this.field3131) { + throw new RuntimeException(); + } + + if (var3 == null) { + WorldMapDecoration.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } + + Archive_crc.reset(); + Archive_crc.update(var3, 0, var3.length); + var5 = (int)Archive_crc.getValue(); + if (var5 != this.indexCrc) { + WorldMapDecoration.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } + + Buffer var9 = new Buffer(MusicPatch.decompressBytes(var3)); + int var7 = var9.readUnsignedByte(); + if (var7 != 5 && var7 != 6) { + throw new RuntimeException(var7 + "," + this.index + "," + var2); + } + + int var8 = 0; + if (var7 >= 6) { + var8 = var9.readInt(); + } + + if (var8 != this.indexVersion) { + WorldMapDecoration.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } + + this.decodeIndex(var3); + this.loadAllLocal(); + } else { + if (!var4 && var2 == this.field3137) { + this.field3131 = true; + } + + if (var3 == null || var3.length <= 2) { + this.validGroups[var2] = false; + if (this.field3129 || var4) { + WorldMapDecoration.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); + } + + return; + } + + Archive_crc.reset(); + Archive_crc.update(var3, 0, var3.length - 2); + var5 = (int)Archive_crc.getValue(); + int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255); + if (var5 != super.groupCrcs[var2] || var6 != super.groupVersions[var2]) { + this.validGroups[var2] = false; + if (this.field3129 || var4) { + WorldMapDecoration.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); + } + + return; + } + + this.validGroups[var2] = true; + if (var4) { + super.groups[var2] = GrandExchangeEvents.method76(var3, false); + } + } + + } + + @ObfuscatedName("dk") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "8" + ) + @Export("loadAllLocal") + void loadAllLocal() { + this.validGroups = new boolean[super.groups.length]; + + int var1; + for (var1 = 0; var1 < this.validGroups.length; ++var1) { + this.validGroups[var1] = false; + } + + if (this.archiveDisk == null) { + this.field3131 = true; + } else { + this.field3137 = -1; + + for (var1 = 0; var1 < this.validGroups.length; ++var1) { + if (super.fileCounts[var1] > 0) { + ArchiveDisk var2 = this.archiveDisk; + ArchiveDiskAction var4 = new ArchiveDiskAction(); + var4.type = 1; + var4.key = (long)var1; + var4.archiveDisk = var2; + var4.archive = this; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var4); + } + + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3127 == 0) { + UserComparator5.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + UserComparator5.ArchiveDiskActionHandler_thread.setDaemon(true); + UserComparator5.ArchiveDiskActionHandler_thread.start(); + UserComparator5.ArchiveDiskActionHandler_thread.setPriority(5); + } + + ArchiveDiskActionHandler.field3127 = 600; + } + + this.field3137 = var1; + } + } + + if (this.field3137 == -1) { + this.field3131 = true; + } + + } + } + + @ObfuscatedName("dx") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-433634856" + ) + public boolean method4231(int var1) { + return this.validGroups[var1]; + } + + @ObfuscatedName("dz") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "805361618" + ) + public boolean method4232(int var1) { + return this.getGroupFileIds(var1) != null; + } + + @ObfuscatedName("do") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "727894645" + ) + @Export("loadPercent") + public int loadPercent() { + int var1 = 0; + int var2 = 0; + + int var3; + for (var3 = 0; var3 < super.groups.length; ++var3) { + if (super.fileCounts[var3] > 0) { + var1 += 100; + var2 += this.groupLoadPercent(var3); + } + } + + if (var1 == 0) { + return 100; + } else { + var3 = var2 * 100 / var1; + return var3; + } + } + + @ObfuscatedName("jq") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-212508230" + ) + static final void method4266() { + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsInClanChat(); + } + + } + + @ObfuscatedName("km") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "26372698" + ) + static void method4238() { + if (StudioGame.field3086 != null) { + Client.field905 = Client.cycle; + StudioGame.field3086.method4288(); + + for (int var0 = 0; var0 < Client.players.length; ++var0) { + if (Client.players[var0] != null) { + StudioGame.field3086.method4289(class223.baseX * 64 + (Client.players[var0].x >> 7), class286.baseY * 64 + (Client.players[var0].y * 682054857 >> 7)); + } + } + } + + } +} diff --git a/runescape-client/src/main/java/ArchiveDisk.java b/runescape-client/src/main/java/ArchiveDisk.java index 4e2221cb2e..0cc2a2efe8 100644 --- a/runescape-client/src/main/java/ArchiveDisk.java +++ b/runescape-client/src/main/java/ArchiveDisk.java @@ -1,354 +1,470 @@ -import java.io.EOFException; -import java.io.IOException; -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("kx") -@Implements("ArchiveDisk") -public final class ArchiveDisk { - @ObfuscatedName("c") - @Export("ArchiveDisk_buffer") - static byte[] ArchiveDisk_buffer; - @ObfuscatedName("db") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive11") - static Archive archive11; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lmw;" - ) - @Export("datFile") - BufferedFile datFile; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lmw;" - ) - @Export("idxFile") - BufferedFile idxFile; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1914299203 - ) - @Export("archive") - int archive; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1407150141 - ) - @Export("maxEntrySize") - int maxEntrySize; - - static { - ArchiveDisk_buffer = new byte[520]; - } - - @ObfuscatedSignature( - signature = "(ILmw;Lmw;I)V" - ) - public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) { - this.datFile = null; - this.idxFile = null; - this.maxEntrySize = 65000; - this.archive = var1; - this.datFile = var2; - this.idxFile = var3; - this.maxEntrySize = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)[B", - garbageValue = "-1665977739" - ) - @Export("read") - public byte[] read(int var1) { - synchronized(this.datFile) { - try { - Object var10000; - if (this.idxFile.length() < (long)(var1 * 6 + 6)) { - var10000 = null; - return (byte[])var10000; - } else { - this.idxFile.seek((long)(var1 * 6)); - this.idxFile.read(ArchiveDisk_buffer, 0, 6); - int var3 = ((ArchiveDisk_buffer[0] & 255) << 16) + (ArchiveDisk_buffer[2] & 255) + ((ArchiveDisk_buffer[1] & 255) << 8); - int var4 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); - if (var3 < 0 || var3 > this.maxEntrySize) { - var10000 = null; - return (byte[])var10000; - } else if (var4 <= 0 || (long)var4 > this.datFile.length() / 520L) { - var10000 = null; - return (byte[])var10000; - } else { - byte[] var5 = new byte[var3]; - int var6 = 0; - - for (int var7 = 0; var6 < var3; ++var7) { - if (var4 == 0) { - var10000 = null; - return (byte[])var10000; - } - - this.datFile.seek((long)var4 * 520L); - int var8 = var3 - var6; - int var9; - int var10; - int var11; - int var12; - byte var13; - if (var1 > 65535) { - if (var8 > 510) { - var8 = 510; - } - - var13 = 10; - this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13); - var9 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); - var10 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); - var11 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); - var12 = ArchiveDisk_buffer[9] & 255; - } else { - if (var8 > 512) { - var8 = 512; - } - - var13 = 8; - this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13); - var9 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); - var10 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); - var11 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); - var12 = ArchiveDisk_buffer[7] & 255; - } - - if (var9 != var1 || var10 != var7 || var12 != this.archive) { - var10000 = null; - return (byte[])var10000; - } - - if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) { - var10000 = null; - return (byte[])var10000; - } - - int var14 = var13 + var8; - - for (int var15 = var13; var15 < var14; ++var15) { - var5[var6++] = ArchiveDisk_buffer[var15]; - } - - var4 = var11; - } - - byte[] var20 = var5; - return var20; - } - } - } catch (IOException var18) { - return null; - } - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I[BIB)Z", - garbageValue = "73" - ) - @Export("write") - public boolean write(int var1, byte[] var2, int var3) { - synchronized(this.datFile) { - if (var3 >= 0 && var3 <= this.maxEntrySize) { - boolean var5 = this.write0(var1, var2, var3, true); - if (!var5) { - var5 = this.write0(var1, var2, var3, false); - } - - return var5; - } else { - throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3); - } - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I[BIZI)Z", - garbageValue = "1934021549" - ) - @Export("write0") - boolean write0(int var1, byte[] var2, int var3, boolean var4) { - synchronized(this.datFile) { - try { - int var6; - boolean var10000; - if (var4) { - if (this.idxFile.length() < (long)(var1 * 6 + 6)) { - var10000 = false; - return var10000; - } - - this.idxFile.seek((long)(var1 * 6)); - this.idxFile.read(ArchiveDisk_buffer, 0, 6); - var6 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); - if (var6 <= 0 || (long)var6 > this.datFile.length() / 520L) { - var10000 = false; - return var10000; - } - } else { - var6 = (int)((this.datFile.length() + 519L) / 520L); - if (var6 == 0) { - var6 = 1; - } - } - - ArchiveDisk_buffer[0] = (byte)(var3 >> 16); - ArchiveDisk_buffer[1] = (byte)(var3 >> 8); - ArchiveDisk_buffer[2] = (byte)var3; - ArchiveDisk_buffer[3] = (byte)(var6 >> 16); - ArchiveDisk_buffer[4] = (byte)(var6 >> 8); - ArchiveDisk_buffer[5] = (byte)var6; - this.idxFile.seek((long)(var1 * 6)); - this.idxFile.write(ArchiveDisk_buffer, 0, 6); - int var7 = 0; - int var8 = 0; - - while (true) { - if (var7 < var3) { - label170: { - int var9 = 0; - int var10; - if (var4) { - this.datFile.seek((long)var6 * 520L); - int var11; - int var12; - if (var1 > 65535) { - try { - this.datFile.read(ArchiveDisk_buffer, 0, 10); - } catch (EOFException var17) { - break label170; - } - - var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); - var11 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); - var9 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); - var12 = ArchiveDisk_buffer[9] & 255; - } else { - try { - this.datFile.read(ArchiveDisk_buffer, 0, 8); - } catch (EOFException var16) { - break label170; - } - - var10 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); - var11 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); - var9 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); - var12 = ArchiveDisk_buffer[7] & 255; - } - - if (var10 != var1 || var8 != var11 || var12 != this.archive) { - var10000 = false; - return var10000; - } - - if (var9 < 0 || (long)var9 > this.datFile.length() / 520L) { - var10000 = false; - return var10000; - } - } - - if (var9 == 0) { - var4 = false; - var9 = (int)((this.datFile.length() + 519L) / 520L); - if (var9 == 0) { - ++var9; - } - - if (var6 == var9) { - ++var9; - } - } - - if (var1 > 65535) { - if (var3 - var7 <= 510) { - var9 = 0; - } - - ArchiveDisk_buffer[0] = (byte)(var1 >> 24); - ArchiveDisk_buffer[1] = (byte)(var1 >> 16); - ArchiveDisk_buffer[2] = (byte)(var1 >> 8); - ArchiveDisk_buffer[3] = (byte)var1; - ArchiveDisk_buffer[4] = (byte)(var8 >> 8); - ArchiveDisk_buffer[5] = (byte)var8; - ArchiveDisk_buffer[6] = (byte)(var9 >> 16); - ArchiveDisk_buffer[7] = (byte)(var9 >> 8); - ArchiveDisk_buffer[8] = (byte)var9; - ArchiveDisk_buffer[9] = (byte)this.archive; - this.datFile.seek((long)var6 * 520L); - this.datFile.write(ArchiveDisk_buffer, 0, 10); - var10 = var3 - var7; - if (var10 > 510) { - var10 = 510; - } - - this.datFile.write(var2, var7, var10); - var7 += var10; - } else { - if (var3 - var7 <= 512) { - var9 = 0; - } - - ArchiveDisk_buffer[0] = (byte)(var1 >> 8); - ArchiveDisk_buffer[1] = (byte)var1; - ArchiveDisk_buffer[2] = (byte)(var8 >> 8); - ArchiveDisk_buffer[3] = (byte)var8; - ArchiveDisk_buffer[4] = (byte)(var9 >> 16); - ArchiveDisk_buffer[5] = (byte)(var9 >> 8); - ArchiveDisk_buffer[6] = (byte)var9; - ArchiveDisk_buffer[7] = (byte)this.archive; - this.datFile.seek((long)var6 * 520L); - this.datFile.write(ArchiveDisk_buffer, 0, 8); - var10 = var3 - var7; - if (var10 > 512) { - var10 = 512; - } - - this.datFile.write(var2, var7, var10); - var7 += var10; - } - - var6 = var9; - ++var8; - continue; - } - } - - var10000 = true; - return var10000; - } - } catch (IOException var18) { - return false; - } - } - } - - public String aai() { - return "" + this.archive; - } - - public String aan() { - return "" + this.archive; - } - - public String toString() { - return "" + this.archive; - } - - public String aar() { - return "" + this.archive * 1578141934; - } -} +import java.io.EOFException; +import java.io.IOException; +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("kg") +@Implements("ArchiveDisk") +public final class ArchiveDisk { + @ObfuscatedName("z") + @Export("ArchiveDisk_buffer") + static byte[] ArchiveDisk_buffer; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lmm;" + ) + @Export("datFile") + BufferedFile datFile; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lmm;" + ) + @Export("idxFile") + BufferedFile idxFile; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 558641831 + ) + @Export("archive") + int archive; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1322039527 + ) + @Export("maxEntrySize") + int maxEntrySize; + + static { + ArchiveDisk_buffer = new byte[520]; + } + + @ObfuscatedSignature( + signature = "(ILmm;Lmm;I)V" + ) + public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) { + this.datFile = null; + this.idxFile = null; + this.maxEntrySize = 65000; + this.archive = var1; + this.datFile = var2; + this.idxFile = var3; + this.maxEntrySize = var4; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)[B", + garbageValue = "1" + ) + @Export("read") + public byte[] read(int var1) { + synchronized(this.datFile) { + try { + Object var10000; + if (this.idxFile.length() < (long)(var1 * 6 + 6)) { + var10000 = null; + return (byte[])var10000; + } else { + this.idxFile.seek((long)(var1 * 6)); + this.idxFile.read(ArchiveDisk_buffer, 0, 6); + int var3 = ((ArchiveDisk_buffer[0] & 255) << 16) + (ArchiveDisk_buffer[2] & 255) + ((ArchiveDisk_buffer[1] & 255) << 8); + int var4 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); + if (var3 < 0 || var3 > this.maxEntrySize) { + var10000 = null; + return (byte[])var10000; + } else if (var4 <= 0 || (long)var4 > this.datFile.length() / 520L) { + var10000 = null; + return (byte[])var10000; + } else { + byte[] var5 = new byte[var3]; + int var6 = 0; + int var7 = 0; + + while (var6 < var3) { + if (var4 == 0) { + var10000 = null; + return (byte[])var10000; + } + + this.datFile.seek((long)var4 * 520L); + int var8 = var3 - var6; + int var9; + int var10; + int var11; + int var12; + byte var13; + if (var1 > 65535) { + if (var8 > 510) { + var8 = 510; + } + + var13 = 10; + this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13); + var9 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var10 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); + var11 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); + var12 = ArchiveDisk_buffer[9] & 255; + } else { + if (var8 > 512) { + var8 = 512; + } + + var13 = 8; + this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13); + var9 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); + var10 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var11 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); + var12 = ArchiveDisk_buffer[7] & 255; + } + + if (var9 == var1 && var10 == var7 && var12 == this.archive) { + if (var11 >= 0 && (long)var11 <= this.datFile.length() / 520L) { + int var14 = var13 + var8; + + for (int var15 = var13; var15 < var14; ++var15) { + var5[var6++] = ArchiveDisk_buffer[var15]; + } + + var4 = var11; + ++var7; + continue; + } + + var10000 = null; + return (byte[])var10000; + } + + var10000 = null; + return (byte[])var10000; + } + + byte[] var20 = var5; + return var20; + } + } + } catch (IOException var18) { + return null; + } + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I[BII)Z", + garbageValue = "-1069570750" + ) + @Export("write") + public boolean write(int var1, byte[] var2, int var3) { + synchronized(this.datFile) { + if (var3 >= 0 && var3 <= this.maxEntrySize) { + boolean var5 = this.write0(var1, var2, var3, true); + if (!var5) { + var5 = this.write0(var1, var2, var3, false); + } + + return var5; + } else { + throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3); + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I[BIZI)Z", + garbageValue = "1005578949" + ) + @Export("write0") + boolean write0(int var1, byte[] var2, int var3, boolean var4) { + synchronized(this.datFile) { + try { + int var6; + boolean var10000; + if (var4) { + if (this.idxFile.length() < (long)(var1 * 6 + 6)) { + var10000 = false; + return var10000; + } + + this.idxFile.seek((long)(var1 * 6)); + this.idxFile.read(ArchiveDisk_buffer, 0, 6); + var6 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); + if (var6 <= 0 || (long)var6 > this.datFile.length() / 520L) { + var10000 = false; + return var10000; + } + } else { + var6 = (int)((this.datFile.length() + 519L) / 520L); + if (var6 == 0) { + var6 = 1; + } + } + + ArchiveDisk_buffer[0] = (byte)(var3 >> 16); + ArchiveDisk_buffer[1] = (byte)(var3 >> 8); + ArchiveDisk_buffer[2] = (byte)var3; + ArchiveDisk_buffer[3] = (byte)(var6 >> 16); + ArchiveDisk_buffer[4] = (byte)(var6 >> 8); + ArchiveDisk_buffer[5] = (byte)var6; + this.idxFile.seek((long)(var1 * 6)); + this.idxFile.write(ArchiveDisk_buffer, 0, 6); + int var7 = 0; + int var8 = 0; + + while (true) { + if (var7 < var3) { + label171: { + int var9 = 0; + int var10; + if (var4) { + this.datFile.seek(520L * (long)var6); + int var11; + int var12; + if (var1 > 65535) { + try { + this.datFile.read(ArchiveDisk_buffer, 0, 10); + } catch (EOFException var17) { + break label171; + } + + var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var11 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); + var9 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); + var12 = ArchiveDisk_buffer[9] & 255; + } else { + try { + this.datFile.read(ArchiveDisk_buffer, 0, 8); + } catch (EOFException var16) { + break label171; + } + + var10 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); + var11 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var9 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); + var12 = ArchiveDisk_buffer[7] & 255; + } + + if (var10 != var1 || var8 != var11 || var12 != this.archive) { + var10000 = false; + return var10000; + } + + if (var9 < 0 || (long)var9 > this.datFile.length() / 520L) { + var10000 = false; + return var10000; + } + } + + if (var9 == 0) { + var4 = false; + var9 = (int)((this.datFile.length() + 519L) / 520L); + if (var9 == 0) { + ++var9; + } + + if (var9 == var6) { + ++var9; + } + } + + if (var1 > 65535) { + if (var3 - var7 <= 510) { + var9 = 0; + } + + ArchiveDisk_buffer[0] = (byte)(var1 >> 24); + ArchiveDisk_buffer[1] = (byte)(var1 >> 16); + ArchiveDisk_buffer[2] = (byte)(var1 >> 8); + ArchiveDisk_buffer[3] = (byte)var1; + ArchiveDisk_buffer[4] = (byte)(var8 >> 8); + ArchiveDisk_buffer[5] = (byte)var8; + ArchiveDisk_buffer[6] = (byte)(var9 >> 16); + ArchiveDisk_buffer[7] = (byte)(var9 >> 8); + ArchiveDisk_buffer[8] = (byte)var9; + ArchiveDisk_buffer[9] = (byte)this.archive; + this.datFile.seek(520L * (long)var6); + this.datFile.write(ArchiveDisk_buffer, 0, 10); + var10 = var3 - var7; + if (var10 > 510) { + var10 = 510; + } + + this.datFile.write(var2, var7, var10); + var7 += var10; + } else { + if (var3 - var7 <= 512) { + var9 = 0; + } + + ArchiveDisk_buffer[0] = (byte)(var1 >> 8); + ArchiveDisk_buffer[1] = (byte)var1; + ArchiveDisk_buffer[2] = (byte)(var8 >> 8); + ArchiveDisk_buffer[3] = (byte)var8; + ArchiveDisk_buffer[4] = (byte)(var9 >> 16); + ArchiveDisk_buffer[5] = (byte)(var9 >> 8); + ArchiveDisk_buffer[6] = (byte)var9; + ArchiveDisk_buffer[7] = (byte)this.archive; + this.datFile.seek((long)var6 * 520L); + this.datFile.write(ArchiveDisk_buffer, 0, 8); + var10 = var3 - var7; + if (var10 > 512) { + var10 = 512; + } + + this.datFile.write(var2, var7, var10); + var7 += var10; + } + + var6 = var9; + ++var8; + continue; + } + } + + var10000 = true; + return var10000; + } + } catch (IOException var18) { + return false; + } + } + } + + public String toString() { + return "" + this.archive; + } + + public String aak() { + return "" + this.archive; + } + + public String aah() { + return "" + this.archive; + } + + public String aae() { + return "" + this.archive; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;Ljava/lang/String;I)I", + garbageValue = "1895940511" + ) + public static int method5779(Buffer var0, String var1) { + int var2 = var0.offset; + byte[] var3 = UserComparator3.method3390(var1); + var0.writeSmartByteShort(var3.length); + var0.offset += class210.huffman.compress(var3, 0, var3.length, var0.array, var0.offset); + return var0.offset - var2; + } + + @ObfuscatedName("el") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1355807172" + ) + @Export("getLoginError") + static void getLoginError(int var0) { + if (var0 == -3) { + PlayerType.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); + } else if (var0 == -2) { + PlayerType.setLoginResponseString("", "Error connecting to server.", ""); + } else if (var0 == -1) { + PlayerType.setLoginResponseString("No response from server.", "Please try using a different world.", ""); + } else if (var0 == 3) { + Login.loginIndex = 3; + Login.field1171 = 1; + } else if (var0 == 4) { + Login.loginIndex = 12; + Login.field1174 = 0; + } else if (var0 == 5) { + Login.field1171 = 2; + PlayerType.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) { + PlayerType.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); + } else if (var0 == 7) { + PlayerType.setLoginResponseString("This world is full.", "Please use a different world.", ""); + } else if (var0 == 8) { + PlayerType.setLoginResponseString("Unable to connect.", "Login server offline.", ""); + } else if (var0 == 9) { + PlayerType.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", ""); + } else if (var0 == 10) { + PlayerType.setLoginResponseString("Unable to connect.", "Bad session id.", ""); + } else if (var0 == 11) { + PlayerType.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); + } else if (var0 == 12) { + PlayerType.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); + } else if (var0 == 13) { + PlayerType.setLoginResponseString("Could not complete login.", "Please try using a different world.", ""); + } else if (var0 == 14) { + PlayerType.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", ""); + } else if (var0 == 16) { + PlayerType.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", ""); + } else if (var0 == 17) { + PlayerType.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.field1174 = 1; + } else if (var0 == 19) { + PlayerType.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); + } else if (var0 == 20) { + PlayerType.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", ""); + } else if (var0 == 22) { + PlayerType.setLoginResponseString("Malformed login packet.", "Please try again.", ""); + } else if (var0 == 23) { + PlayerType.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", ""); + } else if (var0 == 24) { + PlayerType.setLoginResponseString("Error loading your profile.", "Please contact customer support.", ""); + } else if (var0 == 25) { + PlayerType.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", ""); + } else if (var0 == 26) { + PlayerType.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", ""); + } else if (var0 == 27) { + PlayerType.setLoginResponseString("", "Service unavailable.", ""); + } else if (var0 == 31) { + PlayerType.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) { + PlayerType.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) { + PlayerType.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); + } else if (var0 == 38) { + PlayerType.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) { + PlayerType.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); + MouseRecorder.updateGameState(11); + return; + } + + if (var0 == 57) { + PlayerType.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); + MouseRecorder.updateGameState(11); + return; + } + + if (var0 == 61) { + Login.loginIndex = 7; + } else { + PlayerType.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); + } + } + + MouseRecorder.updateGameState(10); + } + + @ObfuscatedName("kb") + @ObfuscatedSignature( + signature = "(Lkl;IB)V", + garbageValue = "16" + ) + static void method5781(Buffer var0, int var1) { + LoginScreenAnimation.method1828(var0.array, var1); + SoundSystem.method2464(var0, var1); + } +} diff --git a/runescape-client/src/main/java/ArchiveDiskAction.java b/runescape-client/src/main/java/ArchiveDiskAction.java index 099e2fa283..2d11d7ab4e 100644 --- a/runescape-client/src/main/java/ArchiveDiskAction.java +++ b/runescape-client/src/main/java/ArchiveDiskAction.java @@ -1,101 +1,34 @@ -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("hw") -@Implements("ArchiveDiskAction") -public class ArchiveDiskAction extends Node { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1482898201 - ) - @Export("type") - int type; - @ObfuscatedName("x") - @Export("data") - byte[] data; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("archiveDisk") - ArchiveDisk archiveDisk; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive") - Archive archive; - - ArchiveDiskAction() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "-1111446859" - ) - static String method4133(int var0) { - return ""; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "([BIII)Ljava/lang/String;", - garbageValue = "-90955785" - ) - public static String method4132(byte[] var0, int var1, int var2) { - char[] var3 = new char[var2]; - int var4 = 0; - int var5 = var1; - - int var8; - for (int var6 = var2 + var1; var5 < var6; var3[var4++] = (char)var8) { - int var7 = var0[var5++] & 255; - if (var7 < 128) { - if (var7 == 0) { - var8 = 65533; - } else { - var8 = var7; - } - } else if (var7 < 192) { - var8 = 65533; - } else if (var7 < 224) { - if (var5 < var6 && (var0[var5] & 192) == 128) { - var8 = (var7 & 31) << 6 | var0[var5++] & 63; - if (var8 < 128) { - var8 = 65533; - } - } else { - var8 = 65533; - } - } else if (var7 < 240) { - if (var5 + 1 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128) { - var8 = (var7 & 15) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; - if (var8 < 2048) { - var8 = 65533; - } - } else { - var8 = 65533; - } - } else if (var7 < 248) { - if (var5 + 2 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128 && (var0[var5 + 2] & 192) == 128) { - var8 = (var7 & 7) << 18 | (var0[var5++] & 63) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; - if (var8 >= 65536 && var8 <= 1114111) { - var8 = 65533; - } else { - var8 = 65533; - } - } else { - var8 = 65533; - } - } else { - var8 = 65533; - } - } - - return new String(var3, 0, var4); - } -} +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("hy") +@Implements("ArchiveDiskAction") +public class ArchiveDiskAction extends Node { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1673038183 + ) + @Export("type") + int type; + @ObfuscatedName("n") + @Export("data") + public byte[] data; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lkg;" + ) + @Export("archiveDisk") + public ArchiveDisk archiveDisk; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive") + public Archive archive; + + ArchiveDiskAction() { + } +} diff --git a/runescape-client/src/main/java/ArchiveDiskActionHandler.java b/runescape-client/src/main/java/ArchiveDiskActionHandler.java index cd0a25b81e..526101330e 100644 --- a/runescape-client/src/main/java/ArchiveDiskActionHandler.java +++ b/runescape-client/src/main/java/ArchiveDiskActionHandler.java @@ -1,114 +1,109 @@ -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("ib") -@Implements("ArchiveDiskActionHandler") -public class ArchiveDiskActionHandler implements Runnable { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("ArchiveDiskActionHandler_requestQueue") - static NodeDeque ArchiveDiskActionHandler_requestQueue; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("ArchiveDiskActionHandler_responseQueue") - static NodeDeque ArchiveDiskActionHandler_responseQueue; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1435645163 - ) - public static int field3126; - @ObfuscatedName("l") - @Export("ArchiveDiskActionHandler_lock") - public static Object ArchiveDiskActionHandler_lock; - @ObfuscatedName("u") - @Export("ArchiveDiskActionHandler_thread") - static Thread ArchiveDiskActionHandler_thread; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("Widget_archive") - static AbstractArchive Widget_archive; - - static { - ArchiveDiskActionHandler_requestQueue = new NodeDeque(); - ArchiveDiskActionHandler_responseQueue = new NodeDeque(); - field3126 = 0; - ArchiveDiskActionHandler_lock = new Object(); - } - - ArchiveDiskActionHandler() { - } - - public void run() { - try { - while (true) { - ArchiveDiskAction var1; - synchronized(ArchiveDiskActionHandler_requestQueue) { - var1 = (ArchiveDiskAction)ArchiveDiskActionHandler_requestQueue.last(); - } - - if (var1 != null) { - if (var1.type == 0) { - var1.archiveDisk.write((int)var1.key, var1.data, var1.data.length); - synchronized(ArchiveDiskActionHandler_requestQueue) { - var1.remove(); - } - } else if (var1.type == 1) { - var1.data = var1.archiveDisk.read((int)var1.key); - synchronized(ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler_responseQueue.addFirst(var1); - } - } - - synchronized(ArchiveDiskActionHandler_lock) { - if (field3126 <= 1) { - field3126 = 0; - ArchiveDiskActionHandler_lock.notifyAll(); - return; - } - - field3126 = 600; - } - } else { - FriendsList.sleepMillis(100L); - synchronized(ArchiveDiskActionHandler_lock) { - if (field3126 <= 1) { - field3126 = 0; - ArchiveDiskActionHandler_lock.notifyAll(); - return; - } - - --field3126; - } - } - } - } catch (Exception var13) { - class188.RunException_sendStackTrace((String)null, var13); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/Throwable;Ljava/lang/String;)Lma;" - ) - @Export("newRunException") - public static RunException newRunException(Throwable var0, String var1) { - RunException var2; - if (var0 instanceof RunException) { - var2 = (RunException)var0; - var2.message = var2.message + ' ' + var1; - } else { - var2 = new RunException(var0, var1); - } - - return var2; - } -} +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("ih") +@Implements("ArchiveDiskActionHandler") +public class ArchiveDiskActionHandler implements Runnable { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("ArchiveDiskActionHandler_requestQueue") + public static NodeDeque ArchiveDiskActionHandler_requestQueue; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("ArchiveDiskActionHandler_responseQueue") + public static NodeDeque ArchiveDiskActionHandler_responseQueue; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1320379029 + ) + static int field3127; + @ObfuscatedName("u") + @Export("ArchiveDiskActionHandler_lock") + static Object ArchiveDiskActionHandler_lock; + + static { + ArchiveDiskActionHandler_requestQueue = new NodeDeque(); + ArchiveDiskActionHandler_responseQueue = new NodeDeque(); + field3127 = 0; + ArchiveDiskActionHandler_lock = new Object(); + } + + ArchiveDiskActionHandler() { + } + + public void run() { + try { + while (true) { + ArchiveDiskAction var1; + synchronized(ArchiveDiskActionHandler_requestQueue) { + var1 = (ArchiveDiskAction)ArchiveDiskActionHandler_requestQueue.last(); + } + + if (var1 != null) { + if (var1.type == 0) { + var1.archiveDisk.write((int)var1.key, var1.data, var1.data.length); + synchronized(ArchiveDiskActionHandler_requestQueue) { + var1.remove(); + } + } else if (var1.type == 1) { + var1.data = var1.archiveDisk.read((int)var1.key); + synchronized(ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler_responseQueue.addFirst(var1); + } + } + + synchronized(ArchiveDiskActionHandler_lock) { + if (field3127 <= 1) { + field3127 = 0; + ArchiveDiskActionHandler_lock.notifyAll(); + return; + } + + field3127 = 600; + } + } else { + long var8 = 99L; + + try { + Thread.sleep(var8); + } catch (InterruptedException var15) { + } + + try { + Thread.sleep(1L); + } catch (InterruptedException var14) { + } + + synchronized(ArchiveDiskActionHandler_lock) { + if (field3127 <= 1) { + field3127 = 0; + ArchiveDiskActionHandler_lock.notifyAll(); + return; + } + + --field3127; + } + } + } + } catch (Exception var17) { + class32.RunException_sendStackTrace((String)null, var17); + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZZB)V", + garbageValue = "10" + ) + @Export("openURL") + public static void openURL(String var0, boolean var1, boolean var2) { + WorldMapID.method568(var0, var1, "openjs", var2); + } +} diff --git a/runescape-client/src/main/java/ArchiveLoader.java b/runescape-client/src/main/java/ArchiveLoader.java index 2f8e99e56c..9e3bc64fd0 100644 --- a/runescape-client/src/main/java/ArchiveLoader.java +++ b/runescape-client/src/main/java/ArchiveLoader.java @@ -1,334 +1,122 @@ -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.ScriptOpcodes; - -@ObfuscatedName("bv") -@Implements("ArchiveLoader") -public class ArchiveLoader { - @ObfuscatedName("nd") - @ObfuscatedGetter( - intValue = -1623387895 - ) - @Export("widgetDragDuration") - static int widgetDragDuration; - @ObfuscatedName("sx") - @ObfuscatedGetter( - intValue = -1229165351 - ) - @Export("foundItemIndex") - static int foundItemIndex; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1875812039 - ) - static int field510; - @ObfuscatedName("eg") - @Export("worldHost") - static String worldHost; - @ObfuscatedName("fe") - @ObfuscatedSignature( - signature = "Lks;" - ) - static AbstractSocket field512; - @ObfuscatedName("go") - @ObfuscatedGetter( - intValue = -652150827 - ) - static int field508; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive") - final Archive archive; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1519742751 - ) - @Export("groupCount") - final int groupCount; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1438963135 - ) - @Export("loadedCount") - int loadedCount; - - @ObfuscatedSignature( - signature = "(Lio;Ljava/lang/String;)V" - ) - ArchiveLoader(Archive var1, String var2) { - this.loadedCount = 0; - this.archive = var1; - this.groupCount = var1.getGroupCount(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-856910986" - ) - @Export("isLoaded") - boolean isLoaded() { - this.loadedCount = 0; - - for (int var1 = 0; var1 < this.groupCount; ++var1) { - if (!this.archive.method4261(var1) || this.archive.method4283(var1)) { - ++this.loadedCount; - } - } - - return this.loadedCount >= this.groupCount; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkt;II)V", - garbageValue = "593682033" - ) - @Export("readPlayerUpdate") - static void readPlayerUpdate(PacketBuffer var0, int var1) { - boolean var2 = var0.readBits(1) == 1; - if (var2) { - Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; - } - - int var3 = var0.readBits(2); - Player var4 = Client.players[var1]; - if (var3 == 0) { - if (var2) { - var4.field607 = false; - } else if (Client.localPlayerIndex == var1) { - throw new RuntimeException(); - } else { - Players.Players_regions[var1] = (var4.plane << 28) + (class4.baseX * 64 + var4.pathX[0] >> 13 << 14) + (ScriptEvent.baseY + var4.pathY[0] >> 13); - if (var4.field945 != -1) { - Players.Players_orientations[var1] = var4.field945; - } else { - Players.Players_orientations[var1] = var4.orientation; - } - - Players.Players_targetIndices[var1] = var4.targetIndex; - Client.players[var1] = null; - if (var0.readBits(1) != 0) { - Message.updateExternalPlayer(var0, var1); - } - - } - } else { - int var5; - int var6; - int var7; - if (var3 == 1) { - var5 = var0.readBits(3); - var6 = var4.pathX[0]; - var7 = var4.pathY[0]; - if (var5 == 0) { - --var6; - --var7; - } else if (var5 == 1) { - --var7; - } else if (var5 == 2) { - ++var6; - --var7; - } else if (var5 == 3) { - --var6; - } else if (var5 == 4) { - ++var6; - } else if (var5 == 5) { - --var6; - ++var7; - } else if (var5 == 6) { - ++var7; - } else if (var5 == 7) { - ++var6; - ++var7; - } - - if (Client.localPlayerIndex == var1 && (var4.x * -78439701 < 1536 || var4.y < 1536 || var4.x * -78439701 >= 11776 || var4.y >= 11776)) { - var4.resetPath(var6, var7); - var4.field607 = false; - } else if (var2) { - var4.field607 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field607 = false; - var4.method1189(var6, var7, Players.field1220[var1]); - } - - } else if (var3 == 2) { - var5 = var0.readBits(4); - var6 = var4.pathX[0]; - var7 = var4.pathY[0]; - if (var5 == 0) { - var6 -= 2; - var7 -= 2; - } else if (var5 == 1) { - --var6; - var7 -= 2; - } else if (var5 == 2) { - var7 -= 2; - } else if (var5 == 3) { - ++var6; - var7 -= 2; - } else if (var5 == 4) { - var6 += 2; - var7 -= 2; - } else if (var5 == 5) { - var6 -= 2; - --var7; - } else if (var5 == 6) { - var6 += 2; - --var7; - } else if (var5 == 7) { - var6 -= 2; - } else if (var5 == 8) { - var6 += 2; - } else if (var5 == 9) { - var6 -= 2; - ++var7; - } else if (var5 == 10) { - var6 += 2; - ++var7; - } else if (var5 == 11) { - var6 -= 2; - var7 += 2; - } else if (var5 == 12) { - --var6; - var7 += 2; - } else if (var5 == 13) { - var7 += 2; - } else if (var5 == 14) { - ++var6; - var7 += 2; - } else if (var5 == 15) { - var6 += 2; - var7 += 2; - } - - if (Client.localPlayerIndex == var1 && (var4.x * -78439701 < 1536 || var4.y < 1536 || var4.x * -78439701 >= 11776 || var4.y >= 11776)) { - var4.resetPath(var6, var7); - var4.field607 = false; - } else if (var2) { - var4.field607 = true; - var4.tileX = var6; - var4.tileY = var7; - } else { - var4.field607 = false; - var4.method1189(var6, var7, Players.field1220[var1]); - } - - } else { - var5 = var0.readBits(1); - int var8; - int var9; - int var10; - int var11; - if (var5 == 0) { - var6 = var0.readBits(12); - var7 = var6 >> 10; - var8 = var6 >> 5 & 31; - if (var8 > 15) { - var8 -= 32; - } - - var9 = var6 & 31; - if (var9 > 15) { - var9 -= 32; - } - - var10 = var8 + var4.pathX[0]; - var11 = var9 + var4.pathY[0]; - if (Client.localPlayerIndex == var1 && (var4.x * -78439701 < 1536 || var4.y < 1536 || var4.x * -78439701 >= 11776 || var4.y >= 11776)) { - var4.resetPath(var10, var11); - var4.field607 = false; - } else if (var2) { - var4.field607 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field607 = false; - var4.method1189(var10, var11, Players.field1220[var1]); - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - MouseRecorder.plane = var4.plane; - } - - } else { - var6 = var0.readBits(30); - var7 = var6 >> 28; - var8 = var6 >> 14 & 16383; - var9 = var6 & 16383; - var10 = (class4.baseX * 64 + var8 + var4.pathX[0] & 16383) - class4.baseX * 64; - var11 = (var9 + ScriptEvent.baseY + var4.pathY[0] & 16383) - ScriptEvent.baseY; - if (Client.localPlayerIndex != var1 || var4.x * -78439701 >= 1536 && var4.y >= 1536 && var4.x * -78439701 < 11776 && var4.y < 11776) { - if (var2) { - var4.field607 = true; - var4.tileX = var10; - var4.tileY = var11; - } else { - var4.field607 = false; - var4.method1189(var10, var11, Players.field1220[var1]); - } - } else { - var4.resetPath(var10, var11); - var4.field607 = false; - } - - var4.plane = (byte)(var7 + var4.plane & 3); - if (Client.localPlayerIndex == var1) { - MouseRecorder.plane = var4.plane; - } - - } - } - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1052068547" - ) - static final boolean method1099() { - return ViewportMouse.ViewportMouse_isInViewport; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "1" - ) - static int method1096(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - } else { - var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - } - - if (var0 == ScriptOpcodes.CC_CALLONRESIZE) { - if (Interpreter.field1066 >= 10) { - throw new RuntimeException(); - } else if (var3.onResize == null) { - return 0; - } else { - ScriptEvent var4 = new ScriptEvent(); - var4.widget = var3; - var4.args = var3.onResize; - var4.field550 = Interpreter.field1066 + 1; - Client.scriptEvents.addFirst(var4); - return 1; - } - } else { - return 2; - } - } -} +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("bs") +@Implements("ArchiveLoader") +public class ArchiveLoader { + @ObfuscatedName("c") + @Export("Tiles_saturation") + static int[] Tiles_saturation; + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("worldSelectBackSprites") + static Sprite[] worldSelectBackSprites; + @ObfuscatedName("gi") + @Export("regionMapArchives") + static byte[][] regionMapArchives; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive") + final Archive archive; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1526719037 + ) + @Export("groupCount") + final int groupCount; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 966789861 + ) + @Export("loadedCount") + int loadedCount; + + @ObfuscatedSignature( + signature = "(Lie;Ljava/lang/String;)V" + ) + ArchiveLoader(Archive var1, String var2) { + this.loadedCount = 0; + this.archive = var1; + this.groupCount = var1.getGroupCount(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1969120013" + ) + @Export("isLoaded") + boolean isLoaded() { + this.loadedCount = 0; + + for (int var1 = 0; var1 < this.groupCount; ++var1) { + if (!this.archive.method4232(var1) || this.archive.method4231(var1)) { + ++this.loadedCount; + } + } + + return this.loadedCount >= this.groupCount; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-238840199" + ) + public static int method1173(int var0) { + return class32.method578(ViewportMouse.ViewportMouse_entityTags[var0]); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lbo;Lbo;IZIZB)I", + garbageValue = "7" + ) + static int method1174(World var0, World var1, int var2, boolean var3, int var4, boolean var5) { + int var6 = UserComparator7.compareWorlds(var0, var1, var2, var3); + if (var6 != 0) { + return var3 ? -var6 : var6; + } else if (var4 == -1) { + return 0; + } else { + int var7 = UserComparator7.compareWorlds(var0, var1, var4, var5); + return var5 ? -var7 : var7; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIIB)Ljava/lang/String;", + garbageValue = "-113" + ) + @Export("decodeStringCp1252") + public static String decodeStringCp1252(byte[] var0, int var1, int var2) { + char[] var3 = new char[var2]; + int var4 = 0; + + for (int var5 = 0; var5 < var2; ++var5) { + int var6 = var0[var5 + var1] & 255; + if (var6 != 0) { + if (var6 >= 128 && var6 < 160) { + char var7 = class287.cp1252AsciiExtension[var6 - 128]; + if (var7 == 0) { + var7 = '?'; + } + + var6 = var7; + } + + var3[var4++] = (char)var6; + } + } + + return new String(var3, 0, var4); + } +} diff --git a/runescape-client/src/main/java/AttackOption.java b/runescape-client/src/main/java/AttackOption.java index dfc414314b..3a3450acb4 100644 --- a/runescape-client/src/main/java/AttackOption.java +++ b/runescape-client/src/main/java/AttackOption.java @@ -1,163 +1,168 @@ -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("cl") -@Implements("AttackOption") -public enum AttackOption implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lcl;" - ) - @Export("AttackOption_dependsOnCombatLevels") - AttackOption_dependsOnCombatLevels(0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lcl;" - ) - @Export("AttackOption_alwaysRightClick") - AttackOption_alwaysRightClick(1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lcl;" - ) - @Export("AttackOption_leftClickWhereAvailable") - AttackOption_leftClickWhereAvailable(2), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lcl;" - ) - @Export("AttackOption_hidden") - AttackOption_hidden(3); - - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1962411245 - ) - @Export("id") - final int id; - - AttackOption(int var3) { - this.id = var3; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "([BI)Lcu;", - garbageValue = "447128018" - ) - @Export("newScript") - static Script newScript(byte[] var0) { - Script var1 = new Script(); - Buffer var2 = new Buffer(var0); - var2.offset = var2.array.length - 2; - int var3 = var2.readUnsignedShort(); - int var4 = var2.array.length - 2 - var3 - 12; - var2.offset = var4; - int var5 = var2.readInt(); - var1.localIntCount = var2.readUnsignedShort(); - var1.localStringCount = var2.readUnsignedShort(); - var1.intArgumentCount = var2.readUnsignedShort(); - var1.stringArgumentCount = var2.readUnsignedShort(); - int var6 = var2.readUnsignedByte(); - int var7; - int var8; - if (var6 > 0) { - var1.switches = var1.newIterableNodeHashTable(var6); - - for (var7 = 0; var7 < var6; ++var7) { - var8 = var2.readUnsignedShort(); - int var9; - int var11; - if (var8 > 0) { - var11 = var8 - 1; - var11 |= var11 >>> 1; - var11 |= var11 >>> 2; - var11 |= var11 >>> 4; - var11 |= var11 >>> 8; - var11 |= var11 >>> 16; - int var10 = var11 + 1; - var9 = var10; - } else { - var9 = 1; - } - - IterableNodeHashTable var13 = new IterableNodeHashTable(var9); - var1.switches[var7] = var13; - - while (var8-- > 0) { - var11 = var2.readInt(); - int var12 = var2.readInt(); - var13.put(new IntegerNode(var12), (long)var11); - } - } - } - - var2.offset = 0; - var2.readStringCp1252NullTerminatedOrNull(); - var1.opcodes = new int[var5]; - var1.intOperands = new int[var5]; - var1.stringOperands = new String[var5]; - - for (var7 = 0; var2.offset < var4; var1.opcodes[var7++] = var8) { - var8 = var2.readUnsignedShort(); - if (var8 == 3) { - var1.stringOperands[var7] = var2.readStringCp1252NullTerminated(); - } else if (var8 < 100 && var8 != 21 && var8 != 38 && var8 != 39) { - var1.intOperands[var7] = var2.readInt(); - } else { - var1.intOperands[var7] = var2.readUnsignedByte(); - } - } - - return var1; - } - - @ObfuscatedName("gg") - @ObfuscatedSignature( - signature = "(Lbe;IB)V", - garbageValue = "8" - ) - @Export("getActorScreenLocation") - static final void getActorScreenLocation(Actor var0, int var1) { - NPC.worldToScreen(var0.x * -78439701, var0.y, var1); - } - - @ObfuscatedName("jb") - @ObfuscatedSignature( - signature = "(IIIILli;Lhi;I)V", - garbageValue = "-1905138972" - ) - @Export("worldToMinimap") - static final void worldToMinimap(int var0, int var1, int var2, int var3, Sprite var4, SpriteMask var5) { - int var6 = var3 * var3 + var2 * var2; - if (var6 > 4225 && var6 < 90000) { - int var7 = Client.camAngleY & 2047; - int var8 = Rasterizer3D.Rasterizer3D_sine[var7]; - int var9 = Rasterizer3D.Rasterizer3D_cosine[var7]; - int var10 = var3 * var8 + var9 * var2 >> 16; - int var11 = var3 * var9 - var8 * var2 >> 16; - double var12 = Math.atan2((double)var10, (double)var11); - int var14 = var5.width / 2 - 25; - int var15 = (int)(Math.sin(var12) * (double)var14); - int var16 = (int)(Math.cos(var12) * (double)var14); - byte var17 = 20; - FontName.redHintArrowSprite.method6104(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); - } else { - ChatChannel.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); - } - - } -} +import java.security.SecureRandom; +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("cn") +@Implements("AttackOption") +public enum AttackOption implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lcn;" + ) + @Export("AttackOption_dependsOnCombatLevels") + AttackOption_dependsOnCombatLevels(0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lcn;" + ) + @Export("AttackOption_alwaysRightClick") + AttackOption_alwaysRightClick(1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lcn;" + ) + @Export("AttackOption_leftClickWhereAvailable") + AttackOption_leftClickWhereAvailable(2), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lcn;" + ) + @Export("AttackOption_hidden") + AttackOption_hidden(3); + + @ObfuscatedName("dw") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive9") + static Archive archive9; + @ObfuscatedName("gr") + @ObfuscatedSignature( + signature = "Llf;" + ) + @Export("compass") + static Sprite compass; + @ObfuscatedName("lc") + @ObfuscatedGetter( + intValue = 629841565 + ) + @Export("selectedSpellWidget") + static int selectedSpellWidget; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1814915457 + ) + @Export("id") + final int id; + + AttackOption(int var3) { + this.id = var3; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Ljava/security/SecureRandom;", + garbageValue = "639446581" + ) + static SecureRandom method2077() { + SecureRandom var0 = new SecureRandom(); + var0.nextInt(); + return var0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-379415067" + ) + @Export("updatePlayer") + static final void updatePlayer(PacketBuffer var0) { + var0.importIndex(); + int var1 = Client.localPlayerIndex; + Player var2 = class223.localPlayer = Client.players[var1] = new Player(); + var2.index = var1; + int var3 = var0.readBits(30); + byte var4 = (byte)(var3 >> 28); + int var5 = var3 >> 14 & 16383; + int var6 = var3 & 16383; + var2.pathX[0] = var5 - class223.baseX * 64; + var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6); + var2.pathY[0] = var6 - class286.baseY * 64; + var2.y = ((var2.pathY[0] << 7) + (var2.transformedSize() << 6)) * -944175751; + WorldMapRectangle.plane = var2.plane = var4; + if (Players.field1236[var1] != null) { + var2.read(Players.field1236[var1]); + } + + Players.Players_count = 0; + Players.Players_indices[++Players.Players_count - 1] = var1; + Players.field1244[var1] = 0; + Players.Players_emptyIdxCount = 0; + + for (int var7 = 1; var7 < 2048; ++var7) { + if (var1 != var7) { + int var8 = var0.readBits(18); + int var9 = var8 >> 16; + int var10 = var8 >> 8 & 597; + int var11 = var8 & 597; + Players.Players_regions[var7] = (var10 << 14) + var11 + (var9 << 28); + Players.Players_orientations[var7] = 0; + Players.Players_targetIndices[var7] = -1; + Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var7; + Players.field1244[var7] = 0; + } + } + + var0.exportIndex(); + } + + @ObfuscatedName("ed") + @ObfuscatedSignature( + signature = "(IZZZI)Lie;", + garbageValue = "1568056482" + ) + @Export("newArchive") + static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { + ArchiveDisk var4 = null; + if (JagexCache.JagexCache_dat2File != null) { + var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, class189.JagexCache_idxFiles[var0], 1000000); + } + + return new Archive(var4, WorldMapData_0.masterDisk, var0, var1, var2, var3); + } + + @ObfuscatedName("hj") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;IIIIZI)V", + garbageValue = "844579626" + ) + @Export("insertMenuItem") + static final void insertMenuItem(String var0, String var1, int var2, int var3, int var4, int var5, boolean var6) { + if (!Client.isMenuOpen) { + if (Client.menuOptionsCount < 500) { + Client.menuActions[Client.menuOptionsCount] = var0; + Client.menuTargets[Client.menuOptionsCount] = var1; + Client.menuOpcodes[Client.menuOptionsCount] = var2; + Client.menuIdentifiers[Client.menuOptionsCount] = var3; + Client.menuArguments1[Client.menuOptionsCount] = var4; + Client.menuArguments2[Client.menuOptionsCount] = var5; + Client.menuShiftClick[Client.menuOptionsCount] = var6; + ++Client.menuOptionsCount; + } + + } + } +} diff --git a/runescape-client/src/main/java/AudioFilter.java b/runescape-client/src/main/java/AudioFilter.java index 4a27ae0042..ec6c988282 100644 --- a/runescape-client/src/main/java/AudioFilter.java +++ b/runescape-client/src/main/java/AudioFilter.java @@ -1,159 +1,159 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dl") -@Implements("AudioFilter") -public class AudioFilter { - @ObfuscatedName("u") - static float[][] field1447; - @ObfuscatedName("j") - @Export("coefficients") - static int[][] coefficients; - @ObfuscatedName("v") - static float field1454; - @ObfuscatedName("d") - @Export("forwardMultiplier") - static int forwardMultiplier; - @ObfuscatedName("c") - @Export("pairs") - int[] pairs; - @ObfuscatedName("t") - int[][][] field1458; - @ObfuscatedName("g") - int[][][] field1450; - @ObfuscatedName("l") - int[] field1451; - - static { - field1447 = new float[2][8]; - coefficients = new int[2][8]; - } - - AudioFilter() { - this.pairs = new int[2]; - this.field1458 = new int[2][2][4]; - this.field1450 = new int[2][2][4]; - this.field1451 = new int[2]; - } - - @ObfuscatedName("c") - float method2655(int var1, int var2, float var3) { - float var4 = (float)this.field1450[var1][0][var2] + var3 * (float)(this.field1450[var1][1][var2] - this.field1450[var1][0][var2]); - var4 *= 0.0015258789F; - return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); - } - - @ObfuscatedName("t") - float method2657(int var1, int var2, float var3) { - float var4 = (float)this.field1458[var1][0][var2] + var3 * (float)(this.field1458[var1][1][var2] - this.field1458[var1][0][var2]); - var4 *= 1.2207031E-4F; - return normalize(var4); - } - - @ObfuscatedName("g") - @Export("compute") - int compute(int var1, float var2) { - float var3; - if (var1 == 0) { - var3 = (float)this.field1451[0] + (float)(this.field1451[1] - this.field1451[0]) * var2; - var3 *= 0.0030517578F; - field1454 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); - forwardMultiplier = (int)(field1454 * 65536.0F); - } - - if (this.pairs[var1] == 0) { - return 0; - } else { - var3 = this.method2655(var1, 0, var2); - field1447[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2657(var1, 0, var2)); - field1447[var1][1] = var3 * var3; - - float[] var10000; - int var4; - for (var4 = 1; var4 < this.pairs[var1]; ++var4) { - var3 = this.method2655(var1, var4, var2); - float var5 = -2.0F * var3 * (float)Math.cos((double)this.method2657(var1, var4, var2)); - float var6 = var3 * var3; - field1447[var1][var4 * 2 + 1] = field1447[var1][var4 * 2 - 1] * var6; - field1447[var1][var4 * 2] = field1447[var1][var4 * 2 - 1] * var5 + field1447[var1][var4 * 2 - 2] * var6; - - for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) { - var10000 = field1447[var1]; - var10000[var7] += field1447[var1][var7 - 1] * var5 + field1447[var1][var7 - 2] * var6; - } - - var10000 = field1447[var1]; - var10000[1] += field1447[var1][0] * var5 + var6; - var10000 = field1447[var1]; - var10000[0] += var5; - } - - if (var1 == 0) { - for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) { - var10000 = field1447[0]; - var10000[var4] *= field1454; - } - } - - for (var4 = 0; var4 < this.pairs[var1] * 2; ++var4) { - coefficients[var1][var4] = (int)(field1447[var1][var4] * 65536.0F); - } - - return this.pairs[var1] * 2; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkz;Ldo;)V" - ) - final void method2666(Buffer var1, SoundEnvelope var2) { - int var3 = var1.readUnsignedByte(); - this.pairs[0] = var3 >> 4; - this.pairs[1] = var3 & 15; - if (var3 != 0) { - this.field1451[0] = var1.readUnsignedShort(); - this.field1451[1] = var1.readUnsignedShort(); - int var4 = var1.readUnsignedByte(); - - int var5; - int var6; - for (var5 = 0; var5 < 2; ++var5) { - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { - this.field1458[var5][0][var6] = var1.readUnsignedShort(); - this.field1450[var5][0][var6] = var1.readUnsignedShort(); - } - } - - for (var5 = 0; var5 < 2; ++var5) { - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { - if ((var4 & 1 << var5 * 4 << var6) != 0) { - this.field1458[var5][1][var6] = var1.readUnsignedShort(); - this.field1450[var5][1][var6] = var1.readUnsignedShort(); - } else { - this.field1458[var5][1][var6] = this.field1458[var5][0][var6]; - this.field1450[var5][1][var6] = this.field1450[var5][0][var6]; - } - } - } - - if (var4 != 0 || this.field1451[1] != this.field1451[0]) { - var2.decodeSegments(var1); - } - } else { - int[] var7 = this.field1451; - this.field1451[1] = 0; - var7[0] = 0; - } - - } - - @ObfuscatedName("x") - @Export("normalize") - static float normalize(float var0) { - float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0); - return var1 * 3.1415927F / 11025.0F; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ds") +@Implements("AudioFilter") +public class AudioFilter { + @ObfuscatedName("p") + static float[][] field1454; + @ObfuscatedName("q") + @Export("coefficients") + static int[][] coefficients; + @ObfuscatedName("m") + static float field1456; + @ObfuscatedName("y") + @Export("forwardMultiplier") + static int forwardMultiplier; + @ObfuscatedName("z") + @Export("pairs") + int[] pairs; + @ObfuscatedName("v") + int[][][] field1458; + @ObfuscatedName("u") + int[][][] field1452; + @ObfuscatedName("r") + int[] field1453; + + static { + field1454 = new float[2][8]; + coefficients = new int[2][8]; + } + + AudioFilter() { + this.pairs = new int[2]; + this.field1458 = new int[2][2][4]; + this.field1452 = new int[2][2][4]; + this.field1453 = new int[2]; + } + + @ObfuscatedName("z") + float method2670(int var1, int var2, float var3) { + float var4 = (float)this.field1452[var1][0][var2] + var3 * (float)(this.field1452[var1][1][var2] - this.field1452[var1][0][var2]); + var4 *= 0.0015258789F; + return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); + } + + @ObfuscatedName("v") + float method2672(int var1, int var2, float var3) { + float var4 = (float)this.field1458[var1][0][var2] + var3 * (float)(this.field1458[var1][1][var2] - this.field1458[var1][0][var2]); + var4 *= 1.2207031E-4F; + return normalize(var4); + } + + @ObfuscatedName("u") + @Export("compute") + int compute(int var1, float var2) { + float var3; + if (var1 == 0) { + var3 = (float)this.field1453[0] + (float)(this.field1453[1] - this.field1453[0]) * var2; + var3 *= 0.0030517578F; + field1456 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); + forwardMultiplier = (int)(field1456 * 65536.0F); + } + + if (this.pairs[var1] == 0) { + return 0; + } else { + var3 = this.method2670(var1, 0, var2); + field1454[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2672(var1, 0, var2)); + field1454[var1][1] = var3 * var3; + + float[] var10000; + int var4; + for (var4 = 1; var4 < this.pairs[var1]; ++var4) { + var3 = this.method2670(var1, var4, var2); + float var5 = -2.0F * var3 * (float)Math.cos((double)this.method2672(var1, var4, var2)); + float var6 = var3 * var3; + field1454[var1][var4 * 2 + 1] = field1454[var1][var4 * 2 - 1] * var6; + field1454[var1][var4 * 2] = field1454[var1][var4 * 2 - 1] * var5 + field1454[var1][var4 * 2 - 2] * var6; + + for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) { + var10000 = field1454[var1]; + var10000[var7] += field1454[var1][var7 - 1] * var5 + field1454[var1][var7 - 2] * var6; + } + + var10000 = field1454[var1]; + var10000[1] += field1454[var1][0] * var5 + var6; + var10000 = field1454[var1]; + var10000[0] += var5; + } + + if (var1 == 0) { + for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) { + var10000 = field1454[0]; + var10000[var4] *= field1456; + } + } + + for (var4 = 0; var4 < this.pairs[var1] * 2; ++var4) { + coefficients[var1][var4] = (int)(field1454[var1][var4] * 65536.0F); + } + + return this.pairs[var1] * 2; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lkl;Ldm;)V" + ) + final void method2674(Buffer var1, SoundEnvelope var2) { + int var3 = var1.readUnsignedByte(); + this.pairs[0] = var3 >> 4; + this.pairs[1] = var3 & 15; + if (var3 != 0) { + this.field1453[0] = var1.readUnsignedShort(); + this.field1453[1] = var1.readUnsignedShort(); + int var4 = var1.readUnsignedByte(); + + int var5; + int var6; + for (var5 = 0; var5 < 2; ++var5) { + for (var6 = 0; var6 < this.pairs[var5]; ++var6) { + this.field1458[var5][0][var6] = var1.readUnsignedShort(); + this.field1452[var5][0][var6] = var1.readUnsignedShort(); + } + } + + for (var5 = 0; var5 < 2; ++var5) { + for (var6 = 0; var6 < this.pairs[var5]; ++var6) { + if ((var4 & 1 << var5 * 4 << var6) != 0) { + this.field1458[var5][1][var6] = var1.readUnsignedShort(); + this.field1452[var5][1][var6] = var1.readUnsignedShort(); + } else { + this.field1458[var5][1][var6] = this.field1458[var5][0][var6]; + this.field1452[var5][1][var6] = this.field1452[var5][0][var6]; + } + } + } + + if (var4 != 0 || this.field1453[1] != this.field1453[0]) { + var2.decodeSegments(var1); + } + } else { + int[] var7 = this.field1453; + this.field1453[1] = 0; + var7[0] = 0; + } + + } + + @ObfuscatedName("n") + @Export("normalize") + static float normalize(float var0) { + float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0); + return var1 * 3.1415927F / 11025.0F; + } +} diff --git a/runescape-client/src/main/java/BZip2Decompressor.java b/runescape-client/src/main/java/BZip2Decompressor.java index e40b637154..b025db937e 100644 --- a/runescape-client/src/main/java/BZip2Decompressor.java +++ b/runescape-client/src/main/java/BZip2Decompressor.java @@ -1,640 +1,640 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kw") -@Implements("BZip2Decompressor") -public final class BZip2Decompressor { - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lki;" - ) - @Export("BZip2Decompressor_state") - static BZip2State BZip2Decompressor_state; - - static { - BZip2Decompressor_state = new BZip2State(); - } - - @ObfuscatedName("c") - @Export("BZip2Decompressor_decompress") - public static int BZip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) { - synchronized(BZip2Decompressor_state) { - BZip2Decompressor_state.inputArray = var2; - BZip2Decompressor_state.nextByte = var4; - BZip2Decompressor_state.outputArray = var0; - BZip2Decompressor_state.next_out = 0; - BZip2Decompressor_state.outputLength = var1; - BZip2Decompressor_state.bsLive = 0; - BZip2Decompressor_state.bsBuff = 0; - BZip2Decompressor_state.nextBit_unused = 0; - BZip2Decompressor_state.field3740 = 0; - BZip2Decompressor_decompress(BZip2Decompressor_state); - var1 -= BZip2Decompressor_state.outputLength; - BZip2Decompressor_state.inputArray = null; - BZip2Decompressor_state.outputArray = null; - return var1; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lki;)V" - ) - static void method5753(BZip2State var0) { - byte var2 = var0.out_char; - int var3 = var0.su_rNToGo; - int var4 = var0.nblocks_used; - int var5 = var0.su_ch2; - int[] var6 = VarbitDefinition.BZip2Decompressor_block; - int var7 = var0.field3725; - byte[] var8 = var0.outputArray; - int var9 = var0.next_out; - int var10 = var0.outputLength; - int var12 = var0.field3710 + 1; - - label61: - while (true) { - if (var3 > 0) { - while (true) { - if (var10 == 0) { - break label61; - } - - if (var3 == 1) { - if (var10 == 0) { - var3 = 1; - break label61; - } - - var8[var9] = var2; - ++var9; - --var10; - break; - } - - var8[var9] = var2; - --var3; - ++var9; - --var10; - } - } - - while (var4 != var12) { - var2 = (byte)var5; - var7 = var6[var7]; - byte var1 = (byte)var7; - var7 >>= 8; - ++var4; - if (var1 != var5) { - var5 = var1; - if (var10 == 0) { - var3 = 1; - break label61; - } - - var8[var9] = var2; - ++var9; - --var10; - } else { - if (var4 != var12) { - var3 = 2; - var7 = var6[var7]; - var1 = (byte)var7; - var7 >>= 8; - ++var4; - if (var4 != var12) { - if (var1 != var5) { - var5 = var1; - } else { - var3 = 3; - var7 = var6[var7]; - var1 = (byte)var7; - var7 >>= 8; - ++var4; - if (var4 != var12) { - if (var1 != var5) { - var5 = var1; - } else { - var7 = var6[var7]; - var1 = (byte)var7; - var7 >>= 8; - ++var4; - var3 = (var1 & 255) + 4; - var7 = var6[var7]; - var5 = (byte)var7; - var7 >>= 8; - ++var4; - } - } - } - } - continue label61; - } - - if (var10 == 0) { - var3 = 1; - break label61; - } - - var8[var9] = var2; - ++var9; - --var10; - } - } - - var3 = 0; - break; - } - - int var13 = var0.field3740; - var0.field3740 += var10 - var10; - if (var0.field3740 < var13) { - } - - var0.out_char = var2; - var0.su_rNToGo = var3; - var0.nblocks_used = var4; - var0.su_ch2 = var5; - VarbitDefinition.BZip2Decompressor_block = var6; - var0.field3725 = var7; - var0.outputArray = var8; - var0.next_out = var9; - var0.outputLength = var10; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lki;)V" - ) - @Export("BZip2Decompressor_decompress") - static void BZip2Decompressor_decompress(BZip2State var0) { - boolean var4 = false; - boolean var5 = false; - boolean var6 = false; - boolean var7 = false; - boolean var8 = false; - boolean var9 = false; - boolean var10 = false; - boolean var11 = false; - boolean var12 = false; - boolean var13 = false; - boolean var14 = false; - boolean var15 = false; - boolean var16 = false; - boolean var17 = false; - boolean var18 = false; - boolean var19 = false; - boolean var20 = false; - boolean var21 = false; - int var22 = 0; - int[] var23 = null; - int[] var24 = null; - int[] var25 = null; - var0.blockSize100k = 1410065408; - if (VarbitDefinition.BZip2Decompressor_block == null) { - VarbitDefinition.BZip2Decompressor_block = new int[var0.blockSize100k * 100000]; - } - - boolean var26 = true; - - while (true) { - while (var26) { - byte var1 = BZip2Decompressor_readNextByte(var0); - if (var1 == 23) { - return; - } - - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextByte(var0); - var1 = BZip2Decompressor_readNextBit(var0); - if (var1 != 0) { - } - - var0.originalPointer = 0; - var1 = BZip2Decompressor_readNextByte(var0); - var0.originalPointer = var0.originalPointer << 8 | var1 & 255; - var1 = BZip2Decompressor_readNextByte(var0); - var0.originalPointer = var0.originalPointer << 8 | var1 & 255; - var1 = BZip2Decompressor_readNextByte(var0); - var0.originalPointer = var0.originalPointer << 8 | var1 & 255; - - int var36; - for (var36 = 0; var36 < 16; ++var36) { - var1 = BZip2Decompressor_readNextBit(var0); - if (var1 == 1) { - var0.inUse16[var36] = true; - } else { - var0.inUse16[var36] = false; - } - } - - for (var36 = 0; var36 < 256; ++var36) { - var0.inUse[var36] = false; - } - - int var37; - for (var36 = 0; var36 < 16; ++var36) { - if (var0.inUse16[var36]) { - for (var37 = 0; var37 < 16; ++var37) { - var1 = BZip2Decompressor_readNextBit(var0); - if (var1 == 1) { - var0.inUse[var37 + var36 * 16] = true; - } - } - } - } - - makeMaps(var0); - int var39 = var0.nInUse + 2; - int var40 = BZip2Decompressor_readBits(3, var0); - int var41 = BZip2Decompressor_readBits(15, var0); - - for (var36 = 0; var36 < var41; ++var36) { - var37 = 0; - - while (true) { - var1 = BZip2Decompressor_readNextBit(var0); - if (var1 == 0) { - var0.selectorMtf[var36] = (byte)var37; - break; - } - - ++var37; - } - } - - byte[] var27 = new byte[6]; - - byte var29; - for (var29 = 0; var29 < var40; var27[var29] = var29++) { - } - - for (var36 = 0; var36 < var41; ++var36) { - var29 = var0.selectorMtf[var36]; - - byte var28; - for (var28 = var27[var29]; var29 > 0; --var29) { - var27[var29] = var27[var29 - 1]; - } - - var27[0] = var28; - var0.selector[var36] = var28; - } - - int var38; - for (var38 = 0; var38 < var40; ++var38) { - int var50 = BZip2Decompressor_readBits(5, var0); - - for (var36 = 0; var36 < var39; ++var36) { - while (true) { - var1 = BZip2Decompressor_readNextBit(var0); - if (var1 == 0) { - var0.temp_charArray2d[var38][var36] = (byte)var50; - break; - } - - var1 = BZip2Decompressor_readNextBit(var0); - if (var1 == 0) { - ++var50; - } else { - --var50; - } - } - } - } - - for (var38 = 0; var38 < var40; ++var38) { - byte var2 = 32; - byte var3 = 0; - - for (var36 = 0; var36 < var39; ++var36) { - if (var0.temp_charArray2d[var38][var36] > var3) { - var3 = var0.temp_charArray2d[var38][var36]; - } - - if (var0.temp_charArray2d[var38][var36] < var2) { - var2 = var0.temp_charArray2d[var38][var36]; - } - } - - BZip2Decompressor_createHuffmanTables(var0.limit[var38], var0.base[var38], var0.perm[var38], var0.temp_charArray2d[var38], var2, var3, var39); - var0.minLens[var38] = var2; - } - - int var42 = var0.nInUse + 1; - int var43 = -1; - byte var44 = 0; - - for (var36 = 0; var36 <= 255; ++var36) { - var0.unzftab[var36] = 0; - } - - int var56 = 4095; - - int var35; - int var55; - for (var35 = 15; var35 >= 0; --var35) { - for (var55 = 15; var55 >= 0; --var55) { - var0.ll8[var56] = (byte)(var55 + var35 * 16); - --var56; - } - - var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; - } - - int var47 = 0; - byte var54; - if (var44 == 0) { - ++var43; - var44 = 50; - var54 = var0.selector[var43]; - var22 = var0.minLens[var54]; - var23 = var0.limit[var54]; - var25 = var0.perm[var54]; - var24 = var0.base[var54]; - } - - int var45 = var44 - 1; - int var51 = var22; - - int var52; - byte var53; - for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { - ++var51; - var53 = BZip2Decompressor_readNextBit(var0); - } - - int var46 = var25[var52 - var24[var51]]; - - while (true) { - int[] var10000; - int var10002; - while (var46 != var42) { - if (var46 != 0 && var46 != 1) { - int var33 = var46 - 1; - int var30; - if (var33 < 16) { - var30 = var0.getAndMoveToFrontDecode_yy[0]; - - for (var1 = var0.ll8[var30 + var33]; var33 > 3; var33 -= 4) { - int var34 = var30 + var33; - var0.ll8[var34] = var0.ll8[var34 - 1]; - var0.ll8[var34 - 1] = var0.ll8[var34 - 2]; - var0.ll8[var34 - 2] = var0.ll8[var34 - 3]; - var0.ll8[var34 - 3] = var0.ll8[var34 - 4]; - } - - while (var33 > 0) { - var0.ll8[var30 + var33] = var0.ll8[var30 + var33 - 1]; - --var33; - } - - var0.ll8[var30] = var1; - } else { - int var31 = var33 / 16; - int var32 = var33 % 16; - var30 = var0.getAndMoveToFrontDecode_yy[var31] + var32; - - for (var1 = var0.ll8[var30]; var30 > var0.getAndMoveToFrontDecode_yy[var31]; --var30) { - var0.ll8[var30] = var0.ll8[var30 - 1]; - } - - for (var10002 = var0.getAndMoveToFrontDecode_yy[var31]++; var31 > 0; --var31) { - var10002 = var0.getAndMoveToFrontDecode_yy[var31]--; - var0.ll8[var0.getAndMoveToFrontDecode_yy[var31]] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var31 - 1] + 16 - 1]; - } - - var10002 = var0.getAndMoveToFrontDecode_yy[0]--; - var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] = var1; - if (var0.getAndMoveToFrontDecode_yy[0] == 0) { - var56 = 4095; - - for (var35 = 15; var35 >= 0; --var35) { - for (var55 = 15; var55 >= 0; --var55) { - var0.ll8[var56] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var35] + var55]; - --var56; - } - - var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; - } - } - } - - var10002 = var0.unzftab[var0.seqToUnseq[var1 & 255] & 255]++; - VarbitDefinition.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255; - ++var47; - if (var45 == 0) { - ++var43; - var45 = 50; - var54 = var0.selector[var43]; - var22 = var0.minLens[var54]; - var23 = var0.limit[var54]; - var25 = var0.perm[var54]; - var24 = var0.base[var54]; - } - - --var45; - var51 = var22; - - for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { - ++var51; - var53 = BZip2Decompressor_readNextBit(var0); - } - - var46 = var25[var52 - var24[var51]]; - } else { - int var48 = -1; - int var49 = 1; - - do { - if (var46 == 0) { - var48 += var49; - } else if (var46 == 1) { - var48 += var49 * 2; - } - - var49 *= 2; - if (var45 == 0) { - ++var43; - var45 = 50; - var54 = var0.selector[var43]; - var22 = var0.minLens[var54]; - var23 = var0.limit[var54]; - var25 = var0.perm[var54]; - var24 = var0.base[var54]; - } - - --var45; - var51 = var22; - - for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { - ++var51; - var53 = BZip2Decompressor_readNextBit(var0); - } - - var46 = var25[var52 - var24[var51]]; - } while(var46 == 0 || var46 == 1); - - ++var48; - var1 = var0.seqToUnseq[var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] & 255]; - var10000 = var0.unzftab; - - for (var10000[var1 & 255] += var48; var48 > 0; --var48) { - VarbitDefinition.BZip2Decompressor_block[var47] = var1 & 255; - ++var47; - } - } - } - - var0.su_rNToGo = 0; - var0.out_char = 0; - var0.cftab[0] = 0; - - for (var36 = 1; var36 <= 256; ++var36) { - var0.cftab[var36] = var0.unzftab[var36 - 1]; - } - - for (var36 = 1; var36 <= 256; ++var36) { - var10000 = var0.cftab; - var10000[var36] += var0.cftab[var36 - 1]; - } - - for (var36 = 0; var36 < var47; ++var36) { - var1 = (byte)(VarbitDefinition.BZip2Decompressor_block[var36] & 255); - var10000 = VarbitDefinition.BZip2Decompressor_block; - int var10001 = var0.cftab[var1 & 255]; - var10000[var10001] |= var36 << 8; - var10002 = var0.cftab[var1 & 255]++; - } - - var0.field3725 = VarbitDefinition.BZip2Decompressor_block[var0.originalPointer] >> 8; - var0.nblocks_used = 0; - var0.field3725 = VarbitDefinition.BZip2Decompressor_block[var0.field3725]; - var0.su_ch2 = (byte)(var0.field3725 & 255); - var0.field3725 >>= 8; - ++var0.nblocks_used; - var0.field3710 = var47; - method5753(var0); - if (var0.field3710 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) { - var26 = true; - break; - } - - var26 = false; - break; - } - } - - return; - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lki;)B" - ) - @Export("BZip2Decompressor_readNextByte") - static byte BZip2Decompressor_readNextByte(BZip2State var0) { - return (byte)BZip2Decompressor_readBits(8, var0); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lki;)B" - ) - @Export("BZip2Decompressor_readNextBit") - static byte BZip2Decompressor_readNextBit(BZip2State var0) { - return (byte)BZip2Decompressor_readBits(1, var0); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(ILki;)I" - ) - @Export("BZip2Decompressor_readBits") - static int BZip2Decompressor_readBits(int var0, BZip2State var1) { - while (var1.bsLive < var0) { - var1.bsBuff = var1.bsBuff << 8 | var1.inputArray[var1.nextByte] & 255; - var1.bsLive += 8; - ++var1.nextByte; - ++var1.nextBit_unused; - if (var1.nextBit_unused == 0) { - } - } - - int var2 = var1.bsBuff >> var1.bsLive - var0 & (1 << var0) - 1; - var1.bsLive -= var0; - return var2; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Lki;)V" - ) - @Export("makeMaps") - static void makeMaps(BZip2State var0) { - var0.nInUse = 0; - - for (int var1 = 0; var1 < 256; ++var1) { - if (var0.inUse[var1]) { - var0.seqToUnseq[var0.nInUse] = (byte)var1; - ++var0.nInUse; - } - } - - } - - @ObfuscatedName("v") - @Export("BZip2Decompressor_createHuffmanTables") - static void BZip2Decompressor_createHuffmanTables(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 (var8 == var3[var9]) { - 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]; - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("km") +@Implements("BZip2Decompressor") +public final class BZip2Decompressor { + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lkj;" + ) + @Export("BZip2Decompressor_state") + static BZip2State BZip2Decompressor_state; + + static { + BZip2Decompressor_state = new BZip2State(); + } + + @ObfuscatedName("z") + @Export("BZip2Decompressor_decompress") + public static int BZip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) { + synchronized(BZip2Decompressor_state) { + BZip2Decompressor_state.inputArray = var2; + BZip2Decompressor_state.nextByte = var4; + BZip2Decompressor_state.outputArray = var0; + BZip2Decompressor_state.next_out = 0; + BZip2Decompressor_state.outputLength = var1; + BZip2Decompressor_state.bsLive = 0; + BZip2Decompressor_state.bsBuff = 0; + BZip2Decompressor_state.nextBit_unused = 0; + BZip2Decompressor_state.field3713 = 0; + BZip2Decompressor_decompress(BZip2Decompressor_state); + var1 -= BZip2Decompressor_state.outputLength; + BZip2Decompressor_state.inputArray = null; + BZip2Decompressor_state.outputArray = null; + return var1; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkj;)V" + ) + static void method5690(BZip2State var0) { + byte var2 = var0.out_char; + int var3 = var0.su_rNToGo; + int var4 = var0.nblocks_used; + int var5 = var0.su_ch2; + int[] var6 = DirectByteArrayCopier.BZip2Decompressor_block; + int var7 = var0.field3732; + byte[] var8 = var0.outputArray; + int var9 = var0.next_out; + int var10 = var0.outputLength; + int var12 = var0.field3750 + 1; + + label61: + while (true) { + if (var3 > 0) { + while (true) { + if (var10 == 0) { + break label61; + } + + if (var3 == 1) { + if (var10 == 0) { + var3 = 1; + break label61; + } + + var8[var9] = var2; + ++var9; + --var10; + break; + } + + var8[var9] = var2; + --var3; + ++var9; + --var10; + } + } + + while (var4 != var12) { + var2 = (byte)var5; + var7 = var6[var7]; + byte var1 = (byte)var7; + var7 >>= 8; + ++var4; + if (var1 != var5) { + var5 = var1; + if (var10 == 0) { + var3 = 1; + break label61; + } + + var8[var9] = var2; + ++var9; + --var10; + } else { + if (var4 != var12) { + var3 = 2; + var7 = var6[var7]; + var1 = (byte)var7; + var7 >>= 8; + ++var4; + if (var4 != var12) { + if (var1 != var5) { + var5 = var1; + } else { + var3 = 3; + var7 = var6[var7]; + var1 = (byte)var7; + var7 >>= 8; + ++var4; + if (var4 != var12) { + if (var1 != var5) { + var5 = var1; + } else { + var7 = var6[var7]; + var1 = (byte)var7; + var7 >>= 8; + ++var4; + var3 = (var1 & 255) + 4; + var7 = var6[var7]; + var5 = (byte)var7; + var7 >>= 8; + ++var4; + } + } + } + } + continue label61; + } + + if (var10 == 0) { + var3 = 1; + break label61; + } + + var8[var9] = var2; + ++var9; + --var10; + } + } + + var3 = 0; + break; + } + + int var13 = var0.field3713; + var0.field3713 += var10 - var10; + if (var0.field3713 < var13) { + } + + var0.out_char = var2; + var0.su_rNToGo = var3; + var0.nblocks_used = var4; + var0.su_ch2 = var5; + DirectByteArrayCopier.BZip2Decompressor_block = var6; + var0.field3732 = var7; + var0.outputArray = var8; + var0.next_out = var9; + var0.outputLength = var10; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkj;)V" + ) + @Export("BZip2Decompressor_decompress") + static void BZip2Decompressor_decompress(BZip2State var0) { + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + boolean var7 = false; + boolean var8 = false; + boolean var9 = false; + boolean var10 = false; + boolean var11 = false; + boolean var12 = false; + boolean var13 = false; + boolean var14 = false; + boolean var15 = false; + boolean var16 = false; + boolean var17 = false; + boolean var18 = false; + boolean var19 = false; + boolean var20 = false; + boolean var21 = false; + int var22 = 0; + int[] var23 = null; + int[] var24 = null; + int[] var25 = null; + var0.blockSize100k = 1410065408; + if (DirectByteArrayCopier.BZip2Decompressor_block == null) { + DirectByteArrayCopier.BZip2Decompressor_block = new int[var0.blockSize100k * 100000]; + } + + boolean var26 = true; + + while (true) { + while (var26) { + byte var1 = BZip2Decompressor_readNextByte(var0); + if (var1 == 23) { + return; + } + + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 != 0) { + } + + var0.originalPointer = 0; + var1 = BZip2Decompressor_readNextByte(var0); + var0.originalPointer = var0.originalPointer << 8 | var1 & 255; + var1 = BZip2Decompressor_readNextByte(var0); + var0.originalPointer = var0.originalPointer << 8 | var1 & 255; + var1 = BZip2Decompressor_readNextByte(var0); + var0.originalPointer = var0.originalPointer << 8 | var1 & 255; + + int var36; + for (var36 = 0; var36 < 16; ++var36) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 1) { + var0.inUse16[var36] = true; + } else { + var0.inUse16[var36] = false; + } + } + + for (var36 = 0; var36 < 256; ++var36) { + var0.inUse[var36] = false; + } + + int var37; + for (var36 = 0; var36 < 16; ++var36) { + if (var0.inUse16[var36]) { + for (var37 = 0; var37 < 16; ++var37) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 1) { + var0.inUse[var37 + var36 * 16] = true; + } + } + } + } + + makeMaps(var0); + int var39 = var0.nInUse + 2; + int var40 = BZip2Decompressor_readBits(3, var0); + int var41 = BZip2Decompressor_readBits(15, var0); + + for (var36 = 0; var36 < var41; ++var36) { + var37 = 0; + + while (true) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 0) { + var0.selectorMtf[var36] = (byte)var37; + break; + } + + ++var37; + } + } + + byte[] var27 = new byte[6]; + + byte var29; + for (var29 = 0; var29 < var40; var27[var29] = var29++) { + } + + for (var36 = 0; var36 < var41; ++var36) { + var29 = var0.selectorMtf[var36]; + + byte var28; + for (var28 = var27[var29]; var29 > 0; --var29) { + var27[var29] = var27[var29 - 1]; + } + + var27[0] = var28; + var0.selector[var36] = var28; + } + + int var38; + for (var38 = 0; var38 < var40; ++var38) { + int var50 = BZip2Decompressor_readBits(5, var0); + + for (var36 = 0; var36 < var39; ++var36) { + while (true) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 0) { + var0.temp_charArray2d[var38][var36] = (byte)var50; + break; + } + + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 0) { + ++var50; + } else { + --var50; + } + } + } + } + + for (var38 = 0; var38 < var40; ++var38) { + byte var2 = 32; + byte var3 = 0; + + for (var36 = 0; var36 < var39; ++var36) { + if (var0.temp_charArray2d[var38][var36] > var3) { + var3 = var0.temp_charArray2d[var38][var36]; + } + + if (var0.temp_charArray2d[var38][var36] < var2) { + var2 = var0.temp_charArray2d[var38][var36]; + } + } + + BZip2Decompressor_createHuffmanTables(var0.limit[var38], var0.base[var38], var0.perm[var38], var0.temp_charArray2d[var38], var2, var3, var39); + var0.minLens[var38] = var2; + } + + int var42 = var0.nInUse + 1; + int var43 = -1; + byte var44 = 0; + + for (var36 = 0; var36 <= 255; ++var36) { + var0.unzftab[var36] = 0; + } + + int var56 = 4095; + + int var35; + int var55; + for (var35 = 15; var35 >= 0; --var35) { + for (var55 = 15; var55 >= 0; --var55) { + var0.ll8[var56] = (byte)(var55 + var35 * 16); + --var56; + } + + var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; + } + + int var47 = 0; + byte var54; + if (var44 == 0) { + ++var43; + var44 = 50; + var54 = var0.selector[var43]; + var22 = var0.minLens[var54]; + var23 = var0.limit[var54]; + var25 = var0.perm[var54]; + var24 = var0.base[var54]; + } + + int var45 = var44 - 1; + int var51 = var22; + + int var52; + byte var53; + for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { + ++var51; + var53 = BZip2Decompressor_readNextBit(var0); + } + + int var46 = var25[var52 - var24[var51]]; + + while (true) { + int[] var10000; + int var10002; + while (var46 != var42) { + if (var46 != 0 && var46 != 1) { + int var33 = var46 - 1; + int var30; + if (var33 < 16) { + var30 = var0.getAndMoveToFrontDecode_yy[0]; + + for (var1 = var0.ll8[var30 + var33]; var33 > 3; var33 -= 4) { + int var34 = var30 + var33; + var0.ll8[var34] = var0.ll8[var34 - 1]; + var0.ll8[var34 - 1] = var0.ll8[var34 - 2]; + var0.ll8[var34 - 2] = var0.ll8[var34 - 3]; + var0.ll8[var34 - 3] = var0.ll8[var34 - 4]; + } + + while (var33 > 0) { + var0.ll8[var30 + var33] = var0.ll8[var30 + var33 - 1]; + --var33; + } + + var0.ll8[var30] = var1; + } else { + int var31 = var33 / 16; + int var32 = var33 % 16; + var30 = var0.getAndMoveToFrontDecode_yy[var31] + var32; + + for (var1 = var0.ll8[var30]; var30 > var0.getAndMoveToFrontDecode_yy[var31]; --var30) { + var0.ll8[var30] = var0.ll8[var30 - 1]; + } + + for (var10002 = var0.getAndMoveToFrontDecode_yy[var31]++; var31 > 0; --var31) { + var10002 = var0.getAndMoveToFrontDecode_yy[var31]--; + var0.ll8[var0.getAndMoveToFrontDecode_yy[var31]] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var31 - 1] + 16 - 1]; + } + + var10002 = var0.getAndMoveToFrontDecode_yy[0]--; + var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] = var1; + if (var0.getAndMoveToFrontDecode_yy[0] == 0) { + var56 = 4095; + + for (var35 = 15; var35 >= 0; --var35) { + for (var55 = 15; var55 >= 0; --var55) { + var0.ll8[var56] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var35] + var55]; + --var56; + } + + var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; + } + } + } + + var10002 = var0.unzftab[var0.seqToUnseq[var1 & 255] & 255]++; + DirectByteArrayCopier.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255; + ++var47; + if (var45 == 0) { + ++var43; + var45 = 50; + var54 = var0.selector[var43]; + var22 = var0.minLens[var54]; + var23 = var0.limit[var54]; + var25 = var0.perm[var54]; + var24 = var0.base[var54]; + } + + --var45; + var51 = var22; + + for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { + ++var51; + var53 = BZip2Decompressor_readNextBit(var0); + } + + var46 = var25[var52 - var24[var51]]; + } else { + int var48 = -1; + int var49 = 1; + + do { + if (var46 == 0) { + var48 += var49; + } else if (var46 == 1) { + var48 += var49 * 2; + } + + var49 *= 2; + if (var45 == 0) { + ++var43; + var45 = 50; + var54 = var0.selector[var43]; + var22 = var0.minLens[var54]; + var23 = var0.limit[var54]; + var25 = var0.perm[var54]; + var24 = var0.base[var54]; + } + + --var45; + var51 = var22; + + for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { + ++var51; + var53 = BZip2Decompressor_readNextBit(var0); + } + + var46 = var25[var52 - var24[var51]]; + } while(var46 == 0 || var46 == 1); + + ++var48; + var1 = var0.seqToUnseq[var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] & 255]; + var10000 = var0.unzftab; + + for (var10000[var1 & 255] += var48; var48 > 0; --var48) { + DirectByteArrayCopier.BZip2Decompressor_block[var47] = var1 & 255; + ++var47; + } + } + } + + var0.su_rNToGo = 0; + var0.out_char = 0; + var0.cftab[0] = 0; + + for (var36 = 1; var36 <= 256; ++var36) { + var0.cftab[var36] = var0.unzftab[var36 - 1]; + } + + for (var36 = 1; var36 <= 256; ++var36) { + var10000 = var0.cftab; + var10000[var36] += var0.cftab[var36 - 1]; + } + + for (var36 = 0; var36 < var47; ++var36) { + var1 = (byte)(DirectByteArrayCopier.BZip2Decompressor_block[var36] & 255); + var10000 = DirectByteArrayCopier.BZip2Decompressor_block; + int var10001 = var0.cftab[var1 & 255]; + var10000[var10001] |= var36 << 8; + var10002 = var0.cftab[var1 & 255]++; + } + + var0.field3732 = DirectByteArrayCopier.BZip2Decompressor_block[var0.originalPointer] >> 8; + var0.nblocks_used = 0; + var0.field3732 = DirectByteArrayCopier.BZip2Decompressor_block[var0.field3732]; + var0.su_ch2 = (byte)(var0.field3732 & 255); + var0.field3732 >>= 8; + ++var0.nblocks_used; + var0.field3750 = var47; + method5690(var0); + if (var0.field3750 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) { + var26 = true; + break; + } + + var26 = false; + break; + } + } + + return; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkj;)B" + ) + @Export("BZip2Decompressor_readNextByte") + static byte BZip2Decompressor_readNextByte(BZip2State var0) { + return (byte)BZip2Decompressor_readBits(8, var0); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lkj;)B" + ) + @Export("BZip2Decompressor_readNextBit") + static byte BZip2Decompressor_readNextBit(BZip2State var0) { + return (byte)BZip2Decompressor_readBits(1, var0); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(ILkj;)I" + ) + @Export("BZip2Decompressor_readBits") + static int BZip2Decompressor_readBits(int var0, BZip2State var1) { + while (var1.bsLive < var0) { + var1.bsBuff = var1.bsBuff << 8 | var1.inputArray[var1.nextByte] & 255; + var1.bsLive += 8; + ++var1.nextByte; + ++var1.nextBit_unused; + if (var1.nextBit_unused == 0) { + } + } + + int var2 = var1.bsBuff >> var1.bsLive - var0 & (1 << var0) - 1; + var1.bsLive -= var0; + return var2; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkj;)V" + ) + @Export("makeMaps") + static void makeMaps(BZip2State var0) { + var0.nInUse = 0; + + for (int var1 = 0; var1 < 256; ++var1) { + if (var0.inUse[var1]) { + var0.seqToUnseq[var0.nInUse] = (byte)var1; + ++var0.nInUse; + } + } + + } + + @ObfuscatedName("m") + @Export("BZip2Decompressor_createHuffmanTables") + static void BZip2Decompressor_createHuffmanTables(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 (var8 == var3[var9]) { + 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]; + } + + } +} diff --git a/runescape-client/src/main/java/BZip2State.java b/runescape-client/src/main/java/BZip2State.java index 648d247bea..1de52193e7 100644 --- a/runescape-client/src/main/java/BZip2State.java +++ b/runescape-client/src/main/java/BZip2State.java @@ -1,184 +1,210 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ki") -@Implements("BZip2State") -public final class BZip2State { - @ObfuscatedName("c") - final int field3717; - @ObfuscatedName("x") - final int field3709; - @ObfuscatedName("t") - final int field3715; - @ObfuscatedName("g") - final int field3712; - @ObfuscatedName("l") - final int field3737; - @ObfuscatedName("u") - final int field3731; - @ObfuscatedName("j") - @Export("inputArray") - byte[] inputArray; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1785442725 - ) - @Export("nextByte") - int nextByte; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1327133653 - ) - @Export("nextBit_unused") - int nextBit_unused; - @ObfuscatedName("z") - @Export("outputArray") - byte[] outputArray; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1502043783 - ) - @Export("next_out") - int next_out; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1076780583 - ) - @Export("outputLength") - int outputLength; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -2062863895 - ) - int field3740; - @ObfuscatedName("s") - @Export("out_char") - byte out_char; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -424992051 - ) - @Export("su_rNToGo") - int su_rNToGo; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 2124513987 - ) - @Export("bsBuff") - int bsBuff; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 225690987 - ) - @Export("bsLive") - int bsLive; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 813800448 - ) - @Export("blockSize100k") - int blockSize100k; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1074633139 - ) - @Export("originalPointer") - int originalPointer; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1279441131 - ) - int field3725; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1234783121 - ) - @Export("su_ch2") - int su_ch2; - @ObfuscatedName("w") - @Export("unzftab") - int[] unzftab; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -147337203 - ) - @Export("nblocks_used") - int nblocks_used; - @ObfuscatedName("o") - @Export("cftab") - int[] cftab; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1493034079 - ) - @Export("nInUse") - int nInUse; - @ObfuscatedName("ag") - @Export("inUse") - boolean[] inUse; - @ObfuscatedName("at") - @Export("inUse16") - boolean[] inUse16; - @ObfuscatedName("ao") - @Export("seqToUnseq") - byte[] seqToUnseq; - @ObfuscatedName("av") - @Export("ll8") - byte[] ll8; - @ObfuscatedName("an") - @Export("getAndMoveToFrontDecode_yy") - int[] getAndMoveToFrontDecode_yy; - @ObfuscatedName("al") - @Export("selector") - byte[] selector; - @ObfuscatedName("as") - @Export("selectorMtf") - byte[] selectorMtf; - @ObfuscatedName("ad") - @Export("temp_charArray2d") - byte[][] temp_charArray2d; - @ObfuscatedName("ap") - @Export("limit") - int[][] limit; - @ObfuscatedName("ax") - @Export("base") - int[][] base; - @ObfuscatedName("aj") - @Export("perm") - int[][] perm; - @ObfuscatedName("ab") - @Export("minLens") - int[] minLens; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -864562359 - ) - int field3710; - - BZip2State() { - this.field3717 = 4096; - this.field3709 = 16; - this.field3715 = 258; - this.field3712 = 6; - this.field3737 = 50; - this.field3731 = 18002; - this.nextByte = 0; - this.next_out = 0; - this.unzftab = new int[256]; - this.cftab = new int[257]; - this.inUse = new boolean[256]; - this.inUse16 = new boolean[16]; - this.seqToUnseq = new byte[256]; - this.ll8 = new byte[4096]; - this.getAndMoveToFrontDecode_yy = new int[16]; - this.selector = new byte[18002]; - this.selectorMtf = new byte[18002]; - this.temp_charArray2d = new byte[6][258]; - this.limit = new int[6][258]; - this.base = new int[6][258]; - this.perm = new int[6][258]; - this.minLens = new int[6]; - } -} +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("kj") +@Implements("BZip2State") +public final class BZip2State { + @ObfuscatedName("eg") + @ObfuscatedGetter( + intValue = -1555084527 + ) + @Export("port2") + static int port2; + @ObfuscatedName("z") + final int field3723; + @ObfuscatedName("n") + final int field3740; + @ObfuscatedName("v") + final int field3749; + @ObfuscatedName("u") + final int field3729; + @ObfuscatedName("r") + final int field3717; + @ObfuscatedName("p") + final int field3730; + @ObfuscatedName("q") + @Export("inputArray") + byte[] inputArray; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1460237959 + ) + @Export("nextByte") + int nextByte; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 19255173 + ) + @Export("nextBit_unused") + int nextBit_unused; + @ObfuscatedName("i") + @Export("outputArray") + byte[] outputArray; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 577933795 + ) + @Export("next_out") + int next_out; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1492713953 + ) + @Export("outputLength") + int outputLength; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1053795843 + ) + int field3713; + @ObfuscatedName("a") + @Export("out_char") + byte out_char; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 423882031 + ) + @Export("su_rNToGo") + int su_rNToGo; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1870654053 + ) + @Export("bsBuff") + int bsBuff; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 2034972657 + ) + @Export("bsLive") + int bsLive; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1804549120 + ) + @Export("blockSize100k") + int blockSize100k; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -2121773995 + ) + @Export("originalPointer") + int originalPointer; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1375440771 + ) + int field3732; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1764835615 + ) + @Export("su_ch2") + int su_ch2; + @ObfuscatedName("f") + @Export("unzftab") + int[] unzftab; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1747033841 + ) + @Export("nblocks_used") + int nblocks_used; + @ObfuscatedName("d") + @Export("cftab") + int[] cftab; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1244375945 + ) + @Export("nInUse") + int nInUse; + @ObfuscatedName("ac") + @Export("inUse") + boolean[] inUse; + @ObfuscatedName("az") + @Export("inUse16") + boolean[] inUse16; + @ObfuscatedName("aw") + @Export("seqToUnseq") + byte[] seqToUnseq; + @ObfuscatedName("aa") + @Export("ll8") + byte[] ll8; + @ObfuscatedName("ap") + @Export("getAndMoveToFrontDecode_yy") + int[] getAndMoveToFrontDecode_yy; + @ObfuscatedName("ar") + @Export("selector") + byte[] selector; + @ObfuscatedName("ab") + @Export("selectorMtf") + byte[] selectorMtf; + @ObfuscatedName("ax") + @Export("temp_charArray2d") + byte[][] temp_charArray2d; + @ObfuscatedName("as") + @Export("limit") + int[][] limit; + @ObfuscatedName("ao") + @Export("base") + int[][] base; + @ObfuscatedName("al") + @Export("perm") + int[][] perm; + @ObfuscatedName("ad") + @Export("minLens") + int[] minLens; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 648150601 + ) + int field3750; + + BZip2State() { + this.field3723 = 4096; + this.field3740 = 16; + this.field3749 = 258; + this.field3729 = 6; + this.field3717 = 50; + this.field3730 = 18002; + this.nextByte = 0; + this.next_out = 0; + this.unzftab = new int[256]; + this.cftab = new int[257]; + this.inUse = new boolean[256]; + this.inUse16 = new boolean[16]; + this.seqToUnseq = new byte[256]; + this.ll8 = new byte[4096]; + this.getAndMoveToFrontDecode_yy = new int[16]; + this.selector = new byte[18002]; + this.selectorMtf = new byte[18002]; + this.temp_charArray2d = new byte[6][258]; + this.limit = new int[6][258]; + this.base = new int[6][258]; + this.perm = new int[6][258]; + this.minLens = new int[6]; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)[Lkc;", + garbageValue = "-127" + ) + @Export("ChatMode_values") + static PrivateChatMode[] ChatMode_values() { + return new PrivateChatMode[]{PrivateChatMode.field3792, PrivateChatMode.field3790, PrivateChatMode.field3791}; + } + + @ObfuscatedName("hy") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "157596925" + ) + static boolean method5688(int var0) { + return var0 == 57 || var0 == 58 || var0 == 1007 || var0 == 25 || var0 == 30; + } +} diff --git a/runescape-client/src/main/java/BoundaryObject.java b/runescape-client/src/main/java/BoundaryObject.java index e625dab203..f0b10d2a22 100644 --- a/runescape-client/src/main/java/BoundaryObject.java +++ b/runescape-client/src/main/java/BoundaryObject.java @@ -1,91 +1,84 @@ -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("ea") -@Implements("BoundaryObject") -public final class BoundaryObject { - @ObfuscatedName("ok") - @ObfuscatedSignature( - signature = "Lcj;" - ) - @Export("varcs") - static Varcs varcs; - @ObfuscatedName("sm") - @Export("foundItemIds") - static short[] foundItemIds; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -2123632967 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1852557733 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 728809035 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 848853075 - ) - @Export("orientationA") - int orientationA; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1849497569 - ) - @Export("orientationB") - int orientationB; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("entity1") - public Entity entity1; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("entity2") - public Entity entity2; - @ObfuscatedName("v") - @ObfuscatedGetter( - longValue = -720242261539970297L - ) - @Export("tag") - public long tag; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1272619537 - ) - @Export("flags") - int flags; - - BoundaryObject() { - this.tag = 0L; - this.flags = 0; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IB)Ljava/lang/String;", - garbageValue = "-17" - ) - static final String method3230(int var0) { - if (var0 < 100000) { - return "" + var0 + ""; - } else { - return var0 < 10000000 ? "" + var0 / 1000 + "K" + "" : "" + var0 / 1000000 + "M" + ""; - } - } -} +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("eo") +@Implements("BoundaryObject") +public final class BoundaryObject { + @ObfuscatedName("dc") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive3") + static Archive archive3; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -21907105 + ) + @Export("orientationA") + int orientationA; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 614934347 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -602196191 + ) + @Export("x") + int x; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1866626591 + ) + @Export("y") + int y; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1916194803 + ) + @Export("orientationB") + int orientationB; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("entity1") + public Entity entity1; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("entity2") + public Entity entity2; + @ObfuscatedName("m") + @ObfuscatedGetter( + longValue = 7018407287880452951L + ) + @Export("tag") + public long tag; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -461421073 + ) + @Export("flags") + int flags; + + BoundaryObject() { + this.tag = 0L; + this.flags = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(CB)Z", + garbageValue = "31" + ) + static final boolean method3222(char var0) { + return var0 == 160 || var0 == ' ' || var0 == '_' || var0 == '-'; + } +} diff --git a/runescape-client/src/main/java/Bounds.java b/runescape-client/src/main/java/Bounds.java index a7c05359e2..4fe4571fcb 100644 --- a/runescape-client/src/main/java/Bounds.java +++ b/runescape-client/src/main/java/Bounds.java @@ -1,155 +1,155 @@ -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("lr") -@Implements("Bounds") -public class Bounds { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -242928427 - ) - @Export("lowX") - public int lowX; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1412221703 - ) - @Export("lowY") - public int lowY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1383178295 - ) - @Export("highX") - public int highX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -647845267 - ) - @Export("highY") - public int highY; - - public Bounds(int var1, int var2, int var3, int var4) { - this.setLow(var1, var2); - this.setHigh(var3, var4); - } - - public Bounds(int var1, int var2) { - this(0, 0, var1, var2); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIS)V", - garbageValue = "23378" - ) - @Export("setLow") - public void setLow(int var1, int var2) { - this.lowX = var1; - this.lowY = var2; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-361054840" - ) - @Export("setHigh") - public void setHigh(int var1, int var2) { - this.highX = var1; - this.highY = var2; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Llr;Llr;S)V", - garbageValue = "3042" - ) - public void method5948(Bounds var1, Bounds var2) { - this.method5936(var1, var2); - this.method5938(var1, var2); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Llr;Llr;I)V", - garbageValue = "1943311297" - ) - void method5936(Bounds var1, Bounds var2) { - var2.lowX = this.lowX; - var2.highX = this.highX; - if (this.lowX < var1.lowX) { - var2.highX -= var1.lowX - this.lowX; - var2.lowX = var1.lowX; - } - - if (var2.method5947() > var1.method5947()) { - var2.highX -= var2.method5947() - var1.method5947(); - } - - if (var2.highX < 0) { - var2.highX = 0; - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Llr;Llr;B)V", - garbageValue = "0" - ) - void method5938(Bounds var1, Bounds var2) { - var2.lowY = this.lowY; - var2.highY = this.highY; - if (this.lowY < var1.lowY) { - var2.highY -= var1.lowY - this.lowY; - var2.lowY = var1.lowY; - } - - if (var2.method5940() > var1.method5940()) { - var2.highY -= var2.method5940() - var1.method5940(); - } - - if (var2.highY < 0) { - var2.highY = 0; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-241231712" - ) - int method5947() { - return this.highX + this.lowX; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1659278045" - ) - int method5940() { - return this.highY + this.lowY; - } - - public String toString() { - return null; - } - - public String aan() { - return null; - } - - public String aai() { - return null; - } - - public String aar() { - return null; - } -} +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("ll") +@Implements("Bounds") +public class Bounds { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -479130629 + ) + @Export("lowX") + public int lowX; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 724783571 + ) + @Export("lowY") + public int lowY; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1669121479 + ) + @Export("highX") + public int highX; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1354833317 + ) + @Export("highY") + public int highY; + + public Bounds(int var1, int var2, int var3, int var4) { + this.setLow(var1, var2); + this.setHigh(var3, var4); + } + + public Bounds(int var1, int var2) { + this(0, 0, var1, var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "166241873" + ) + @Export("setLow") + public void setLow(int var1, int var2) { + this.lowX = var1; + this.lowY = var2; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1712715973" + ) + @Export("setHigh") + public void setHigh(int var1, int var2) { + this.highX = var1; + this.highY = var2; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lll;Lll;I)V", + garbageValue = "2079875928" + ) + public void method5893(Bounds var1, Bounds var2) { + this.method5905(var1, var2); + this.method5894(var1, var2); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lll;Lll;B)V", + garbageValue = "-1" + ) + void method5905(Bounds var1, Bounds var2) { + var2.lowX = this.lowX; + var2.highX = this.highX; + if (this.lowX < var1.lowX) { + var2.highX -= var1.lowX - this.lowX; + var2.lowX = var1.lowX; + } + + if (var2.method5896() > var1.method5896()) { + var2.highX -= var2.method5896() - var1.method5896(); + } + + if (var2.highX < 0) { + var2.highX = 0; + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lll;Lll;I)V", + garbageValue = "-1654040739" + ) + void method5894(Bounds var1, Bounds var2) { + var2.lowY = this.lowY; + var2.highY = this.highY; + if (this.lowY < var1.lowY) { + var2.highY -= var1.lowY - this.lowY; + var2.lowY = var1.lowY; + } + + if (var2.method5892() > var1.method5892()) { + var2.highY -= var2.method5892() - var1.method5892(); + } + + if (var2.highY < 0) { + var2.highY = 0; + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "769635987" + ) + int method5896() { + return this.lowX + this.highX; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "59" + ) + int method5892() { + return this.highY + this.lowY; + } + + public String toString() { + return null; + } + + public String aak() { + return null; + } + + public String aae() { + return null; + } + + public String aah() { + return null; + } +} diff --git a/runescape-client/src/main/java/Buddy.java b/runescape-client/src/main/java/Buddy.java index f2c32b150e..b684e69463 100644 --- a/runescape-client/src/main/java/Buddy.java +++ b/runescape-client/src/main/java/Buddy.java @@ -1,63 +1,425 @@ -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("je") -@Implements("Buddy") -public class Buddy extends User { - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -359902741 - ) - @Export("world") - public int world; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 725247471 - ) - @Export("int2") - public int int2; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -846387241 - ) - @Export("rank") - public int rank; - - Buddy() { - this.world = -1; - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-741499831" - ) - @Export("set") - void set(int var1, int var2) { - this.world = var1; - this.int2 = var2; - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "293368620" - ) - @Export("getWorld") - public int getWorld() { - return this.world; - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(S)Z", - garbageValue = "-12107" - ) - @Export("hasWorld") - public boolean hasWorld() { - return this.world > 0; - } -} +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.ScriptOpcodes; + +@ObfuscatedName("jl") +@Implements("Buddy") +public class Buddy extends User { + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1753766973 + ) + @Export("world") + public int world; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1761858423 + ) + @Export("int2") + public int int2; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1627143829 + ) + @Export("rank") + public int rank; + + Buddy() { + this.world = -1; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-736416010" + ) + @Export("set") + void set(int var1, int var2) { + this.world = var1; + this.int2 = var2; + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-516703486" + ) + @Export("getWorld") + public int getWorld() { + return this.world; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "0" + ) + @Export("hasWorld") + public boolean hasWorld() { + return this.world > 0; + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "1426462552" + ) + static int method5099(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.FRIEND_COUNT) { + if (Tiles.friendSystem.field1052 == 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -2; + } else if (Tiles.friendSystem.field1052 == 1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Tiles.friendSystem.friendsList.getSize(); + } + + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.FRIEND_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Tiles.friendSystem.method1859() && var3 >= 0 && var3 < Tiles.friendSystem.friendsList.getSize()) { + Friend var8 = (Friend)Tiles.friendSystem.friendsList.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getName(); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Tiles.friendSystem.method1859() && var3 >= 0 && var3 < Tiles.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)Tiles.friendSystem.friendsList.get(var3)).world; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Tiles.friendSystem.method1859() && var3 >= 0 && var3 < Tiles.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)Tiles.friendSystem.friendsList.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + String var5; + if (var0 == ScriptOpcodes.FRIEND_SETRANK) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + int var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + NPC.method2046(var5, var6); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_ADD) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Tiles.friendSystem.addFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_DEL) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Tiles.friendSystem.removeFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_ADD) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Tiles.friendSystem.addIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_DEL) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Tiles.friendSystem.removeIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_TEST) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var5 = WorldMapSectionType.method250(var5); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Tiles.friendSystem.isFriended(new Username(var5, WorldMapSection1.loginType), false) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { + if (Varps.clanChat != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Varps.clanChat.name; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { + if (Varps.clanChat != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Varps.clanChat.getSize(); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Varps.clanChat != null && var3 < Varps.clanChat.getSize()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Varps.clanChat.get(var3).getUsername().getName(); + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Varps.clanChat != null && var3 < Varps.clanChat.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)Varps.clanChat.get(var3)).getWorld(); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Varps.clanChat != null && var3 < Varps.clanChat.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)Varps.clanChat.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Varps.clanChat != null ? Varps.clanChat.minKick : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + NetCache.clanKickUser(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Varps.clanChat != null ? Varps.clanChat.rank : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + World.Clan_joinChat(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { + WorldMapLabel.Clan_leaveChat(); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { + if (!Tiles.friendSystem.method1859()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Tiles.friendSystem.ignoreList.getSize(); + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Tiles.friendSystem.method1859() && var3 >= 0 && var3 < Tiles.friendSystem.ignoreList.getSize()) { + Ignored var4 = (Ignored)Tiles.friendSystem.ignoreList.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getName(); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_TEST) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var5 = WorldMapSectionType.method250(var5); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Tiles.friendSystem.isIgnored(new Username(var5, WorldMapSection1.loginType)) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Varps.clanChat != null && var3 < Varps.clanChat.getSize() && Varps.clanChat.get(var3).getUsername().equals(class223.localPlayer.username)) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { + if (Varps.clanChat != null && Varps.clanChat.owner != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Varps.clanChat.owner; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Varps.clanChat != null && var3 < Varps.clanChat.getSize() && ((ClanMate)Varps.clanChat.get(var3)).isFriend()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { + if (var0 == 3628) { + Tiles.friendSystem.friendsList.removeComparator(); + return 1; + } else { + boolean var7; + if (var0 == 3629) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3630) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3631) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator3(var7)); + return 1; + } else if (var0 == 3632) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator4(var7)); + return 1; + } else if (var0 == 3633) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator5(var7)); + return 1; + } else if (var0 == 3634) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator6(var7)); + return 1; + } else if (var0 == 3635) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator7(var7)); + return 1; + } else if (var0 == 3636) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator8(var7)); + return 1; + } else if (var0 == 3637) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator9(var7)); + return 1; + } else if (var0 == 3638) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new UserComparator10(var7)); + return 1; + } else if (var0 == 3639) { + Tiles.friendSystem.friendsList.sort(); + return 1; + } else if (var0 == 3640) { + Tiles.friendSystem.ignoreList.removeComparator(); + return 1; + } else if (var0 == 3641) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.ignoreList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3642) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.ignoreList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3643) { + Tiles.friendSystem.ignoreList.sort(); + return 1; + } else if (var0 == 3644) { + if (Varps.clanChat != null) { + Varps.clanChat.removeComparator(); + } + + return 1; + } else if (var0 == 3645) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator1(var7)); + } + + return 1; + } else if (var0 == 3646) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator2(var7)); + } + + return 1; + } else if (var0 == 3647) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator3(var7)); + } + + return 1; + } else if (var0 == 3648) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator4(var7)); + } + + return 1; + } else if (var0 == 3649) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator5(var7)); + } + + return 1; + } else if (var0 == 3650) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator6(var7)); + } + + return 1; + } else if (var0 == 3651) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator7(var7)); + } + + return 1; + } else if (var0 == 3652) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator8(var7)); + } + + return 1; + } else if (var0 == 3653) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator9(var7)); + } + + return 1; + } else if (var0 == 3654) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new UserComparator10(var7)); + } + + return 1; + } else if (var0 == 3655) { + if (Varps.clanChat != null) { + Varps.clanChat.sort(); + } + + return 1; + } else if (var0 == 3656) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Tiles.friendSystem.friendsList.addComparator(new BuddyRankComparator(var7)); + return 1; + } else if (var0 == 3657) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (Varps.clanChat != null) { + Varps.clanChat.addComparator(new BuddyRankComparator(var7)); + } + + return 1; + } else { + return 2; + } + } + } else { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (Varps.clanChat != null && var3 < Varps.clanChat.getSize() && ((ClanMate)Varps.clanChat.get(var3)).isIgnored()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } + } +} diff --git a/runescape-client/src/main/java/BuddyRankComparator.java b/runescape-client/src/main/java/BuddyRankComparator.java index 548a90451d..9e65f3fdd5 100644 --- a/runescape-client/src/main/java/BuddyRankComparator.java +++ b/runescape-client/src/main/java/BuddyRankComparator.java @@ -1,41 +1,44 @@ -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("fh") -@Implements("BuddyRankComparator") -public class BuddyRankComparator extends AbstractUserComparator { - @ObfuscatedName("my") - @ObfuscatedGetter( - intValue = 30724641 - ) - @Export("selectedSpellFlags") - static int selectedSpellFlags; - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public BuddyRankComparator(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;S)I", - garbageValue = "28982" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var2.rank != var1.rank) { - return this.reversed ? var1.rank - var2.rank : var2.rank - var1.rank; - } else { - return this.compareUser(var1, var2); - } - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fd") +@Implements("BuddyRankComparator") +public class BuddyRankComparator extends AbstractUserComparator { + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public BuddyRankComparator(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "-1443378495" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var2.rank != var1.rank) { + return this.reversed ? var1.rank - var2.rank : var2.rank - var1.rank; + } else { + return this.compareUser(var1, var2); + } + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("hs") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "96" + ) + @Export("getNewestMenuIdx") + static final int getNewestMenuIdx() { + return Client.menuOptionsCount - 1; + } +} diff --git a/runescape-client/src/main/java/Buffer.java b/runescape-client/src/main/java/Buffer.java index b13f9a203c..5c74bc4432 100644 --- a/runescape-client/src/main/java/Buffer.java +++ b/runescape-client/src/main/java/Buffer.java @@ -1,1034 +1,1030 @@ -import java.math.BigInteger; -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("kz") -@Implements("Buffer") -public class Buffer extends Node { - @ObfuscatedName("v") - @Export("crc32Table") - public static int[] crc32Table; - @ObfuscatedName("z") - @Export("crc64Table") - static long[] crc64Table; - @ObfuscatedName("u") - @Export("array") - public byte[] array; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1189972175 - ) - @Export("offset") - public int offset; - - static { - crc32Table = new int[256]; - - int var2; - for (int var1 = 0; var1 < 256; ++var1) { - int var0 = var1; - - for (var2 = 0; var2 < 8; ++var2) { - if ((var0 & 1) == 1) { - var0 = var0 >>> 1 ^ -306674912; - } else { - var0 >>>= 1; - } - } - - crc32Table[var1] = var0; - } - - crc64Table = new long[256]; - - for (var2 = 0; var2 < 256; ++var2) { - long var4 = (long)var2; - - for (int var3 = 0; var3 < 8; ++var3) { - if ((var4 & 1L) == 1L) { - var4 = var4 >>> 1 ^ -3932672073523589310L; - } else { - var4 >>>= 1; - } - } - - crc64Table[var2] = var4; - } - - } - - public Buffer(int var1) { - this.array = class30.ByteArrayPool_getArray(var1); - this.offset = 0; - } - - public Buffer(byte[] var1) { - this.array = var1; - this.offset = 0; - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "38" - ) - @Export("releaseArray") - public void releaseArray() { - if (this.array != null) { - UserComparator5.ByteArrayPool_release(this.array); - } - - this.array = null; - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1260587251" - ) - @Export("writeByte") - public void writeByte(int var1) { - this.array[++this.offset - 1] = (byte)var1; - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "618943248" - ) - @Export("writeShort") - public void writeShort(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)var1; - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1756344108" - ) - @Export("writeMedium") - public void writeMedium(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 16); - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)var1; - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2107422926" - ) - @Export("writeInt") - public void writeInt(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 24); - this.array[++this.offset - 1] = (byte)(var1 >> 16); - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)var1; - } - - @ObfuscatedName("ar") - @Export("writeLongMedium") - public void writeLongMedium(long var1) { - this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); - this.array[++this.offset - 1] = (byte)((int)var1); - } - - @ObfuscatedName("ac") - @Export("writeLong") - public void writeLong(long var1) { - this.array[++this.offset - 1] = (byte)((int)(var1 >> 56)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 48)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); - this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); - this.array[++this.offset - 1] = (byte)((int)var1); - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(ZS)V", - garbageValue = "1337" - ) - @Export("writeBoolean") - public void writeBoolean(boolean var1) { - this.writeByte(var1 ? 1 : 0); - } - - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-838686798" - ) - @Export("writeStringCp1252NullTerminated") - public void writeStringCp1252NullTerminated(String var1) { - int var2 = var1.indexOf(0); - if (var2 >= 0) { - throw new IllegalArgumentException(""); - } else { - this.offset += class210.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); - this.array[++this.offset - 1] = 0; - } - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-103316861" - ) - @Export("writeStringCp1252NullCircumfixed") - public void writeStringCp1252NullCircumfixed(String var1) { - int var2 = var1.indexOf(0); - if (var2 >= 0) { - throw new IllegalArgumentException(""); - } else { - this.array[++this.offset - 1] = 0; - this.offset += class210.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); - this.array[++this.offset - 1] = 0; - } - } - - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;B)V", - garbageValue = "-64" - ) - @Export("writeCESU8") - public void writeCESU8(CharSequence var1) { - int var3 = var1.length(); - int var4 = 0; - - for (int var5 = 0; var5 < var3; ++var5) { - char var6 = var1.charAt(var5); - if (var6 <= 127) { - ++var4; - } else if (var6 <= 2047) { - var4 += 2; - } else { - var4 += 3; - } - } - - this.array[++this.offset - 1] = 0; - this.writeVarInt(var4); - this.offset += ViewportMouse.method2956(this.array, this.offset, var1); - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "99753612" - ) - @Export("writeBytes") - public void writeBytes(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { - this.array[++this.offset - 1] = var1[var4]; - } - - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-557514726" - ) - @Export("writeLengthInt") - public void writeLengthInt(int var1) { - if (var1 < 0) { - throw new IllegalArgumentException(); - } else { - this.array[this.offset - var1 - 4] = (byte)(var1 >> 24); - this.array[this.offset - var1 - 3] = (byte)(var1 >> 16); - this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); - this.array[this.offset - var1 - 1] = (byte)var1; - } - } - - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "72" - ) - @Export("writeLengthShort") - public void writeLengthShort(int var1) { - if (var1 >= 0 && var1 <= 65535) { - this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); - this.array[this.offset - var1 - 1] = (byte)var1; - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "44" - ) - @Export("writeLengthByte") - public void writeLengthByte(int var1) { - if (var1 >= 0 && var1 <= 255) { - this.array[this.offset - var1 - 1] = (byte)var1; - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "970899408" - ) - @Export("writeSmartByteShort") - public void writeSmartByteShort(int var1) { - if (var1 >= 0 && var1 < 128) { - this.writeByte(var1); - } else if (var1 >= 0 && var1 < 32768) { - this.writeShort(var1 + 32768); - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("bv") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1902392454" - ) - @Export("writeVarInt") - public void writeVarInt(int var1) { - if ((var1 & -128) != 0) { - if ((var1 & -16384) != 0) { - if ((var1 & -2097152) != 0) { - if ((var1 & -268435456) != 0) { - this.writeByte(var1 >>> 28 | 128); - } - - this.writeByte(var1 >>> 21 | 128); - } - - this.writeByte(var1 >>> 14 | 128); - } - - this.writeByte(var1 >>> 7 | 128); - } - - this.writeByte(var1 & 127); - } - - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1728300707" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() { - return this.array[++this.offset - 1] & 255; - } - - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "(B)B", - garbageValue = "114" - ) - @Export("readByte") - public byte readByte() { - return this.array[++this.offset - 1]; - } - - @ObfuscatedName("bw") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1980740859" - ) - @Export("readUnsignedShort") - public int readUnsignedShort() { - this.offset += 2; - return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); - } - - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1980960820" - ) - @Export("readShort") - public int readShort() { - this.offset += 2; - int var1 = (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); - if (var1 > 32767) { - var1 -= 65536; - } - - return var1; - } - - @ObfuscatedName("bt") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1938085544" - ) - @Export("readMedium") - public int readMedium() { - this.offset += 3; - return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); - } - - @ObfuscatedName("bj") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "98" - ) - @Export("readInt") - public int readInt() { - this.offset += 4; - return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 24); - } - - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "(I)J", - garbageValue = "2079336469" - ) - @Export("readLong") - public long readLong() { - long var1 = (long)this.readInt() & 4294967295L; - long var3 = (long)this.readInt() & 4294967295L; - return (var1 << 32) + var3; - } - - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1896103883" - ) - @Export("readBoolean") - public boolean readBoolean() { - return (this.readUnsignedByte() & 1) == 1; - } - - @ObfuscatedName("bh") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "425843067" - ) - @Export("readStringCp1252NullTerminatedOrNull") - public String readStringCp1252NullTerminatedOrNull() { - if (this.array[this.offset] == 0) { - ++this.offset; - return null; - } else { - return this.readStringCp1252NullTerminated(); - } - } - - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-1577831456" - ) - @Export("readStringCp1252NullTerminated") - public String readStringCp1252NullTerminated() { - int var1 = this.offset; - - while (this.array[++this.offset - 1] != 0) { - } - - int var2 = this.offset - var1 - 1; - return var2 == 0 ? "" : class51.decodeStringCp1252(this.array, var1, var2); - } - - @ObfuscatedName("be") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "65" - ) - @Export("readStringCp1252NullCircumfixed") - public String readStringCp1252NullCircumfixed() { - byte var1 = this.array[++this.offset - 1]; - if (var1 != 0) { - throw new IllegalStateException(""); - } else { - int var2 = this.offset; - - while (this.array[++this.offset - 1] != 0) { - } - - int var3 = this.offset - var2 - 1; - return var3 == 0 ? "" : class51.decodeStringCp1252(this.array, var2, var3); - } - } - - @ObfuscatedName("bl") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-161524074" - ) - @Export("readCESU8") - public String readCESU8() { - byte var1 = this.array[++this.offset - 1]; - if (var1 != 0) { - throw new IllegalStateException(""); - } else { - int var2 = this.readVarInt(); - if (var2 + this.offset > this.array.length) { - throw new IllegalStateException(""); - } else { - String var3 = ArchiveDiskAction.method4132(this.array, this.offset, var2); - this.offset += var2; - return var3; - } - } - } - - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "-190296870" - ) - @Export("readBytes") - public void readBytes(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { - var1[var4] = this.array[++this.offset - 1]; - } - - } - - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "912699635" - ) - @Export("readShortSmart") - public int readShortSmart() { - int var1 = this.array[this.offset] & 255; - return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152; - } - - @ObfuscatedName("bz") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "109" - ) - @Export("readUShortSmart") - public int readUShortSmart() { - int var1 = this.array[this.offset] & 255; - return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768; - } - - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-389889422" - ) - public int method5480() { - int var1 = 0; - - int var2; - for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) { - var1 += 32767; - } - - var1 += var2; - return var1; - } - - @ObfuscatedName("br") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1759456747" - ) - public int method5481() { - return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort(); - } - - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1828581894" - ) - public int method5623() { - if (this.array[this.offset] < 0) { - return this.readInt() & Integer.MAX_VALUE; - } else { - int var1 = this.readUnsignedShort(); - return var1 == 32767 ? -1 : var1; - } - } - - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-322424913" - ) - @Export("readVarInt") - public int readVarInt() { - byte var1 = this.array[++this.offset - 1]; - - int var2; - for (var2 = 0; var1 < 0; var1 = this.array[++this.offset - 1]) { - var2 = (var2 | var1 & 127) << 7; - } - - return var2 | var1; - } - - @ObfuscatedName("cb") - @ObfuscatedSignature( - signature = "([IB)V", - garbageValue = "36" - ) - @Export("xteaEncryptAll") - public void xteaEncryptAll(int[] var1) { - int var2 = this.offset / 8; - this.offset = 0; - - for (int var3 = 0; var3 < var2; ++var3) { - int var4 = this.readInt(); - int var5 = this.readInt(); - int var6 = 0; - int var7 = -1640531527; - - for (int var8 = 32; var8-- > 0; var5 += var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6) { - var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]; - var6 += var7; - } - - this.offset -= 8; - this.writeInt(var4); - this.writeInt(var5); - } - - } - - @ObfuscatedName("ct") - @ObfuscatedSignature( - signature = "([II)V", - garbageValue = "-2128070091" - ) - @Export("xteaDecryptAll") - public void xteaDecryptAll(int[] var1) { - int var2 = this.offset / 8; - this.offset = 0; - - for (int var3 = 0; var3 < var2; ++var3) { - int var4 = this.readInt(); - int var5 = this.readInt(); - int var6 = -957401312; - int var7 = -1640531527; - - for (int var8 = 32; var8-- > 0; var4 -= var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]) { - var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6; - var6 -= var7; - } - - this.offset -= 8; - this.writeInt(var4); - this.writeInt(var5); - } - - } - - @ObfuscatedName("ch") - @ObfuscatedSignature( - signature = "([IIII)V", - garbageValue = "1296681906" - ) - @Export("xteaEncrypt") - public void xteaEncrypt(int[] var1, int var2, int var3) { - int var4 = this.offset; - this.offset = var2; - int var5 = (var3 - var2) / 8; - - for (int var6 = 0; var6 < var5; ++var6) { - int var7 = this.readInt(); - int var8 = this.readInt(); - int var9 = 0; - int var10 = -1640531527; - - for (int var11 = 32; var11-- > 0; var8 += var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9) { - var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]; - var9 += var10; - } - - this.offset -= 8; - this.writeInt(var7); - this.writeInt(var8); - } - - this.offset = var4; - } - - @ObfuscatedName("cc") - @ObfuscatedSignature( - signature = "([IIIB)V", - garbageValue = "25" - ) - @Export("xteaDecrypt") - public void xteaDecrypt(int[] var1, int var2, int var3) { - int var4 = this.offset; - this.offset = var2; - int var5 = (var3 - var2) / 8; - - for (int var6 = 0; var6 < var5; ++var6) { - int var7 = this.readInt(); - int var8 = this.readInt(); - int var9 = -957401312; - int var10 = -1640531527; - - for (int var11 = 32; var11-- > 0; var7 -= var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]) { - var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9; - var9 -= var10; - } - - this.offset -= 8; - this.writeInt(var7); - this.writeInt(var8); - } - - this.offset = var4; - } - - @ObfuscatedName("cv") - @ObfuscatedSignature( - signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", - garbageValue = "1840777170" - ) - @Export("encryptRsa") - public void encryptRsa(BigInteger var1, BigInteger var2) { - int var3 = this.offset; - this.offset = 0; - byte[] var4 = new byte[var3]; - this.readBytes(var4, 0, var3); - BigInteger var5 = new BigInteger(var4); - BigInteger var6 = var5.modPow(var1, var2); - byte[] var7 = var6.toByteArray(); - this.offset = 0; - this.writeShort(var7.length); - this.writeBytes(var7, 0, var7.length); - } - - @ObfuscatedName("cr") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1830139064" - ) - @Export("writeCrc") - public int writeCrc(int var1) { - byte[] var3 = this.array; - int var4 = this.offset; - int var5 = -1; - - for (int var6 = var1; var6 < var4; ++var6) { - var5 = var5 >>> 8 ^ crc32Table[(var5 ^ var3[var6]) & 255]; - } - - var5 = ~var5; - this.writeInt(var5); - return var5; - } - - @ObfuscatedName("cl") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-829786051" - ) - @Export("checkCrc") - public boolean checkCrc() { - this.offset -= 4; - byte[] var2 = this.array; - int var3 = this.offset; - int var4 = -1; - - int var5; - for (var5 = 0; var5 < var3; ++var5) { - var4 = var4 >>> 8 ^ crc32Table[(var4 ^ var2[var5]) & 255]; - } - - var4 = ~var4; - var5 = this.readInt(); - return var5 == var4; - } - - @ObfuscatedName("ca") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-2063150013" - ) - public void method5491(int var1) { - this.array[++this.offset - 1] = (byte)(var1 + 128); - } - - @ObfuscatedName("ck") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1477946417" - ) - public void method5566(int var1) { - this.array[++this.offset - 1] = (byte)(0 - var1); - } - - @ObfuscatedName("cm") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2116757158" - ) - public void method5493(int var1) { - this.array[++this.offset - 1] = (byte)(128 - var1); - } - - @ObfuscatedName("ce") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "1" - ) - public int method5494() { - return this.array[++this.offset - 1] - 128 & 255; - } - - @ObfuscatedName("cn") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-331739438" - ) - public int method5547() { - return 0 - this.array[++this.offset - 1] & 255; - } - - @ObfuscatedName("cj") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1776957173" - ) - @Export("readUnsignedByteNegate") - public int readUnsignedByteNegate() { - return 128 - this.array[++this.offset - 1] & 255; - } - - @ObfuscatedName("cw") - @ObfuscatedSignature( - signature = "(I)B", - garbageValue = "-2103641384" - ) - public byte method5497() { - return (byte)(this.array[++this.offset - 1] - 128); - } - - @ObfuscatedName("cu") - @ObfuscatedSignature( - signature = "(I)B", - garbageValue = "-753316852" - ) - public byte method5498() { - return (byte)(0 - this.array[++this.offset - 1]); - } - - @ObfuscatedName("cd") - @ObfuscatedSignature( - signature = "(I)B", - garbageValue = "2121675336" - ) - public byte method5634() { - return (byte)(128 - this.array[++this.offset - 1]); - } - - @ObfuscatedName("cs") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-6" - ) - public void method5500(int var1) { - this.array[++this.offset - 1] = (byte)var1; - this.array[++this.offset - 1] = (byte)(var1 >> 8); - } - - @ObfuscatedName("cx") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-2" - ) - @Export("writeIntME") - public void writeIntME(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)(var1 + 128); - } - - @ObfuscatedName("ci") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1695551709" - ) - public void method5502(int var1) { - this.array[++this.offset - 1] = (byte)(var1 + 128); - this.array[++this.offset - 1] = (byte)(var1 >> 8); - } - - @ObfuscatedName("cf") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-64" - ) - public int method5503() { - this.offset += 2; - return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); - } - - @ObfuscatedName("cq") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2105428724" - ) - public int method5459() { - this.offset += 2; - return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); - } - - @ObfuscatedName("co") - @ObfuscatedSignature( - signature = "(S)I", - garbageValue = "7305" - ) - public int method5514() { - this.offset += 2; - return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); - } - - @ObfuscatedName("cz") - @ObfuscatedSignature( - signature = "(S)I", - garbageValue = "18379" - ) - public int method5506() { - this.offset += 2; - int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); - if (var1 > 32767) { - var1 -= 65536; - } - - return var1; - } - - @ObfuscatedName("cp") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1861264070" - ) - public int method5584() { - this.offset += 2; - int var1 = (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); - if (var1 > 32767) { - var1 -= 65536; - } - - return var1; - } - - @ObfuscatedName("cy") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-32" - ) - public void method5466(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)(var1 >> 16); - this.array[++this.offset - 1] = (byte)var1; - } - - @ObfuscatedName("cg") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1460382327" - ) - public int method5508() { - this.offset += 3; - return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 2] & 255); - } - - @ObfuscatedName("dj") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-45" - ) - @Export("writeIntLE") - public void writeIntLE(int var1) { - this.array[++this.offset - 1] = (byte)var1; - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)(var1 >> 16); - this.array[++this.offset - 1] = (byte)(var1 >> 24); - } - - @ObfuscatedName("dh") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1216853295" - ) - @Export("writeIntLE16") - public void writeIntLE16(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); - this.array[++this.offset - 1] = (byte)var1; - this.array[++this.offset - 1] = (byte)(var1 >> 24); - this.array[++this.offset - 1] = (byte)(var1 >> 16); - } - - @ObfuscatedName("do") - @ObfuscatedSignature( - signature = "(IS)V", - garbageValue = "-10712" - ) - @Export("writeShortLE") - public void writeShortLE(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 16); - this.array[++this.offset - 1] = (byte)(var1 >> 24); - this.array[++this.offset - 1] = (byte)var1; - this.array[++this.offset - 1] = (byte)(var1 >> 8); - } - - @ObfuscatedName("dm") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "101" - ) - public int method5587() { - this.offset += 4; - return (this.array[this.offset - 4] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16) + ((this.array[this.offset - 1] & 255) << 24); - } - - @ObfuscatedName("dy") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-121" - ) - public int method5580() { - this.offset += 4; - return ((this.array[this.offset - 2] & 255) << 24) + ((this.array[this.offset - 4] & 255) << 8) + (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 1] & 255) << 16); - } - - @ObfuscatedName("dd") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1549007830" - ) - public int method5515() { - this.offset += 4; - return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 16) + (this.array[this.offset - 2] & 255) + ((this.array[this.offset - 3] & 255) << 24); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lli;IIIB)V", - garbageValue = "15" - ) - static void method5703(Sprite var0, int var1, int var2, int var3) { - DemotingHashTable var4 = WorldMapRegion.WorldMapRegion_cachedSprites; - long var6 = (long)(var3 << 16 | var1 << 8 | var2); - var4.put(var0, var6, var0.pixels.length * 4); - } -} +import java.math.BigInteger; +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("kl") +@Implements("Buffer") +public class Buffer extends Node { + @ObfuscatedName("m") + @Export("crc32Table") + static int[] crc32Table; + @ObfuscatedName("i") + @Export("crc64Table") + static long[] crc64Table; + @ObfuscatedName("p") + @Export("array") + public byte[] array; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -757431099 + ) + @Export("offset") + public int offset; + + static { + crc32Table = new int[256]; + + int var2; + for (int var1 = 0; var1 < 256; ++var1) { + int var0 = var1; + + for (var2 = 0; var2 < 8; ++var2) { + if ((var0 & 1) == 1) { + var0 = var0 >>> 1 ^ -306674912; + } else { + var0 >>>= 1; + } + } + + crc32Table[var1] = var0; + } + + crc64Table = new long[256]; + + for (var2 = 0; var2 < 256; ++var2) { + long var4 = (long)var2; + + for (int var3 = 0; var3 < 8; ++var3) { + if ((var4 & 1L) == 1L) { + var4 = var4 >>> 1 ^ -3932672073523589310L; + } else { + var4 >>>= 1; + } + } + + crc64Table[var2] = var4; + } + + } + + public Buffer(int var1) { + this.array = class30.ByteArrayPool_getArray(var1); + this.offset = 0; + } + + public Buffer(byte[] var1) { + this.array = var1; + this.offset = 0; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-44" + ) + @Export("releaseArray") + public void releaseArray() { + if (this.array != null) { + class80.ByteArrayPool_release(this.array); + } + + this.array = null; + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-477863922" + ) + @Export("writeByte") + public void writeByte(int var1) { + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2066508781" + ) + @Export("writeShort") + public void writeShort(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-88" + ) + @Export("writeMedium") + public void writeMedium(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "22" + ) + @Export("writeInt") + public void writeInt(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 24); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("ah") + @Export("writeLongMedium") + public void writeLongMedium(long var1) { + this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); + this.array[++this.offset - 1] = (byte)((int)var1); + } + + @ObfuscatedName("ag") + @Export("writeLong") + public void writeLong(long var1) { + this.array[++this.offset - 1] = (byte)((int)(var1 >> 56)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 48)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); + this.array[++this.offset - 1] = (byte)((int)var1); + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "246663976" + ) + @Export("writeBoolean") + public void writeBoolean(boolean var1) { + this.writeByte(var1 ? 1 : 0); + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1991648587" + ) + @Export("writeStringCp1252NullTerminated") + public void writeStringCp1252NullTerminated(String var1) { + int var2 = var1.indexOf(0); + if (var2 >= 0) { + throw new IllegalArgumentException(""); + } else { + this.offset += ServerBuild.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.array[++this.offset - 1] = 0; + } + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "-30" + ) + @Export("writeStringCp1252NullCircumfixed") + public void writeStringCp1252NullCircumfixed(String var1) { + int var2 = var1.indexOf(0); + if (var2 >= 0) { + throw new IllegalArgumentException(""); + } else { + this.array[++this.offset - 1] = 0; + this.offset += ServerBuild.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.array[++this.offset - 1] = 0; + } + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)V", + garbageValue = "1234483841" + ) + @Export("writeCESU8") + public void writeCESU8(CharSequence var1) { + int var2 = class173.method3550(var1); + this.array[++this.offset - 1] = 0; + this.writeVarInt(var2); + this.offset += AbstractWorldMapIcon.method640(this.array, this.offset, var1); + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-1646863699" + ) + @Export("writeBytes") + public void writeBytes(byte[] var1, int var2, int var3) { + for (int var4 = var2; var4 < var3 + var2; ++var4) { + this.array[++this.offset - 1] = var1[var4]; + } + + } + + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2127950431" + ) + @Export("writeLengthInt") + public void writeLengthInt(int var1) { + if (var1 < 0) { + throw new IllegalArgumentException(); + } else { + this.array[this.offset - var1 - 4] = (byte)(var1 >> 24); + this.array[this.offset - var1 - 3] = (byte)(var1 >> 16); + this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); + this.array[this.offset - var1 - 1] = (byte)var1; + } + } + + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "15" + ) + @Export("writeLengthShort") + public void writeLengthShort(int var1) { + if (var1 >= 0 && var1 <= 65535) { + this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); + this.array[this.offset - var1 - 1] = (byte)var1; + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "554833635" + ) + @Export("writeLengthByte") + public void writeLengthByte(int var1) { + if (var1 >= 0 && var1 <= 255) { + this.array[this.offset - var1 - 1] = (byte)var1; + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-2079556313" + ) + @Export("writeSmartByteShort") + public void writeSmartByteShort(int var1) { + if (var1 >= 0 && var1 < 128) { + this.writeByte(var1); + } else if (var1 >= 0 && var1 < 32768) { + this.writeShort(var1 + 32768); + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "831943486" + ) + @Export("writeVarInt") + public void writeVarInt(int var1) { + if ((var1 & -128) != 0) { + if ((var1 & -16384) != 0) { + if ((var1 & -2097152) != 0) { + if ((var1 & -268435456) != 0) { + this.writeByte(var1 >>> 28 | 128); + } + + this.writeByte(var1 >>> 21 | 128); + } + + this.writeByte(var1 >>> 14 | 128); + } + + this.writeByte(var1 >>> 7 | 128); + } + + this.writeByte(var1 & 127); + } + + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "14" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() { + return this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "(I)B", + garbageValue = "-462155889" + ) + @Export("readByte") + public byte readByte() { + return this.array[++this.offset - 1]; + } + + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "914315113" + ) + @Export("readUnsignedShort") + public int readUnsignedShort() { + this.offset += 2; + return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1303448580" + ) + @Export("readShort") + public int readShort() { + this.offset += 2; + int var1 = (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); + if (var1 > 32767) { + var1 -= 65536; + } + + return var1; + } + + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "1555" + ) + @Export("readMedium") + public int readMedium() { + this.offset += 3; + return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("be") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "562340943" + ) + @Export("readInt") + public int readInt() { + this.offset += 4; + return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 24); + } + + @ObfuscatedName("bu") + @ObfuscatedSignature( + signature = "(I)J", + garbageValue = "1896849386" + ) + @Export("readLong") + public long readLong() { + long var1 = (long)this.readInt() & 4294967295L; + long var3 = (long)this.readInt() & 4294967295L; + return var3 + (var1 << 32); + } + + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "27" + ) + @Export("readBoolean") + public boolean readBoolean() { + return (this.readUnsignedByte() & 1) == 1; + } + + @ObfuscatedName("bb") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-2144032387" + ) + @Export("readStringCp1252NullTerminatedOrNull") + public String readStringCp1252NullTerminatedOrNull() { + if (this.array[this.offset] == 0) { + ++this.offset; + return null; + } else { + return this.readStringCp1252NullTerminated(); + } + } + + @ObfuscatedName("bt") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "334653243" + ) + @Export("readStringCp1252NullTerminated") + public String readStringCp1252NullTerminated() { + int var1 = this.offset; + + while (this.array[++this.offset - 1] != 0) { + } + + int var2 = this.offset - var1 - 1; + return var2 == 0 ? "" : ArchiveLoader.decodeStringCp1252(this.array, var1, var2); + } + + @ObfuscatedName("by") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-2099106824" + ) + @Export("readStringCp1252NullCircumfixed") + public String readStringCp1252NullCircumfixed() { + byte var1 = this.array[++this.offset - 1]; + if (var1 != 0) { + throw new IllegalStateException(""); + } else { + int var2 = this.offset; + + while (this.array[++this.offset - 1] != 0) { + } + + int var3 = this.offset - var2 - 1; + return var3 == 0 ? "" : ArchiveLoader.decodeStringCp1252(this.array, var2, var3); + } + } + + @ObfuscatedName("bq") + @ObfuscatedSignature( + signature = "(S)Ljava/lang/String;", + garbageValue = "27564" + ) + @Export("readCESU8") + public String readCESU8() { + byte var1 = this.array[++this.offset - 1]; + if (var1 != 0) { + throw new IllegalStateException(""); + } else { + int var2 = this.readVarInt(); + if (var2 + this.offset > this.array.length) { + throw new IllegalStateException(""); + } else { + String var3 = UserComparator6.method3404(this.array, this.offset, var2); + this.offset += var2; + return var3; + } + } + } + + @ObfuscatedName("bo") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "4" + ) + @Export("readBytes") + public void readBytes(byte[] var1, int var2, int var3) { + for (int var4 = var2; var4 < var3 + var2; ++var4) { + var1[var4] = this.array[++this.offset - 1]; + } + + } + + @ObfuscatedName("br") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "953873121" + ) + @Export("readShortSmart") + public int readShortSmart() { + int var1 = this.array[this.offset] & 255; + return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152; + } + + @ObfuscatedName("bl") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1038515838" + ) + @Export("readUShortSmart") + public int readUShortSmart() { + int var1 = this.array[this.offset] & 255; + return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768; + } + + @ObfuscatedName("bf") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1994836425" + ) + public int method5442() { + int var1 = 0; + + int var2; + for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) { + var1 += 32767; + } + + var1 += var2; + return var1; + } + + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1856744569" + ) + public int method5443() { + return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort(); + } + + @ObfuscatedName("bw") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "-9085" + ) + public int method5438() { + if (this.array[this.offset] < 0) { + return this.readInt() & Integer.MAX_VALUE; + } else { + int var1 = this.readUnsignedShort(); + return var1 == 32767 ? -1 : var1; + } + } + + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1177667309" + ) + @Export("readVarInt") + public int readVarInt() { + byte var1 = this.array[++this.offset - 1]; + + int var2; + for (var2 = 0; var1 < 0; var1 = this.array[++this.offset - 1]) { + var2 = (var2 | var1 & 127) << 7; + } + + return var2 | var1; + } + + @ObfuscatedName("cz") + @ObfuscatedSignature( + signature = "([IB)V", + garbageValue = "0" + ) + @Export("xteaEncryptAll") + public void xteaEncryptAll(int[] var1) { + int var2 = this.offset / 8; + this.offset = 0; + + for (int var3 = 0; var3 < var2; ++var3) { + int var4 = this.readInt(); + int var5 = this.readInt(); + int var6 = 0; + int var7 = -1640531527; + + for (int var8 = 32; var8-- > 0; var5 += var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6) { + var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]; + var6 += var7; + } + + this.offset -= 8; + this.writeInt(var4); + this.writeInt(var5); + } + + } + + @ObfuscatedName("ck") + @ObfuscatedSignature( + signature = "([II)V", + garbageValue = "1768480831" + ) + @Export("xteaDecryptAll") + public void xteaDecryptAll(int[] var1) { + int var2 = this.offset / 8; + this.offset = 0; + + for (int var3 = 0; var3 < var2; ++var3) { + int var4 = this.readInt(); + int var5 = this.readInt(); + int var6 = -957401312; + int var7 = -1640531527; + + for (int var8 = 32; var8-- > 0; var4 -= var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]) { + var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6; + var6 -= var7; + } + + this.offset -= 8; + this.writeInt(var4); + this.writeInt(var5); + } + + } + + @ObfuscatedName("cv") + @ObfuscatedSignature( + signature = "([IIII)V", + garbageValue = "-1919695403" + ) + @Export("xteaEncrypt") + public void xteaEncrypt(int[] var1, int var2, int var3) { + int var4 = this.offset; + this.offset = var2; + int var5 = (var3 - var2) / 8; + + for (int var6 = 0; var6 < var5; ++var6) { + int var7 = this.readInt(); + int var8 = this.readInt(); + int var9 = 0; + int var10 = -1640531527; + + for (int var11 = 32; var11-- > 0; var8 += var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9) { + var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]; + var9 += var10; + } + + this.offset -= 8; + this.writeInt(var7); + this.writeInt(var8); + } + + this.offset = var4; + } + + @ObfuscatedName("co") + @ObfuscatedSignature( + signature = "([IIIB)V", + garbageValue = "97" + ) + @Export("xteaDecrypt") + public void xteaDecrypt(int[] var1, int var2, int var3) { + int var4 = this.offset; + this.offset = var2; + int var5 = (var3 - var2) / 8; + + for (int var6 = 0; var6 < var5; ++var6) { + int var7 = this.readInt(); + int var8 = this.readInt(); + int var9 = -957401312; + int var10 = -1640531527; + + for (int var11 = 32; var11-- > 0; var7 -= var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]) { + var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9; + var9 -= var10; + } + + this.offset -= 8; + this.writeInt(var7); + this.writeInt(var8); + } + + this.offset = var4; + } + + @ObfuscatedName("cs") + @ObfuscatedSignature( + signature = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", + garbageValue = "-2071004135" + ) + @Export("encryptRsa") + public void encryptRsa(BigInteger var1, BigInteger var2) { + int var3 = this.offset; + this.offset = 0; + byte[] var4 = new byte[var3]; + this.readBytes(var4, 0, var3); + BigInteger var5 = new BigInteger(var4); + BigInteger var6 = var5.modPow(var1, var2); + byte[] var7 = var6.toByteArray(); + this.offset = 0; + this.writeShort(var7.length); + this.writeBytes(var7, 0, var7.length); + } + + @ObfuscatedName("cg") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-123385623" + ) + @Export("writeCrc") + public int writeCrc(int var1) { + int var2 = LoginScreenAnimation.method1844(this.array, var1, this.offset); + this.writeInt(var2); + return var2; + } + + @ObfuscatedName("cn") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1463177032" + ) + @Export("checkCrc") + public boolean checkCrc() { + this.offset -= 4; + int var1 = LoginScreenAnimation.method1844(this.array, 0, this.offset); + int var2 = this.readInt(); + return var2 == var1; + } + + @ObfuscatedName("cd") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1145773072" + ) + public void method5452(int var1) { + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + + @ObfuscatedName("cy") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "8" + ) + public void method5453(int var1) { + this.array[++this.offset - 1] = (byte)(0 - var1); + } + + @ObfuscatedName("cj") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "91" + ) + public void method5446(int var1) { + this.array[++this.offset - 1] = (byte)(128 - var1); + } + + @ObfuscatedName("cb") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-108626677" + ) + public int method5455() { + return this.array[++this.offset - 1] - 128 & 255; + } + + @ObfuscatedName("cr") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-313206497" + ) + public int method5456() { + return 0 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("ct") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1489408789" + ) + public int method5496() { + return 128 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("ci") + @ObfuscatedSignature( + signature = "(I)B", + garbageValue = "-961755482" + ) + public byte method5458() { + return (byte)(this.array[++this.offset - 1] - 128); + } + + @ObfuscatedName("cu") + @ObfuscatedSignature( + signature = "(I)B", + garbageValue = "-675073982" + ) + public byte method5459() { + return (byte)(0 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("ce") + @ObfuscatedSignature( + signature = "(I)B", + garbageValue = "-598630050" + ) + public byte method5460() { + return (byte)(128 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("cc") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1760464682" + ) + public void method5461(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("cl") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1748318243" + ) + @Export("writeIntME") + public void writeIntME(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + + @ObfuscatedName("cw") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "921627728" + ) + @Export("writeShortLE") + public void writeShortLE(int var1) { + this.array[++this.offset - 1] = (byte)(var1 + 128); + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("cq") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-509396216" + ) + public int method5464() { + this.offset += 2; + return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); + } + + @ObfuscatedName("ca") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "2084520877" + ) + public int method5465() { + this.offset += 2; + return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("cf") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1941268038" + ) + public int method5632() { + this.offset += 2; + return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); + } + + @ObfuscatedName("cx") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1363651075" + ) + public int method5471() { + this.offset += 2; + int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); + if (var1 > 32767) { + var1 -= 65536; + } + + return var1; + } + + @ObfuscatedName("cm") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "649688108" + ) + public int method5489() { + this.offset += 2; + int var1 = (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); + if (var1 > 32767) { + var1 -= 65536; + } + + return var1; + } + + @ObfuscatedName("cp") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1593001312" + ) + public int method5469() { + this.offset += 2; + int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); + if (var1 > 32767) { + var1 -= 65536; + } + + return var1; + } + + @ObfuscatedName("ch") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1821828851" + ) + public void method5470(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + } + + @ObfuscatedName("dt") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-715044381" + ) + public int method5473() { + this.offset += 3; + return (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 1] & 255) << 16); + } + + @ObfuscatedName("dv") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-115" + ) + @Export("writeIntLE16") + public void writeIntLE16(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 24); + } + + @ObfuscatedName("dm") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "81" + ) + public void method5615(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 24); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + } + + @ObfuscatedName("dn") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "775210063" + ) + public void method5474(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 24); + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("dq") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "338391955" + ) + public int method5467() { + this.offset += 4; + return (this.array[this.offset - 4] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16) + ((this.array[this.offset - 1] & 255) << 24); + } + + @ObfuscatedName("dy") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "311573145" + ) + public int method5546() { + this.offset += 4; + return ((this.array[this.offset - 2] & 255) << 24) + ((this.array[this.offset - 4] & 255) << 8) + (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 1] & 255) << 16); + } + + @ObfuscatedName("de") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "5" + ) + public int method5477() { + this.offset += 4; + return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 16) + (this.array[this.offset - 2] & 255) + ((this.array[this.offset - 3] & 255) << 24); + } + + @ObfuscatedName("df") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "641640947" + ) + public void method5478(byte[] var1, int var2, int var3) { + for (int var4 = var2; var4 < var3 + var2; ++var4) { + var1[var4] = (byte)(this.array[++this.offset - 1] - 128); + } + + } + + @ObfuscatedName("dr") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "666802900" + ) + public void method5479(byte[] var1, int var2, int var3) { + for (int var4 = var3 + var2 - 1; var4 >= var2; --var4) { + var1[var4] = (byte)(this.array[++this.offset - 1] - 128); + } + + } +} diff --git a/runescape-client/src/main/java/BufferedFile.java b/runescape-client/src/main/java/BufferedFile.java index 6f78b65251..19f7135225 100644 --- a/runescape-client/src/main/java/BufferedFile.java +++ b/runescape-client/src/main/java/BufferedFile.java @@ -1,385 +1,385 @@ -import java.io.EOFException; -import java.io.IOException; -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("mw") -@Implements("BufferedFile") -public class BufferedFile { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lmr;" - ) - @Export("accessFile") - AccessFile accessFile; - @ObfuscatedName("t") - @Export("readBuffer") - byte[] readBuffer; - @ObfuscatedName("g") - @ObfuscatedGetter( - longValue = 3832537233495769245L - ) - @Export("readBufferOffset") - long readBufferOffset; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 327772987 - ) - @Export("readBufferLength") - int readBufferLength; - @ObfuscatedName("u") - @Export("writeBuffer") - byte[] writeBuffer; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = -7089347366618851565L - ) - @Export("writeBufferOffset") - long writeBufferOffset; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1970592505 - ) - @Export("writeBufferLength") - int writeBufferLength; - @ObfuscatedName("d") - @ObfuscatedGetter( - longValue = -5326533979176937991L - ) - @Export("offset") - long offset; - @ObfuscatedName("z") - @ObfuscatedGetter( - longValue = -2696097310497379977L - ) - @Export("fileLength") - long fileLength; - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = 7888031407881302655L - ) - @Export("length") - long length; - @ObfuscatedName("h") - @ObfuscatedGetter( - longValue = -3322791226298163907L - ) - @Export("fileOffset") - long fileOffset; - - @ObfuscatedSignature( - signature = "(Lmr;II)V" - ) - public BufferedFile(AccessFile var1, int var2, int var3) throws IOException { - this.readBufferOffset = -1L; - this.writeBufferOffset = -1L; - this.writeBufferLength = 0; - this.accessFile = var1; - this.length = this.fileLength = var1.length(); - this.readBuffer = new byte[var2]; - this.writeBuffer = new byte[var3]; - this.offset = 0L; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "806301306" - ) - @Export("close") - public void close() throws IOException { - this.flush(); - this.accessFile.close(); - } - - @ObfuscatedName("x") - @Export("seek") - public void seek(long var1) throws IOException { - if (var1 < 0L) { - throw new IOException(""); - } else { - this.offset = var1; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)J", - garbageValue = "-1810414752" - ) - @Export("length") - public long length() { - return this.length; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "318329174" - ) - @Export("readFully") - public void readFully(byte[] var1) throws IOException { - this.read(var1, 0, var1.length); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "([BIIS)V", - garbageValue = "-2545" - ) - @Export("read") - public void read(byte[] var1, int var2, int var3) throws IOException { - try { - if (var3 + var2 > var1.length) { - throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length); - } - - if (-1L != this.writeBufferOffset && this.offset >= this.writeBufferOffset && this.offset + (long)var3 <= (long)this.writeBufferLength + this.writeBufferOffset) { - System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3); - this.offset += (long)var3; - return; - } - - long var4 = this.offset; - int var7 = var3; - int var8; - if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) { - var8 = (int)((long)this.readBufferLength - (this.offset - this.readBufferOffset)); - if (var8 > var3) { - var8 = var3; - } - - System.arraycopy(this.readBuffer, (int)(this.offset - this.readBufferOffset), var1, var2, var8); - this.offset += (long)var8; - var2 += var8; - var3 -= var8; - } - - if (var3 > this.readBuffer.length) { - this.accessFile.seek(this.offset); - - for (this.fileOffset = this.offset; var3 > 0; var3 -= var8) { - var8 = this.accessFile.read(var1, var2, var3); - if (var8 == -1) { - break; - } - - this.fileOffset += (long)var8; - this.offset += (long)var8; - var2 += var8; - } - } else if (var3 > 0) { - this.load(); - var8 = var3; - if (var3 > this.readBufferLength) { - var8 = this.readBufferLength; - } - - System.arraycopy(this.readBuffer, 0, var1, var2, var8); - var2 += var8; - var3 -= var8; - this.offset += (long)var8; - } - - if (-1L != this.writeBufferOffset) { - if (this.writeBufferOffset > this.offset && var3 > 0) { - var8 = var2 + (int)(this.writeBufferOffset - this.offset); - if (var8 > var3 + var2) { - var8 = var3 + var2; - } - - while (var2 < var8) { - var1[var2++] = 0; - --var3; - ++this.offset; - } - } - - long var13 = -1L; - long var10 = -1L; - if (this.writeBufferOffset >= var4 && this.writeBufferOffset < var4 + (long)var7) { - var13 = this.writeBufferOffset; - } else if (var4 >= this.writeBufferOffset && var4 < (long)this.writeBufferLength + this.writeBufferOffset) { - var13 = var4; - } - - if (this.writeBufferOffset + (long)this.writeBufferLength > var4 && (long)this.writeBufferLength + this.writeBufferOffset <= var4 + (long)var7) { - var10 = (long)this.writeBufferLength + this.writeBufferOffset; - } else if (var4 + (long)var7 > this.writeBufferOffset && (long)var7 + var4 <= this.writeBufferOffset + (long)this.writeBufferLength) { - var10 = var4 + (long)var7; - } - - if (var13 > -1L && var10 > var13) { - int var12 = (int)(var10 - var13); - System.arraycopy(this.writeBuffer, (int)(var13 - this.writeBufferOffset), var1, (int)(var13 - var4) + var2, var12); - if (var10 > this.offset) { - var3 = (int)((long)var3 - (var10 - this.offset)); - this.offset = var10; - } - } - } - } catch (IOException var16) { - this.fileOffset = -1L; - throw var16; - } - - if (var3 > 0) { - throw new EOFException(); - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1455247160" - ) - @Export("load") - void load() throws IOException { - this.readBufferLength = 0; - if (this.fileOffset != this.offset) { - this.accessFile.seek(this.offset); - this.fileOffset = this.offset; - } - - int var2; - for (this.readBufferOffset = this.offset; this.readBufferLength < this.readBuffer.length; this.readBufferLength += var2) { - int var1 = this.readBuffer.length - this.readBufferLength; - if (var1 > 200000000) { - var1 = 200000000; - } - - var2 = this.accessFile.read(this.readBuffer, this.readBufferLength, var1); - if (var2 == -1) { - break; - } - - this.fileOffset += (long)var2; - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "-2110413759" - ) - @Export("write") - public void write(byte[] var1, int var2, int var3) throws IOException { - try { - if ((long)var3 + this.offset > this.length) { - this.length = (long)var3 + this.offset; - } - - if (this.writeBufferOffset != -1L && (this.offset < this.writeBufferOffset || this.offset > (long)this.writeBufferLength + this.writeBufferOffset)) { - this.flush(); - } - - if (-1L != this.writeBufferOffset && this.offset + (long)var3 > this.writeBufferOffset + (long)this.writeBuffer.length) { - int var4 = (int)((long)this.writeBuffer.length - (this.offset - this.writeBufferOffset)); - System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var4); - this.offset += (long)var4; - var2 += var4; - var3 -= var4; - this.writeBufferLength = this.writeBuffer.length; - this.flush(); - } - - if (var3 <= this.writeBuffer.length) { - if (var3 > 0) { - if (this.writeBufferOffset == -1L) { - this.writeBufferOffset = this.offset; - } - - System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var3); - this.offset += (long)var3; - if (this.offset - this.writeBufferOffset > (long)this.writeBufferLength) { - this.writeBufferLength = (int)(this.offset - this.writeBufferOffset); - } - - } - } else { - if (this.offset != this.fileOffset) { - this.accessFile.seek(this.offset); - this.fileOffset = this.offset; - } - - this.accessFile.write(var1, var2, var3); - this.fileOffset += (long)var3; - if (this.fileOffset > this.fileLength) { - this.fileLength = this.fileOffset; - } - - long var9 = -1L; - long var6 = -1L; - if (this.offset >= this.readBufferOffset && this.offset < (long)this.readBufferLength + this.readBufferOffset) { - var9 = this.offset; - } else if (this.readBufferOffset >= this.offset && this.readBufferOffset < (long)var3 + this.offset) { - var9 = this.readBufferOffset; - } - - if (this.offset + (long)var3 > this.readBufferOffset && this.offset + (long)var3 <= this.readBufferOffset + (long)this.readBufferLength) { - var6 = (long)var3 + this.offset; - } else if (this.readBufferOffset + (long)this.readBufferLength > this.offset && this.readBufferOffset + (long)this.readBufferLength <= this.offset + (long)var3) { - var6 = this.readBufferOffset + (long)this.readBufferLength; - } - - if (var9 > -1L && var6 > var9) { - int var8 = (int)(var6 - var9); - System.arraycopy(var1, (int)(var9 + (long)var2 - this.offset), this.readBuffer, (int)(var9 - this.readBufferOffset), var8); - } - - this.offset += (long)var3; - } - } catch (IOException var12) { - this.fileOffset = -1L; - throw var12; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-753348835" - ) - @Export("flush") - void flush() throws IOException { - if (-1L != this.writeBufferOffset) { - if (this.fileOffset != this.writeBufferOffset) { - this.accessFile.seek(this.writeBufferOffset); - this.fileOffset = this.writeBufferOffset; - } - - this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength); - this.fileOffset += 1970592505L * (long)(this.writeBufferLength * -1633237175); - if (this.fileOffset > this.fileLength) { - this.fileLength = this.fileOffset; - } - - long var1 = -1L; - long var3 = -1L; - if (this.writeBufferOffset >= this.readBufferOffset && this.writeBufferOffset < (long)this.readBufferLength + this.readBufferOffset) { - var1 = this.writeBufferOffset; - } else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < (long)this.writeBufferLength + this.writeBufferOffset) { - var1 = this.readBufferOffset; - } - - if (this.writeBufferOffset + (long)this.writeBufferLength > this.readBufferOffset && (long)this.writeBufferLength + this.writeBufferOffset <= this.readBufferOffset + (long)this.readBufferLength) { - var3 = (long)this.writeBufferLength + this.writeBufferOffset; - } else if (this.readBufferOffset + (long)this.readBufferLength > this.writeBufferOffset && this.readBufferOffset + (long)this.readBufferLength <= (long)this.writeBufferLength + this.writeBufferOffset) { - var3 = this.readBufferOffset + (long)this.readBufferLength; - } - - if (var1 > -1L && var3 > var1) { - int var5 = (int)(var3 - var1); - System.arraycopy(this.writeBuffer, (int)(var1 - this.writeBufferOffset), this.readBuffer, (int)(var1 - this.readBufferOffset), var5); - } - - this.writeBufferOffset = -1L; - this.writeBufferLength = 0; - } - - } -} +import java.io.EOFException; +import java.io.IOException; +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("mm") +@Implements("BufferedFile") +public class BufferedFile { + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lmh;" + ) + @Export("accessFile") + AccessFile accessFile; + @ObfuscatedName("v") + @Export("readBuffer") + byte[] readBuffer; + @ObfuscatedName("u") + @ObfuscatedGetter( + longValue = -7294963934648719297L + ) + @Export("readBufferOffset") + long readBufferOffset; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1845108509 + ) + @Export("readBufferLength") + int readBufferLength; + @ObfuscatedName("p") + @Export("writeBuffer") + byte[] writeBuffer; + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = -8408813098273597985L + ) + @Export("writeBufferOffset") + long writeBufferOffset; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1704738159 + ) + @Export("writeBufferLength") + int writeBufferLength; + @ObfuscatedName("y") + @ObfuscatedGetter( + longValue = -7862153769092129291L + ) + @Export("offset") + long offset; + @ObfuscatedName("i") + @ObfuscatedGetter( + longValue = 3070804450108675653L + ) + @Export("fileLength") + long fileLength; + @ObfuscatedName("c") + @ObfuscatedGetter( + longValue = 8830743471394433983L + ) + @Export("length") + long length; + @ObfuscatedName("b") + @ObfuscatedGetter( + longValue = 3243026924650541047L + ) + @Export("fileOffset") + long fileOffset; + + @ObfuscatedSignature( + signature = "(Lmh;II)V" + ) + public BufferedFile(AccessFile var1, int var2, int var3) throws IOException { + this.readBufferOffset = -1L; + this.writeBufferOffset = -1L; + this.writeBufferLength = 0; + this.accessFile = var1; + this.length = this.fileLength = var1.length(); + this.readBuffer = new byte[var2]; + this.writeBuffer = new byte[var3]; + this.offset = 0L; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-55" + ) + @Export("close") + public void close() throws IOException { + this.flush(); + this.accessFile.close(); + } + + @ObfuscatedName("n") + @Export("seek") + public void seek(long var1) throws IOException { + if (var1 < 0L) { + throw new IOException(""); + } else { + this.offset = var1; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)J", + garbageValue = "15865" + ) + @Export("length") + public long length() { + return this.length; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "588547682" + ) + @Export("readFully") + public void readFully(byte[] var1) throws IOException { + this.read(var1, 0, var1.length); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "-41" + ) + @Export("read") + public void read(byte[] var1, int var2, int var3) throws IOException { + try { + if (var3 + var2 > var1.length) { + throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length); + } + + if (this.writeBufferOffset != -1L && this.offset >= this.writeBufferOffset && (long)var3 + this.offset <= (long)this.writeBufferLength + this.writeBufferOffset) { + System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3); + this.offset += (long)var3; + return; + } + + long var4 = this.offset; + int var7 = var3; + int var8; + if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) { + var8 = (int)((long)this.readBufferLength - (this.offset - this.readBufferOffset)); + if (var8 > var3) { + var8 = var3; + } + + System.arraycopy(this.readBuffer, (int)(this.offset - this.readBufferOffset), var1, var2, var8); + this.offset += (long)var8; + var2 += var8; + var3 -= var8; + } + + if (var3 > this.readBuffer.length) { + this.accessFile.seek(this.offset); + + for (this.fileOffset = this.offset; var3 > 0; var3 -= var8) { + var8 = this.accessFile.read(var1, var2, var3); + if (var8 == -1) { + break; + } + + this.fileOffset += (long)var8; + this.offset += (long)var8; + var2 += var8; + } + } else if (var3 > 0) { + this.load(); + var8 = var3; + if (var3 > this.readBufferLength) { + var8 = this.readBufferLength; + } + + System.arraycopy(this.readBuffer, 0, var1, var2, var8); + var2 += var8; + var3 -= var8; + this.offset += (long)var8; + } + + if (-1L != this.writeBufferOffset) { + if (this.writeBufferOffset > this.offset && var3 > 0) { + var8 = var2 + (int)(this.writeBufferOffset - this.offset); + if (var8 > var3 + var2) { + var8 = var3 + var2; + } + + while (var2 < var8) { + var1[var2++] = 0; + --var3; + ++this.offset; + } + } + + long var13 = -1L; + long var10 = -1L; + if (this.writeBufferOffset >= var4 && this.writeBufferOffset < (long)var7 + var4) { + var13 = this.writeBufferOffset; + } else if (var4 >= this.writeBufferOffset && var4 < this.writeBufferOffset + (long)this.writeBufferLength) { + var13 = var4; + } + + if (this.writeBufferOffset + (long)this.writeBufferLength > var4 && (long)this.writeBufferLength + this.writeBufferOffset <= var4 + (long)var7) { + var10 = (long)this.writeBufferLength + this.writeBufferOffset; + } else if (var4 + (long)var7 > this.writeBufferOffset && var4 + (long)var7 <= this.writeBufferOffset + (long)this.writeBufferLength) { + var10 = (long)var7 + var4; + } + + if (var13 > -1L && var10 > var13) { + int var12 = (int)(var10 - var13); + System.arraycopy(this.writeBuffer, (int)(var13 - this.writeBufferOffset), var1, (int)(var13 - var4) + var2, var12); + if (var10 > this.offset) { + var3 = (int)((long)var3 - (var10 - this.offset)); + this.offset = var10; + } + } + } + } catch (IOException var16) { + this.fileOffset = -1L; + throw var16; + } + + if (var3 > 0) { + throw new EOFException(); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "77" + ) + @Export("load") + void load() throws IOException { + this.readBufferLength = 0; + if (this.offset != this.fileOffset) { + this.accessFile.seek(this.offset); + this.fileOffset = this.offset; + } + + int var2; + for (this.readBufferOffset = this.offset; this.readBufferLength < this.readBuffer.length; this.readBufferLength += var2) { + int var1 = this.readBuffer.length - this.readBufferLength; + if (var1 > 200000000) { + var1 = 200000000; + } + + var2 = this.accessFile.read(this.readBuffer, this.readBufferLength, var1); + if (var2 == -1) { + break; + } + + this.fileOffset += (long)var2; + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "2016597591" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + try { + if ((long)var3 + this.offset > this.length) { + this.length = (long)var3 + this.offset; + } + + if (-1L != this.writeBufferOffset && (this.offset < this.writeBufferOffset || this.offset > (long)this.writeBufferLength + this.writeBufferOffset)) { + this.flush(); + } + + if (-1L != this.writeBufferOffset && (long)var3 + this.offset > this.writeBufferOffset + (long)this.writeBuffer.length) { + int var4 = (int)((long)this.writeBuffer.length - (this.offset - this.writeBufferOffset)); + System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var4); + this.offset += (long)var4; + var2 += var4; + var3 -= var4; + this.writeBufferLength = this.writeBuffer.length; + this.flush(); + } + + if (var3 <= this.writeBuffer.length) { + if (var3 > 0) { + if (this.writeBufferOffset == -1L) { + this.writeBufferOffset = this.offset; + } + + System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var3); + this.offset += (long)var3; + if (this.offset - this.writeBufferOffset > (long)this.writeBufferLength) { + this.writeBufferLength = (int)(this.offset - this.writeBufferOffset); + } + + } + } else { + if (this.fileOffset != this.offset) { + this.accessFile.seek(this.offset); + this.fileOffset = this.offset; + } + + this.accessFile.write(var1, var2, var3); + this.fileOffset += (long)var3; + if (this.fileOffset > this.fileLength) { + this.fileLength = this.fileOffset; + } + + long var9 = -1L; + long var6 = -1L; + if (this.offset >= this.readBufferOffset && this.offset < (long)this.readBufferLength + this.readBufferOffset) { + var9 = this.offset; + } else if (this.readBufferOffset >= this.offset && this.readBufferOffset < this.offset + (long)var3) { + var9 = this.readBufferOffset; + } + + if ((long)var3 + this.offset > this.readBufferOffset && (long)var3 + this.offset <= this.readBufferOffset + (long)this.readBufferLength) { + var6 = this.offset + (long)var3; + } else if (this.readBufferOffset + (long)this.readBufferLength > this.offset && this.readBufferOffset + (long)this.readBufferLength <= this.offset + (long)var3) { + var6 = (long)this.readBufferLength + this.readBufferOffset; + } + + if (var9 > -1L && var6 > var9) { + int var8 = (int)(var6 - var9); + System.arraycopy(var1, (int)(var9 + (long)var2 - this.offset), this.readBuffer, (int)(var9 - this.readBufferOffset), var8); + } + + this.offset += (long)var3; + } + } catch (IOException var12) { + this.fileOffset = -1L; + throw var12; + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "928727943" + ) + @Export("flush") + void flush() throws IOException { + if (-1L != this.writeBufferOffset) { + if (this.fileOffset != this.writeBufferOffset) { + this.accessFile.seek(this.writeBufferOffset); + this.fileOffset = this.writeBufferOffset; + } + + this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength); + this.fileOffset += (long)(this.writeBufferLength * -1599618673) * 1704738159L; + if (this.fileOffset > this.fileLength) { + this.fileLength = this.fileOffset; + } + + long var1 = -1L; + long var3 = -1L; + if (this.writeBufferOffset >= this.readBufferOffset && this.writeBufferOffset < this.readBufferOffset + (long)this.readBufferLength) { + var1 = this.writeBufferOffset; + } else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < this.writeBufferOffset + (long)this.writeBufferLength) { + var1 = this.readBufferOffset; + } + + if ((long)this.writeBufferLength + this.writeBufferOffset > this.readBufferOffset && (long)this.writeBufferLength + this.writeBufferOffset <= (long)this.readBufferLength + this.readBufferOffset) { + var3 = (long)this.writeBufferLength + this.writeBufferOffset; + } else if ((long)this.readBufferLength + this.readBufferOffset > this.writeBufferOffset && this.readBufferOffset + (long)this.readBufferLength <= this.writeBufferOffset + (long)this.writeBufferLength) { + var3 = (long)this.readBufferLength + this.readBufferOffset; + } + + if (var1 > -1L && var3 > var1) { + int var5 = (int)(var3 - var1); + System.arraycopy(this.writeBuffer, (int)(var1 - this.writeBufferOffset), this.readBuffer, (int)(var1 - this.readBufferOffset), var5); + } + + this.writeBufferOffset = -1L; + this.writeBufferLength = 0; + } + + } +} diff --git a/runescape-client/src/main/java/BufferedNetSocket.java b/runescape-client/src/main/java/BufferedNetSocket.java index 67cb9537c4..98ab949509 100644 --- a/runescape-client/src/main/java/BufferedNetSocket.java +++ b/runescape-client/src/main/java/BufferedNetSocket.java @@ -1,111 +1,163 @@ -import java.io.IOException; -import java.net.Socket; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ka") -@Implements("BufferedNetSocket") -public class BufferedNetSocket extends AbstractSocket { - @ObfuscatedName("c") - @Export("socket") - Socket socket; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lkl;" - ) - @Export("source") - BufferedSource source; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lkq;" - ) - @Export("sink") - BufferedSink sink; - - BufferedNetSocket(Socket var1, int var2, int var3) throws IOException { - this.socket = var1; - this.socket.setSoTimeout(30000); - this.socket.setTcpNoDelay(true); - this.socket.setReceiveBufferSize(65536); - this.socket.setSendBufferSize(65536); - this.source = new BufferedSource(this.socket.getInputStream(), var2); - this.sink = new BufferedSink(this.socket.getOutputStream(), var3); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-75" - ) - @Export("close") - public void close() { - this.sink.close(); - - try { - this.socket.close(); - } catch (IOException var2) { - } - - this.source.close(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1827163357" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() throws IOException { - return this.source.readUnsignedByte(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1354053248" - ) - @Export("available") - public int available() throws IOException { - return this.source.available(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-377412375" - ) - @Export("isAvailable") - public boolean isAvailable(int var1) throws IOException { - return this.source.isAvailable(var1); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "2063129771" - ) - @Export("read") - public int read(byte[] var1, int var2, int var3) throws IOException { - return this.source.read(var1, var2, var3); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "9" - ) - @Export("write") - public void write(byte[] var1, int var2, int var3) throws IOException { - this.sink.write(var1, var2, var3); - } - - protected void finalize() { - this.close(); - } - - protected void aaj() { - this.close(); - } -} +import java.io.IOException; +import java.net.Socket; +import java.net.URL; +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("kd") +@Implements("BufferedNetSocket") +public class BufferedNetSocket extends AbstractSocket { + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 966969419 + ) + @Export("cacheGamebuild") + public static int cacheGamebuild; + @ObfuscatedName("z") + @Export("socket") + Socket socket; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lkx;" + ) + @Export("source") + BufferedSource source; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lkv;" + ) + @Export("sink") + BufferedSink sink; + + public BufferedNetSocket(Socket var1, int var2, int var3) throws IOException { + this.socket = var1; + this.socket.setSoTimeout(30000); + this.socket.setTcpNoDelay(true); + this.socket.setReceiveBufferSize(65536); + this.socket.setSendBufferSize(65536); + this.source = new BufferedSource(this.socket.getInputStream(), var2); + this.sink = new BufferedSink(this.socket.getOutputStream(), var3); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-119" + ) + @Export("close") + public void close() { + this.sink.close(); + + try { + this.socket.close(); + } catch (IOException var2) { + } + + this.source.close(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1784126558" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() throws IOException { + return this.source.readUnsignedByte(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "3" + ) + @Export("available") + public int available() throws IOException { + return this.source.available(); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-336706705" + ) + @Export("isAvailable") + public boolean isAvailable(int var1) throws IOException { + return this.source.isAvailable(var1); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "-2035668362" + ) + @Export("read") + public int read(byte[] var1, int var2, int var3) throws IOException { + return this.source.read(var1, var2, var3); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "-68" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + this.sink.write(var1, var2, var3); + } + + protected void finalize() { + this.close(); + } + + protected void aav() { + this.close(); + } + + protected void aao() { + this.close(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "2009022285" + ) + @Export("loadWorlds") + static boolean loadWorlds() { + try { + if (class51.World_request == null) { + class51.World_request = Client.urlRequester.request(new URL(WorldMapSectionType.field150)); + } else if (class51.World_request.isDone()) { + byte[] var0 = class51.World_request.getResponse(); + Buffer var1 = new Buffer(var0); + var1.readInt(); + World.World_count = var1.readUnsignedShort(); + World.World_worlds = new World[World.World_count]; + + World var3; + for (int var2 = 0; var2 < World.World_count; var3.index = var2++) { + var3 = World.World_worlds[var2] = new World(); + var3.id = var1.readUnsignedShort(); + var3.properties = var1.readInt(); + var3.host = var1.readStringCp1252NullTerminated(); + var3.activity = var1.readStringCp1252NullTerminated(); + var3.location = var1.readUnsignedByte(); + var3.population = var1.readShort(); + } + + WorldMapData_0.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); + class51.World_request = null; + return true; + } + } catch (Exception var4) { + var4.printStackTrace(); + class51.World_request = null; + } + + return false; + } +} diff --git a/runescape-client/src/main/java/BufferedSink.java b/runescape-client/src/main/java/BufferedSink.java index 8792a43d6b..44c844f4eb 100644 --- a/runescape-client/src/main/java/BufferedSink.java +++ b/runescape-client/src/main/java/BufferedSink.java @@ -1,200 +1,274 @@ -import java.io.IOException; -import java.io.OutputStream; -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("kq") -@Implements("BufferedSink") -public class BufferedSink implements Runnable { - @ObfuscatedName("c") - @Export("thread") - Thread thread; - @ObfuscatedName("x") - @Export("outputStream") - OutputStream outputStream; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -416558403 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("g") - @Export("buffer") - byte[] buffer; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1582745375 - ) - @Export("position") - int position; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1128021535 - ) - @Export("limit") - int limit; - @ObfuscatedName("j") - @Export("exception") - IOException exception; - @ObfuscatedName("v") - @Export("closed") - boolean closed; - - BufferedSink(OutputStream var1, int var2) { - this.position = 0; - this.limit = 0; - this.outputStream = var1; - this.capacity = var2 + 1; - this.buffer = new byte[this.capacity]; - this.thread = new Thread(this); - this.thread.setDaemon(true); - this.thread.start(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(S)Z", - garbageValue = "2879" - ) - @Export("isClosed") - boolean isClosed() { - if (this.closed) { - try { - this.outputStream.close(); - if (this.exception == null) { - this.exception = new IOException(""); - } - } catch (IOException var2) { - if (this.exception == null) { - this.exception = new IOException(var2); - } - } - - return true; - } else { - return false; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "2082682209" - ) - @Export("write") - void write(byte[] var1, int var2, int var3) throws IOException { - if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { - synchronized(this) { - if (this.exception != null) { - throw new IOException(this.exception.toString()); - } else { - int var5; - if (this.position <= this.limit) { - var5 = this.capacity - this.limit + this.position - 1; - } else { - var5 = this.position - this.limit - 1; - } - - if (var5 < var3) { - throw new IOException(""); - } else { - if (var3 + this.limit <= this.capacity) { - System.arraycopy(var1, var2, this.buffer, this.limit, var3); - } else { - int var6 = this.capacity - this.limit; - System.arraycopy(var1, var2, this.buffer, this.limit, var6); - System.arraycopy(var1, var6 + var2, this.buffer, 0, var3 - var6); - } - - this.limit = (var3 + this.limit) % this.capacity; - this.notifyAll(); - } - } - } - } else { - throw new IOException(); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - @Export("close") - void close() { - synchronized(this) { - this.closed = true; - this.notifyAll(); - } - - try { - this.thread.join(); - } catch (InterruptedException var3) { - } - - } - - public void run() { - do { - int var1; - synchronized(this) { - while (true) { - if (this.exception != null) { - return; - } - - if (this.position <= this.limit) { - var1 = this.limit - this.position; - } else { - var1 = this.capacity - this.position + this.limit; - } - - if (var1 > 0) { - break; - } - - try { - this.outputStream.flush(); - } catch (IOException var11) { - this.exception = var11; - return; - } - - if (this.isClosed()) { - return; - } - - try { - this.wait(); - } catch (InterruptedException var12) { - } - } - } - - try { - if (var1 + this.position <= this.capacity) { - this.outputStream.write(this.buffer, this.position, var1); - } else { - int var7 = this.capacity - this.position; - this.outputStream.write(this.buffer, this.position, var7); - this.outputStream.write(this.buffer, 0, var1 - var7); - } - } catch (IOException var10) { - IOException var2 = var10; - synchronized(this) { - this.exception = var2; - return; - } - } - - synchronized(this) { - this.position = (var1 + this.position) % this.capacity; - } - } while(!this.isClosed()); - - } -} +import java.io.IOException; +import java.io.OutputStream; +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("kv") +@Implements("BufferedSink") +public class BufferedSink implements Runnable { + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lbr;" + ) + @Export("loginScreenRunesAnimation") + static LoginScreenAnimation loginScreenRunesAnimation; + @ObfuscatedName("z") + @Export("thread") + Thread thread; + @ObfuscatedName("n") + @Export("outputStream") + OutputStream outputStream; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1047270953 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("u") + @Export("buffer") + byte[] buffer; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 205486611 + ) + @Export("position") + int position; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1646863699 + ) + @Export("limit") + int limit; + @ObfuscatedName("q") + @Export("exception") + IOException exception; + @ObfuscatedName("m") + @Export("closed") + boolean closed; + + BufferedSink(OutputStream var1, int var2) { + this.position = 0; + this.limit = 0; + this.outputStream = var1; + this.capacity = var2 + 1; + this.buffer = new byte[this.capacity]; + this.thread = new Thread(this); + this.thread.setDaemon(true); + this.thread.start(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-57" + ) + @Export("isClosed") + boolean isClosed() { + if (this.closed) { + try { + this.outputStream.close(); + if (this.exception == null) { + this.exception = new IOException(""); + } + } catch (IOException var2) { + if (this.exception == null) { + this.exception = new IOException(var2); + } + } + + return true; + } else { + return false; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "30" + ) + @Export("write") + void write(byte[] var1, int var2, int var3) throws IOException { + if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { + synchronized(this) { + if (this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + int var5; + if (this.position <= this.limit) { + var5 = this.capacity - this.limit + this.position - 1; + } else { + var5 = this.position - this.limit - 1; + } + + if (var5 < var3) { + throw new IOException(""); + } else { + if (var3 + this.limit <= this.capacity) { + System.arraycopy(var1, var2, this.buffer, this.limit, var3); + } else { + int var6 = this.capacity - this.limit; + System.arraycopy(var1, var2, this.buffer, this.limit, var6); + System.arraycopy(var1, var6 + var2, this.buffer, 0, var3 - var6); + } + + this.limit = (var3 + this.limit) % this.capacity; + this.notifyAll(); + } + } + } + } else { + throw new IOException(); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1627292871" + ) + @Export("close") + void close() { + synchronized(this) { + this.closed = true; + this.notifyAll(); + } + + try { + this.thread.join(); + } catch (InterruptedException var3) { + } + + } + + public void run() { + do { + int var1; + synchronized(this) { + while (true) { + if (this.exception != null) { + return; + } + + if (this.position <= this.limit) { + var1 = this.limit - this.position; + } else { + var1 = this.capacity - this.position + this.limit; + } + + if (var1 > 0) { + break; + } + + try { + this.outputStream.flush(); + } catch (IOException var11) { + this.exception = var11; + return; + } + + if (this.isClosed()) { + return; + } + + try { + this.wait(); + } catch (InterruptedException var12) { + } + } + } + + try { + if (var1 + this.position <= this.capacity) { + this.outputStream.write(this.buffer, this.position, var1); + } else { + int var7 = this.capacity - this.position; + this.outputStream.write(this.buffer, this.position, var7); + this.outputStream.write(this.buffer, 0, var1 - var7); + } + } catch (IOException var10) { + IOException var2 = var10; + synchronized(this) { + this.exception = var2; + return; + } + } + + synchronized(this) { + this.position = (var1 + this.position) % this.capacity; + } + } while(!this.isClosed()); + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lli;I)I", + garbageValue = "-828018974" + ) + static final int method5777(LoginType var0) { + if (var0 == null) { + return 12; + } else { + switch(var0.field4033) { + case 0: + return 20; + default: + return 12; + } + } + } + + @ObfuscatedName("fm") + @ObfuscatedSignature( + signature = "(Lho;IIB)V", + garbageValue = "-112" + ) + @Export("checkIfMinimapClicked") + static final void checkIfMinimapClicked(Widget var0, int var1, int var2) { + if (Client.minimapState == 0 || Client.minimapState == 3) { + if (!Client.isMenuOpen && (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { + SpriteMask var3 = var0.getSpriteMask(true); + if (var3 == null) { + return; + } + + int var4 = MouseHandler.MouseHandler_lastPressedX - var1; + int var5 = MouseHandler.MouseHandler_lastPressedY - var2; + if (var3.contains(var4, var5)) { + var4 -= var3.width / 2; + var5 -= var3.height / 2; + int var6 = Client.camAngleY & 2047; + int var7 = Rasterizer3D.Rasterizer3D_sine[var6]; + int var8 = Rasterizer3D.Rasterizer3D_cosine[var6]; + int var9 = var5 * var7 + var4 * var8 >> 11; + int var10 = var5 * var8 - var7 * var4 >> 11; + int var11 = var9 + class223.localPlayer.x >> 7; + int var12 = class223.localPlayer.y * 682054857 - var10 >> 7; + PacketBufferNode var13 = InterfaceParent.getPacketBufferNode(ClientPacket.field2275, Client.packetWriter.isaacCipher); + var13.packetBuffer.writeByte(18); + var13.packetBuffer.writeShortLE(class223.baseX * 64 + var11); + var13.packetBuffer.method5461(class286.baseY * 64 + var12); + var13.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + var13.packetBuffer.writeByte(var4); + var13.packetBuffer.writeByte(var5); + var13.packetBuffer.writeShort(Client.camAngleY); + var13.packetBuffer.writeByte(57); + var13.packetBuffer.writeByte(0); + var13.packetBuffer.writeByte(0); + var13.packetBuffer.writeByte(89); + var13.packetBuffer.writeShort(class223.localPlayer.x); + var13.packetBuffer.writeShort(class223.localPlayer.y * 682054857); + var13.packetBuffer.writeByte(63); + Client.packetWriter.addNode(var13); + Client.destinationX = var11; + Client.destinationY = var12; + } + } + + } + } +} diff --git a/runescape-client/src/main/java/BufferedSource.java b/runescape-client/src/main/java/BufferedSource.java index b854c6f7ef..2cee413663 100644 --- a/runescape-client/src/main/java/BufferedSource.java +++ b/runescape-client/src/main/java/BufferedSource.java @@ -1,252 +1,246 @@ -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -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("kl") -@Implements("BufferedSource") -public class BufferedSource implements Runnable { - @ObfuscatedName("dr") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive15") - static Archive archive15; - @ObfuscatedName("c") - @Export("thread") - Thread thread; - @ObfuscatedName("x") - @Export("inputStream") - InputStream inputStream; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -957972311 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("g") - @Export("buffer") - byte[] buffer; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -499111829 - ) - @Export("position") - int position; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1421427639 - ) - @Export("limit") - int limit; - @ObfuscatedName("j") - @Export("exception") - IOException exception; - - BufferedSource(InputStream var1, int var2) { - this.position = 0; - this.limit = 0; - this.inputStream = var1; - this.capacity = var2 + 1; - this.buffer = new byte[this.capacity]; - this.thread = new Thread(this); - this.thread.setDaemon(true); - this.thread.start(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IB)Z", - garbageValue = "-46" - ) - @Export("isAvailable") - boolean isAvailable(int var1) throws IOException { - if (var1 == 0) { - return true; - } else if (var1 > 0 && var1 < this.capacity) { - synchronized(this) { - int var3; - if (this.position <= this.limit) { - var3 = this.limit - this.position; - } else { - var3 = this.capacity - this.position + this.limit; - } - - if (var3 < var1) { - if (this.exception != null) { - throw new IOException(this.exception.toString()); - } else { - this.notifyAll(); - return false; - } - } else { - return true; - } - } - } else { - throw new IOException(); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-266051829" - ) - @Export("available") - int available() throws IOException { - synchronized(this) { - int var2; - if (this.position <= this.limit) { - var2 = this.limit - this.position; - } else { - var2 = this.capacity - this.position + this.limit; - } - - if (var2 <= 0 && this.exception != null) { - throw new IOException(this.exception.toString()); - } else { - this.notifyAll(); - return var2; - } - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "842069737" - ) - @Export("readUnsignedByte") - int readUnsignedByte() throws IOException { - synchronized(this) { - if (this.position == this.limit) { - if (this.exception != null) { - throw new IOException(this.exception.toString()); - } else { - return -1; - } - } else { - int var2 = this.buffer[this.position] & 255; - this.position = (this.position + 1) % this.capacity; - this.notifyAll(); - return var2; - } - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "372085290" - ) - @Export("read") - int read(byte[] var1, int var2, int var3) throws IOException { - if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { - synchronized(this) { - int var5; - if (this.position <= this.limit) { - var5 = this.limit - this.position; - } else { - var5 = this.capacity - this.position + this.limit; - } - - if (var3 > var5) { - var3 = var5; - } - - if (var3 == 0 && this.exception != null) { - throw new IOException(this.exception.toString()); - } else { - if (var3 + this.position <= this.capacity) { - System.arraycopy(this.buffer, this.position, var1, var2, var3); - } else { - int var6 = this.capacity - this.position; - System.arraycopy(this.buffer, this.position, var1, var2, var6); - System.arraycopy(this.buffer, 0, var1, var6 + var2, var3 - var6); - } - - this.position = (var3 + this.position) % this.capacity; - this.notifyAll(); - return var3; - } - } - } else { - throw new IOException(); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-122132580" - ) - @Export("close") - void close() { - synchronized(this) { - if (this.exception == null) { - this.exception = new IOException(""); - } - - this.notifyAll(); - } - - try { - this.thread.join(); - } catch (InterruptedException var3) { - } - - } - - public void run() { - while (true) { - int var1; - synchronized(this) { - while (true) { - if (this.exception != null) { - return; - } - - if (this.position == 0) { - var1 = this.capacity - this.limit - 1; - } else if (this.position <= this.limit) { - var1 = this.capacity - this.limit; - } else { - var1 = this.position - this.limit - 1; - } - - if (var1 > 0) { - break; - } - - try { - this.wait(); - } catch (InterruptedException var10) { - } - } - } - - int var7; - try { - var7 = this.inputStream.read(this.buffer, this.limit, var1); - if (var7 == -1) { - throw new EOFException(); - } - } catch (IOException var11) { - IOException var3 = var11; - synchronized(this) { - this.exception = var3; - return; - } - } - - synchronized(this) { - this.limit = (var7 + this.limit) % this.capacity; - } - } - } -} +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +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("kx") +@Implements("BufferedSource") +public class BufferedSource implements Runnable { + @ObfuscatedName("z") + @Export("thread") + Thread thread; + @ObfuscatedName("n") + @Export("inputStream") + InputStream inputStream; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1837703949 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("u") + @Export("buffer") + byte[] buffer; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 496960127 + ) + @Export("position") + int position; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -589477741 + ) + @Export("limit") + int limit; + @ObfuscatedName("q") + @Export("exception") + IOException exception; + + BufferedSource(InputStream var1, int var2) { + this.position = 0; + this.limit = 0; + this.inputStream = var1; + this.capacity = var2 + 1; + this.buffer = new byte[this.capacity]; + this.thread = new Thread(this); + this.thread.setDaemon(true); + this.thread.start(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "-42" + ) + @Export("isAvailable") + boolean isAvailable(int var1) throws IOException { + if (var1 == 0) { + return true; + } else if (var1 > 0 && var1 < this.capacity) { + synchronized(this) { + int var3; + if (this.position <= this.limit) { + var3 = this.limit - this.position; + } else { + var3 = this.capacity - this.position + this.limit; + } + + if (var3 < var1) { + if (this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + this.notifyAll(); + return false; + } + } else { + return true; + } + } + } else { + throw new IOException(); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-99" + ) + @Export("available") + int available() throws IOException { + synchronized(this) { + int var2; + if (this.position <= this.limit) { + var2 = this.limit - this.position; + } else { + var2 = this.capacity - this.position + this.limit; + } + + if (var2 <= 0 && this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + this.notifyAll(); + return var2; + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1540455812" + ) + @Export("readUnsignedByte") + int readUnsignedByte() throws IOException { + synchronized(this) { + if (this.limit == this.position) { + if (this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + return -1; + } + } else { + int var2 = this.buffer[this.position] & 255; + this.position = (this.position + 1) % this.capacity; + this.notifyAll(); + return var2; + } + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "2103598010" + ) + @Export("read") + int read(byte[] var1, int var2, int var3) throws IOException { + if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { + synchronized(this) { + int var5; + if (this.position <= this.limit) { + var5 = this.limit - this.position; + } else { + var5 = this.capacity - this.position + this.limit; + } + + if (var3 > var5) { + var3 = var5; + } + + if (var3 == 0 && this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + if (var3 + this.position <= this.capacity) { + System.arraycopy(this.buffer, this.position, var1, var2, var3); + } else { + int var6 = this.capacity - this.position; + System.arraycopy(this.buffer, this.position, var1, var2, var6); + System.arraycopy(this.buffer, 0, var1, var6 + var2, var3 - var6); + } + + this.position = (var3 + this.position) % this.capacity; + this.notifyAll(); + return var3; + } + } + } else { + throw new IOException(); + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2069219110" + ) + @Export("close") + void close() { + synchronized(this) { + if (this.exception == null) { + this.exception = new IOException(""); + } + + this.notifyAll(); + } + + try { + this.thread.join(); + } catch (InterruptedException var3) { + } + + } + + public void run() { + while (true) { + int var1; + synchronized(this) { + while (true) { + if (this.exception != null) { + return; + } + + if (this.position == 0) { + var1 = this.capacity - this.limit - 1; + } else if (this.position <= this.limit) { + var1 = this.capacity - this.limit; + } else { + var1 = this.position - this.limit - 1; + } + + if (var1 > 0) { + break; + } + + try { + this.wait(); + } catch (InterruptedException var10) { + } + } + } + + int var7; + try { + var7 = this.inputStream.read(this.buffer, this.limit, var1); + if (var7 == -1) { + throw new EOFException(); + } + } catch (IOException var11) { + IOException var3 = var11; + synchronized(this) { + this.exception = var3; + return; + } + } + + synchronized(this) { + this.limit = (var7 + this.limit) % this.capacity; + } + } + } +} diff --git a/runescape-client/src/main/java/ByteArrayNode.java b/runescape-client/src/main/java/ByteArrayNode.java index 9f4543862f..9ca23a673d 100644 --- a/runescape-client/src/main/java/ByteArrayNode.java +++ b/runescape-client/src/main/java/ByteArrayNode.java @@ -1,15 +1,15 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("fg") -@Implements("ByteArrayNode") -public class ByteArrayNode extends Node { - @ObfuscatedName("c") - @Export("byteArray") - public byte[] byteArray; - - public ByteArrayNode(byte[] var1) { - this.byteArray = var1; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("fl") +@Implements("ByteArrayNode") +public class ByteArrayNode extends Node { + @ObfuscatedName("z") + @Export("byteArray") + public byte[] byteArray; + + public ByteArrayNode(byte[] var1) { + this.byteArray = var1; + } +} diff --git a/runescape-client/src/main/java/ByteArrayPool.java b/runescape-client/src/main/java/ByteArrayPool.java index 7f739daa64..7bfebe5584 100644 --- a/runescape-client/src/main/java/ByteArrayPool.java +++ b/runescape-client/src/main/java/ByteArrayPool.java @@ -1,113 +1,103 @@ -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("ky") -@Implements("ByteArrayPool") -public class ByteArrayPool { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1827163357 - ) - @Export("ByteArrayPool_smallCount") - static int ByteArrayPool_smallCount; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1136755957 - ) - @Export("ByteArrayPool_mediumCount") - static int ByteArrayPool_mediumCount; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 871575803 - ) - @Export("ByteArrayPool_largeCount") - static int ByteArrayPool_largeCount; - @ObfuscatedName("g") - @Export("ByteArrayPool_small") - static byte[][] ByteArrayPool_small; - @ObfuscatedName("l") - @Export("ByteArrayPool_medium") - static byte[][] ByteArrayPool_medium; - @ObfuscatedName("u") - @Export("ByteArrayPool_large") - static byte[][] ByteArrayPool_large; - @ObfuscatedName("j") - @Export("ByteArrayPool_alternativeSizes") - static int[] ByteArrayPool_alternativeSizes; - - static { - ByteArrayPool_smallCount = 0; - ByteArrayPool_mediumCount = 0; - ByteArrayPool_largeCount = 0; - ByteArrayPool_small = new byte[1000][]; - ByteArrayPool_medium = new byte[250][]; - ByteArrayPool_large = new byte[50][]; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IZI)[B", - garbageValue = "-2146041378" - ) - @Export("ByteArrayPool_getArrayBool") - static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) { - byte[] var2; - if (var0 != 100) { - if (var0 < 100) { - } - } else if (ByteArrayPool_smallCount > 0) { - var2 = ByteArrayPool_small[--ByteArrayPool_smallCount]; - ByteArrayPool_small[ByteArrayPool_smallCount] = null; - return var2; - } - - if (var0 != 5000) { - if (var0 < 5000) { - } - } else if (ByteArrayPool_mediumCount > 0) { - var2 = ByteArrayPool_medium[--ByteArrayPool_mediumCount]; - ByteArrayPool_medium[ByteArrayPool_mediumCount] = null; - return var2; - } - - if (var0 != 30000) { - if (var0 < 30000) { - } - } else if (ByteArrayPool_largeCount > 0) { - var2 = ByteArrayPool_large[--ByteArrayPool_largeCount]; - ByteArrayPool_large[ByteArrayPool_largeCount] = null; - return var2; - } - - if (WorldMapEvent.ByteArrayPool_arrays != null) { - for (int var4 = 0; var4 < ByteArrayPool_alternativeSizes.length; ++var4) { - if (ByteArrayPool_alternativeSizes[var4] != var0) { - if (var0 < ByteArrayPool_alternativeSizes[var4]) { - } - } else if (Login.ByteArrayPool_altSizeArrayCounts[var4] > 0) { - byte[] var3 = WorldMapEvent.ByteArrayPool_arrays[var4][--Login.ByteArrayPool_altSizeArrayCounts[var4]]; - WorldMapEvent.ByteArrayPool_arrays[var4][Login.ByteArrayPool_altSizeArrayCounts[var4]] = null; - return var3; - } - } - } - - return new byte[var0]; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;II)V", - garbageValue = "651984351" - ) - static final void method5750(String var0, int var1) { - PacketBufferNode var2 = MenuAction.getPacketBufferNode(ClientPacket.field2193, Client.packetWriter.isaacCipher); - var2.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var0) + 1); - var2.packetBuffer.writeStringCp1252NullTerminated(var0); - var2.packetBuffer.method5493(var1); - Client.packetWriter.addNode(var2); - } -} +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("kt") +@Implements("ByteArrayPool") +public class ByteArrayPool { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1085109787 + ) + @Export("ByteArrayPool_smallCount") + static int ByteArrayPool_smallCount; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -745592959 + ) + @Export("ByteArrayPool_mediumCount") + static int ByteArrayPool_mediumCount; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1171490501 + ) + @Export("ByteArrayPool_largeCount") + static int ByteArrayPool_largeCount; + @ObfuscatedName("u") + @Export("ByteArrayPool_small") + static byte[][] ByteArrayPool_small; + @ObfuscatedName("r") + @Export("ByteArrayPool_medium") + static byte[][] ByteArrayPool_medium; + @ObfuscatedName("p") + @Export("ByteArrayPool_large") + static byte[][] ByteArrayPool_large; + @ObfuscatedName("q") + @Export("ByteArrayPool_alternativeSizes") + public static int[] ByteArrayPool_alternativeSizes; + @ObfuscatedName("m") + @Export("ByteArrayPool_altSizeArrayCounts") + public static int[] ByteArrayPool_altSizeArrayCounts; + + static { + ByteArrayPool_smallCount = 0; + ByteArrayPool_mediumCount = 0; + ByteArrayPool_largeCount = 0; + ByteArrayPool_small = new byte[1000][]; + ByteArrayPool_medium = new byte[250][]; + ByteArrayPool_large = new byte[50][]; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IZB)[B", + garbageValue = "-44" + ) + @Export("ByteArrayPool_getArrayBool") + static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) { + byte[] var2; + if (var0 != 100) { + if (var0 < 100) { + } + } else if (ByteArrayPool_smallCount > 0) { + var2 = ByteArrayPool_small[--ByteArrayPool_smallCount]; + ByteArrayPool_small[ByteArrayPool_smallCount] = null; + return var2; + } + + if (var0 != 5000) { + if (var0 < 5000) { + } + } else if (ByteArrayPool_mediumCount > 0) { + var2 = ByteArrayPool_medium[--ByteArrayPool_mediumCount]; + ByteArrayPool_medium[ByteArrayPool_mediumCount] = null; + return var2; + } + + if (var0 != 30000) { + if (var0 < 30000) { + } + } else if (ByteArrayPool_largeCount > 0) { + var2 = ByteArrayPool_large[--ByteArrayPool_largeCount]; + ByteArrayPool_large[ByteArrayPool_largeCount] = null; + return var2; + } + + if (class81.ByteArrayPool_arrays != null) { + for (int var4 = 0; var4 < ByteArrayPool_alternativeSizes.length; ++var4) { + if (ByteArrayPool_alternativeSizes[var4] != var0) { + if (var0 < ByteArrayPool_alternativeSizes[var4]) { + } + } else if (ByteArrayPool_altSizeArrayCounts[var4] > 0) { + byte[] var3 = class81.ByteArrayPool_arrays[var4][--ByteArrayPool_altSizeArrayCounts[var4]]; + class81.ByteArrayPool_arrays[var4][ByteArrayPool_altSizeArrayCounts[var4]] = null; + return var3; + } + } + } + + return new byte[var0]; + } +} diff --git a/runescape-client/src/main/java/Calendar.java b/runescape-client/src/main/java/Calendar.java index 819e604169..86b53fc3d8 100644 --- a/runescape-client/src/main/java/Calendar.java +++ b/runescape-client/src/main/java/Calendar.java @@ -1,45 +1,61 @@ -import java.util.TimeZone; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gm") -@Implements("Calendar") -public class Calendar { - @ObfuscatedName("c") - @Export("MONTH_NAMES_ENGLISH_GERMAN") - static final String[][] MONTH_NAMES_ENGLISH_GERMAN; - @ObfuscatedName("x") - @Export("DAYS_OF_THE_WEEK") - static final String[] DAYS_OF_THE_WEEK; - @ObfuscatedName("t") - @Export("Calendar_calendar") - static java.util.Calendar Calendar_calendar; - - static { - MONTH_NAMES_ENGLISH_GERMAN = new String[][]{{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}, {"jan", "fév", "mars", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc"}, {"jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, {"jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}}; - DAYS_OF_THE_WEEK = new String[]{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; - java.util.Calendar.getInstance(); - Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT")); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-283445433" - ) - @Export("isWorldMapEvent") - public static boolean isWorldMapEvent(int var0) { - return var0 == 10 || var0 == 11 || var0 == 12 || var0 == 13 || var0 == 14 || var0 == 15 || var0 == 16 || var0 == 17; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "121" - ) - static final void method3933(String var0) { - WorldMapSection2.method283(var0 + " is already on your friend list"); - } -} +import java.util.TimeZone; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gz") +@Implements("Calendar") +public class Calendar { + @ObfuscatedName("z") + @Export("MONTH_NAMES_ENGLISH_GERMAN") + public static final String[][] MONTH_NAMES_ENGLISH_GERMAN; + @ObfuscatedName("n") + @Export("DAYS_OF_THE_WEEK") + public static final String[] DAYS_OF_THE_WEEK; + @ObfuscatedName("v") + @Export("Calendar_calendar") + public static java.util.Calendar Calendar_calendar; + + static { + MONTH_NAMES_ENGLISH_GERMAN = new String[][]{{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}, {"jan", "fév", "mars", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc"}, {"jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, {"jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}}; + DAYS_OF_THE_WEEK = new String[]{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; + java.util.Calendar.getInstance(); + Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT")); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Lho;I[B[BB)V", + garbageValue = "-75" + ) + @Export("Widget_setKey") + static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) { + if (var0.field2552 == null) { + if (var2 == null) { + return; + } + + var0.field2552 = new byte[11][]; + var0.field2621 = new byte[11][]; + var0.field2586 = new int[11]; + var0.field2548 = new int[11]; + } + + var0.field2552[var1] = var2; + if (var2 != null) { + var0.field2619 = true; + } else { + var0.field2619 = false; + + for (int var4 = 0; var4 < var0.field2552.length; ++var4) { + if (var0.field2552[var4] != null) { + var0.field2619 = true; + break; + } + } + } + + var0.field2621[var1] = var3; + } +} diff --git a/runescape-client/src/main/java/Canvas.java b/runescape-client/src/main/java/Canvas.java index 0b363de93d..fa5dfc2202 100644 --- a/runescape-client/src/main/java/Canvas.java +++ b/runescape-client/src/main/java/Canvas.java @@ -1,541 +1,143 @@ -import java.awt.Component; -import java.awt.Graphics; -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.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ai") -@Implements("Canvas") -public final class Canvas extends java.awt.Canvas { - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1291773237 - ) - public static int field395; - @ObfuscatedName("c") - @Export("component") - Component component; - - Canvas(Component var1) { - this.component = var1; - } - - public final void update(Graphics var1) { - this.component.update(var1); - } - - public final void paint(Graphics var1) { - this.component.paint(var1); - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "1869082478" - ) - @Export("setLoginResponseString") - static void setLoginResponseString(String var0, String var1, String var2) { - Login.Login_response1 = var0; - Login.Login_response2 = var1; - Login.Login_response3 = var2; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-87" - ) - @Export("WorldMapElement_clearCached") - public static void WorldMapElement_clearCached() { - WorldMapElement.WorldMapElement_cachedSprites.clear(); - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1591612905" - ) - @Export("getGcDuration") - protected static int getGcDuration() { - int var0 = 0; - if (GrandExchangeOfferTotalQuantityComparator.garbageCollector == null || !GrandExchangeOfferTotalQuantityComparator.garbageCollector.isValid()) { - try { - Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); - - while (var1.hasNext()) { - GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); - if (var2.isValid()) { - GrandExchangeOfferTotalQuantityComparator.garbageCollector = var2; - GameShell.garbageCollectorLastCheckTimeMs = -1L; - GameShell.garbageCollectorLastCollectionTime = -1L; - } - } - } catch (Throwable var11) { - } - } - - if (GrandExchangeOfferTotalQuantityComparator.garbageCollector != null) { - long var9 = SoundCache.method2480(); - long var3 = GrandExchangeOfferTotalQuantityComparator.garbageCollector.getCollectionTime(); - if (GameShell.garbageCollectorLastCollectionTime != -1L) { - long var5 = var3 - GameShell.garbageCollectorLastCollectionTime; - long var7 = var9 - GameShell.garbageCollectorLastCheckTimeMs; - if (var7 != 0L) { - var0 = (int)(100L * var5 / var7); - } - } - - GameShell.garbageCollectorLastCollectionTime = var3; - GameShell.garbageCollectorLastCheckTimeMs = var9; - } - - return var0; - } - - @ObfuscatedName("gs") - @ObfuscatedSignature( - signature = "(ZLkt;B)V", - garbageValue = "-109" - ) - @Export("loadRegions") - static final void loadRegions(boolean var0, PacketBuffer var1) { - Client.isInInstance = var0; - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - if (!Client.isInInstance) { - int var2 = var1.method5514(); - var3 = var1.method5514(); - var4 = var1.readUnsignedShort(); - GrandExchangeOfferAgeComparator.xteaKeys = new int[var4][4]; - - for (var5 = 0; var5 < var4; ++var5) { - for (var6 = 0; var6 < 4; ++var6) { - GrandExchangeOfferAgeComparator.xteaKeys[var5][var6] = var1.readInt(); - } - } - - class197.regions = new int[var4]; - WorldMapEvent.regionMapArchiveIds = new int[var4]; - SequenceDefinition.regionLandArchiveIds = new int[var4]; - MusicPatchPcmStream.regionLandArchives = new byte[var4][]; - Client.regionMapArchives = new byte[var4][]; - boolean var16 = false; - if ((var2 / 8 == 48 || var2 / 8 == 49) && var3 / 8 == 48) { - var16 = true; - } - - if (var2 / 8 == 48 && var3 / 8 == 148) { - var16 = true; - } - - var4 = 0; - - for (var6 = (var2 - 6) / 8; var6 <= (var2 + 6) / 8; ++var6) { - for (var7 = (var3 - 6) / 8; var7 <= (var3 + 6) / 8; ++var7) { - var8 = var7 + (var6 << 8); - if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { - class197.regions[var4] = var8; - WorldMapEvent.regionMapArchiveIds[var4] = Timer.archive5.getGroupId("m" + var6 + "_" + var7); - SequenceDefinition.regionLandArchiveIds[var4] = Timer.archive5.getGroupId("l" + var6 + "_" + var7); - ++var4; - } - } - } - - WorldMapSection2.method301(var2, var3, true); - } else { - boolean var15 = var1.method5494() == 1; - var3 = var1.readUnsignedShort(); - var4 = var1.method5459(); - var5 = var1.readUnsignedShort(); - var1.importIndex(); - - int var9; - for (var6 = 0; var6 < 4; ++var6) { - for (var7 = 0; var7 < 13; ++var7) { - for (var8 = 0; var8 < 13; ++var8) { - var9 = var1.readBits(1); - if (var9 == 1) { - Client.instanceChunkTemplates[var6][var7][var8] = var1.readBits(26); - } else { - Client.instanceChunkTemplates[var6][var7][var8] = -1; - } - } - } - } - - var1.exportIndex(); - GrandExchangeOfferAgeComparator.xteaKeys = new int[var5][4]; - - for (var6 = 0; var6 < var5; ++var6) { - for (var7 = 0; var7 < 4; ++var7) { - GrandExchangeOfferAgeComparator.xteaKeys[var6][var7] = var1.readInt(); - } - } - - class197.regions = new int[var5]; - WorldMapEvent.regionMapArchiveIds = new int[var5]; - SequenceDefinition.regionLandArchiveIds = new int[var5]; - MusicPatchPcmStream.regionLandArchives = new byte[var5][]; - Client.regionMapArchives = new byte[var5][]; - var5 = 0; - - for (var6 = 0; var6 < 4; ++var6) { - for (var7 = 0; var7 < 13; ++var7) { - for (var8 = 0; var8 < 13; ++var8) { - var9 = Client.instanceChunkTemplates[var6][var7][var8]; - if (var9 != -1) { - int var10 = var9 >> 14 & 1023; - int var11 = var9 >> 3 & 2047; - int var12 = (var10 / 8 << 8) + var11 / 8; - - int var13; - for (var13 = 0; var13 < var5; ++var13) { - if (class197.regions[var13] == var12) { - var12 = -1; - break; - } - } - - if (var12 != -1) { - class197.regions[var5] = var12; - var13 = var12 >> 8 & 255; - int var14 = var12 & 255; - WorldMapEvent.regionMapArchiveIds[var5] = Timer.archive5.getGroupId("m" + var13 + "_" + var14); - SequenceDefinition.regionLandArchiveIds[var5] = Timer.archive5.getGroupId("l" + var13 + "_" + var14); - ++var5; - } - } - } - } - } - - WorldMapSection2.method301(var3, var4, !var15); - } - - } - - @ObfuscatedName("gb") - @ObfuscatedSignature( - signature = "(Lgn;I)V", - garbageValue = "1871694401" - ) - static final void method815(class185 var0) { - PacketBuffer var1 = Client.packetWriter.packetBuffer; - int var3; - int var6; - int var37; - int var38; - int var39; - int var40; - if (class185.field2299 == var0) { - var37 = var1.readUnsignedShort(); - var3 = var1.readUnsignedByteNegate(); - var38 = (var3 >> 4 & 7) + WorldMapSection1.field286; - var39 = (var3 & 7) + ArchiveLoader.field508; - var6 = var1.method5459(); - var40 = var1.readUnsignedByteNegate(); - if (var38 >= 0 && var39 >= 0 && var38 < 104 && var39 < 104) { - var38 = var38 * 128 + 64; - var39 = var39 * 128 + 64; - GraphicsObject var41 = new GraphicsObject(var37, MouseRecorder.plane, var38, var39, WorldMapAreaData.getTileHeight(var38, var39, MouseRecorder.plane) - var40, var6, Client.cycle); - Client.graphicsObjects.addFirst(var41); - } - - } else { - int var31; - if (class185.field2303 == var0) { - var37 = var1.readUnsignedByte(); - var3 = (var37 >> 4 & 7) + WorldMapSection1.field286; - var38 = (var37 & 7) + ArchiveLoader.field508; - var39 = var1.method5494(); - var6 = var39 >> 2; - var40 = var39 & 3; - var31 = Client.field682[var6]; - if (var3 >= 0 && var38 >= 0 && var3 < 104 && var38 < 104) { - Tiles.updatePendingSpawn(MouseRecorder.plane, var3, var38, var31, -1, var6, var40, 0, -1); - } - - } else { - byte var4; - byte var5; - int var9; - int var10; - int var11; - int var12; - int var13; - int var14; - if (class185.field2296 == var0) { - var37 = var1.readUnsignedByteNegate(); - var3 = var1.method5506(); - var4 = var1.method5634(); - var5 = var1.method5634(); - var6 = var1.method5494(); - var40 = (var6 >> 4 & 7) + WorldMapSection1.field286; - var31 = (var6 & 7) + ArchiveLoader.field508; - var9 = var1.readUnsignedByteNegate() * 4; - var10 = var1.method5514(); - var11 = var1.method5459(); - var12 = var1.readUnsignedByte() * 4; - var13 = var1.method5514(); - var14 = var1.readUnsignedByte(); - var39 = var5 + var40; - var38 = var4 + var31; - if (var40 >= 0 && var31 >= 0 && var40 < 104 && var31 < 104 && var39 >= 0 && var38 >= 0 && var39 < 104 && var38 < 104 && var10 != 65535) { - var40 = var40 * 128 + 64; - var31 = var31 * 128 + 64; - var39 = var39 * 128 + 64; - var38 = var38 * 128 + 64; - Projectile var15 = new Projectile(var10, MouseRecorder.plane, var40, var31, WorldMapAreaData.getTileHeight(var40, var31, MouseRecorder.plane) - var12, var13 + Client.cycle, var11 + Client.cycle, var14, var37, var3, var9); - var15.setDestination(var39, var38, WorldMapAreaData.getTileHeight(var39, var38, MouseRecorder.plane) - var9, var13 + Client.cycle); - Client.projectiles.addFirst(var15); - } - - } else if (class185.field2301 == var0) { - var37 = var1.method5514(); - var3 = var1.method5547(); - var38 = (var3 >> 4 & 7) + WorldMapSection1.field286; - var39 = (var3 & 7) + ArchiveLoader.field508; - var6 = var1.readUnsignedByteNegate(); - var40 = var6 >> 2; - var31 = var6 & 3; - var9 = Client.field682[var40]; - if (var38 >= 0 && var39 >= 0 && var38 < 104 && var39 < 104) { - Tiles.updatePendingSpawn(MouseRecorder.plane, var38, var39, var9, var37, var40, var31, 0, -1); - } - - } else if (class185.field2304 == var0) { - var37 = var1.method5514(); - var3 = var1.method5494(); - var38 = (var3 >> 4 & 7) + WorldMapSection1.field286; - var39 = (var3 & 7) + ArchiveLoader.field508; - var6 = var1.method5494(); - var40 = var6 >> 2; - var31 = var6 & 3; - var9 = Client.field682[var40]; - if (var38 >= 0 && var39 >= 0 && var38 < 103 && var39 < 103) { - if (var9 == 0) { - BoundaryObject var32 = WorldMapIcon_1.scene.method3063(MouseRecorder.plane, var38, var39); - if (var32 != null) { - var11 = SecureRandomFuture.Entity_unpackID(var32.tag); - if (var40 == 2) { - var32.entity1 = new DynamicObject(var11, 2, var31 + 4, MouseRecorder.plane, var38, var39, var37, false, var32.entity1); - var32.entity2 = new DynamicObject(var11, 2, var31 + 1 & 3, MouseRecorder.plane, var38, var39, var37, false, var32.entity2); - } else { - var32.entity1 = new DynamicObject(var11, var40, var31, MouseRecorder.plane, var38, var39, var37, false, var32.entity1); - } - } - } - - if (var9 == 1) { - WallDecoration var42 = WorldMapIcon_1.scene.method3189(MouseRecorder.plane, var38, var39); - if (var42 != null) { - var11 = SecureRandomFuture.Entity_unpackID(var42.tag); - if (var40 != 4 && var40 != 5) { - if (var40 == 6) { - var42.entity1 = new DynamicObject(var11, 4, var31 + 4, MouseRecorder.plane, var38, var39, var37, false, var42.entity1); - } else if (var40 == 7) { - var42.entity1 = new DynamicObject(var11, 4, (var31 + 2 & 3) + 4, MouseRecorder.plane, var38, var39, var37, false, var42.entity1); - } else if (var40 == 8) { - var42.entity1 = new DynamicObject(var11, 4, var31 + 4, MouseRecorder.plane, var38, var39, var37, false, var42.entity1); - var42.entity2 = new DynamicObject(var11, 4, (var31 + 2 & 3) + 4, MouseRecorder.plane, var38, var39, var37, false, var42.entity2); - } - } else { - var42.entity1 = new DynamicObject(var11, 4, var31, MouseRecorder.plane, var38, var39, var37, false, var42.entity1); - } - } - } - - if (var9 == 2) { - GameObject var43 = WorldMapIcon_1.scene.method3065(MouseRecorder.plane, var38, var39); - if (var40 == 11) { - var40 = 10; - } - - if (var43 != null) { - var43.entity = new DynamicObject(SecureRandomFuture.Entity_unpackID(var43.tag), var40, var31, MouseRecorder.plane, var38, var39, var37, false, var43.entity); - } - } - - if (var9 == 3) { - FloorDecoration var44 = WorldMapIcon_1.scene.getFloorDecoration(MouseRecorder.plane, var38, var39); - if (var44 != null) { - var44.entity = new DynamicObject(SecureRandomFuture.Entity_unpackID(var44.tag), 22, var31, MouseRecorder.plane, var38, var39, var37, false, var44.entity); - } - } - } - - } else { - if (class185.field2297 == var0) { - byte var2 = var1.method5634(); - var3 = var1.readUnsignedShort(); - var4 = var1.method5497(); - var5 = var1.method5634(); - var6 = var1.method5514(); - byte var7 = var1.method5498(); - var31 = var1.method5503(); - var9 = var1.method5514(); - var10 = var1.readUnsignedByte(); - var11 = (var10 >> 4 & 7) + WorldMapSection1.field286; - var12 = (var10 & 7) + ArchiveLoader.field508; - var13 = var1.readUnsignedByte(); - var14 = var13 >> 2; - int var33 = var13 & 3; - int var16 = Client.field682[var14]; - Player var17; - if (var9 == Client.localPlayerIndex) { - var17 = Varps.localPlayer; - } else { - var17 = Client.players[var9]; - } - - if (var17 != null) { - ObjectDefinition var18 = WallDecoration.getObjectDefinition(var31); - int var19; - int var20; - if (var33 != 1 && var33 != 3) { - var19 = var18.sizeX; - var20 = var18.sizeY; - } else { - var19 = var18.sizeY; - var20 = var18.sizeX; - } - - int var21 = var11 + (var19 >> 1); - int var22 = var11 + (var19 + 1 >> 1); - int var23 = var12 + (var20 >> 1); - int var24 = var12 + (var20 + 1 >> 1); - int[][] var25 = Tiles.Tiles_heights[MouseRecorder.plane]; - int var26 = var25[var22][var24] + var25[var21][var24] + var25[var21][var23] + var25[var22][var23] >> 2; - int var27 = (var11 << 7) + (var19 << 6); - int var28 = (var12 << 7) + (var20 << 6); - Model var29 = var18.getModel(var14, var33, var25, var27, var26, var28); - if (var29 != null) { - Tiles.updatePendingSpawn(MouseRecorder.plane, var11, var12, var16, -1, 0, 0, var6 + 1, var3 + 1); - var17.animationCycleStart = var6 + Client.cycle; - var17.animationCycleEnd = var3 + Client.cycle; - var17.model0 = var29; - var17.field597 = var11 * 128 + var19 * 64; - var17.field599 = var12 * 128 + var20 * 64; - var17.tileHeight2 = var26; - byte var30; - if (var4 > var2) { - var30 = var4; - var4 = var2; - var2 = var30; - } - - if (var7 > var5) { - var30 = var7; - var7 = var5; - var5 = var30; - } - - var17.field601 = var4 + var11; - var17.field609 = var11 + var2; - var17.field602 = var7 + var12; - var17.field604 = var5 + var12; - } - } - } - - if (class185.field2305 == var0) { - var37 = var1.method5547(); - var3 = (var37 >> 4 & 7) + WorldMapSection1.field286; - var38 = (var37 & 7) + ArchiveLoader.field508; - var39 = var1.method5547(); - var6 = var39 >> 4 & 15; - var40 = var39 & 7; - var31 = var1.readUnsignedShort(); - var9 = var1.method5547(); - if (var3 >= 0 && var38 >= 0 && var3 < 104 && var38 < 104) { - var10 = var6 + 1; - if (Varps.localPlayer.pathX[0] >= var3 - var10 && Varps.localPlayer.pathX[0] <= var3 + var10 && Varps.localPlayer.pathY[0] >= var38 - var10 && Varps.localPlayer.pathY[0] <= var38 + var10 && Client.field860 != 0 && var40 > 0 && Client.soundEffectCount < 50) { - Client.soundEffectIds[Client.soundEffectCount] = var31; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var40; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var9; - Client.soundEffects[Client.soundEffectCount] = null; - Client.soundLocations[Client.soundEffectCount] = var6 + (var38 << 8) + (var3 << 16); - ++Client.soundEffectCount; - } - } - } - - TileItem var35; - if (class185.field2298 == var0) { - var37 = var1.readUnsignedByte(); - var3 = (var37 >> 4 & 7) + WorldMapSection1.field286; - var38 = (var37 & 7) + ArchiveLoader.field508; - var39 = var1.method5514(); - if (var3 >= 0 && var38 >= 0 && var3 < 104 && var38 < 104) { - NodeDeque var34 = Client.groundItems[MouseRecorder.plane][var3][var38]; - if (var34 != null) { - for (var35 = (TileItem)var34.last(); var35 != null; var35 = (TileItem)var34.previous()) { - if ((var39 & 32767) == var35.id) { - var35.remove(); - break; - } - } - - if (var34.last() == null) { - Client.groundItems[MouseRecorder.plane][var3][var38] = null; - } - - WorldMapCacheName.updateItemPile(var3, var38); - } - } - - } else if (class185.field2302 == var0) { - var37 = var1.method5514(); - var3 = var1.method5503(); - var38 = var1.method5547(); - var39 = (var38 >> 4 & 7) + WorldMapSection1.field286; - var6 = (var38 & 7) + ArchiveLoader.field508; - if (var39 >= 0 && var6 >= 0 && var39 < 104 && var6 < 104) { - var35 = new TileItem(); - var35.id = var37; - var35.quantity = var3; - if (Client.groundItems[MouseRecorder.plane][var39][var6] == null) { - Client.groundItems[MouseRecorder.plane][var39][var6] = new NodeDeque(); - } - - Client.groundItems[MouseRecorder.plane][var39][var6].addFirst(var35); - WorldMapCacheName.updateItemPile(var39, var6); - } - - } else if (class185.field2300 == var0) { - var37 = var1.readUnsignedShort(); - var3 = var1.readUnsignedShort(); - var38 = var1.method5547(); - var39 = (var38 >> 4 & 7) + WorldMapSection1.field286; - var6 = (var38 & 7) + ArchiveLoader.field508; - var40 = var1.method5459(); - if (var39 >= 0 && var6 >= 0 && var39 < 104 && var6 < 104) { - NodeDeque var8 = Client.groundItems[MouseRecorder.plane][var39][var6]; - if (var8 != null) { - for (TileItem var36 = (TileItem)var8.last(); var36 != null; var36 = (TileItem)var8.previous()) { - if ((var37 & 32767) == var36.id && var3 == var36.quantity) { - var36.quantity = var40; - break; - } - } - - WorldMapCacheName.updateItemPile(var39, var6); - } - } - - } - } - } - } - } -} +import java.awt.Component; +import java.awt.Graphics; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("ay") +@Implements("Canvas") +public final class Canvas extends java.awt.Canvas { + @ObfuscatedName("z") + @Export("component") + Component component; + + Canvas(Component var1) { + this.component = var1; + } + + public final void update(Graphics var1) { + this.component.update(var1); + } + + public final void paint(Graphics var1) { + this.component.paint(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)Lho;", + garbageValue = "313560965" + ) + @Export("getWidget") + public static Widget getWidget(int var0) { + int var1 = var0 >> 16; + int var2 = var0 & 65535; + if (UserComparator5.Widget_interfaceComponents[var1] == null || UserComparator5.Widget_interfaceComponents[var1][var2] == null) { + boolean var3 = WorldMapData_0.loadInterface(var1); + if (!var3) { + return null; + } + } + + return UserComparator5.Widget_interfaceComponents[var1][var2]; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lhp;III)[Llf;", + garbageValue = "-2024454786" + ) + @Export("SpriteBuffer_getSpriteArray") + public static Sprite[] SpriteBuffer_getSpriteArray(AbstractArchive var0, int var1, int var2) { + return !VertexNormal.method2958(var0, var1, var2) ? null : AbstractWorldMapIcon.method642(); + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "952621968" + ) + static int method889(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.GETWINDOWMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class247.getWindowedMode(); + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.SETWINDOWMODE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + UserComparator8.setWindowedMode(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = AbstractArchive.clientPreferences.windowMode; + return 1; + } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { + if (var0 == 5310) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else { + return 2; + } + } else { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + AbstractArchive.clientPreferences.windowMode = var3; + Language.savePreferences(); + } + + return 1; + } + } + } + + @ObfuscatedName("kn") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZI)V", + garbageValue = "328041460" + ) + @Export("findItemDefinitions") + static void findItemDefinitions(String var0, boolean var1) { + var0 = var0.toLowerCase(); + short[] var2 = new short[16]; + int var3 = 0; + + for (int var4 = 0; var4 < JagexCache.ItemDefinition_fileCount; ++var4) { + ItemDefinition var5 = Occluder.ItemDefinition_get(var4); + if ((!var1 || var5.isTradable) && var5.noteTemplate == -1 && var5.name.toLowerCase().indexOf(var0) != -1) { + if (var3 >= 250) { + DevicePcmPlayerProvider.foundItemIdCount = -1; + WorldMapIcon_0.foundItemIds = null; + return; + } + + if (var3 >= var2.length) { + short[] var6 = new short[var2.length * 2]; + + for (int var7 = 0; var7 < var3; ++var7) { + var6[var7] = var2[var7]; + } + + var2 = var6; + } + + var2[var3++] = (short)var4; + } + } + + WorldMapIcon_0.foundItemIds = var2; + ReflectionCheck.foundItemIndex = 0; + DevicePcmPlayerProvider.foundItemIdCount = var3; + String[] var8 = new String[DevicePcmPlayerProvider.foundItemIdCount]; + + for (int var9 = 0; var9 < DevicePcmPlayerProvider.foundItemIdCount; ++var9) { + var8[var9] = Occluder.ItemDefinition_get(var2[var9]).name; + } + + short[] var10 = WorldMapIcon_0.foundItemIds; + GrandExchangeOfferNameComparator.sortItemsByName(var8, var10, 0, var8.length - 1); + } +} diff --git a/runescape-client/src/main/java/ChatChannel.java b/runescape-client/src/main/java/ChatChannel.java index e1253fc05f..900b21bd75 100644 --- a/runescape-client/src/main/java/ChatChannel.java +++ b/runescape-client/src/main/java/ChatChannel.java @@ -1,213 +1,277 @@ -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("cs") -@Implements("ChatChannel") -public class ChatChannel { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Lbj;" - ) - @Export("messages") - Message[] messages; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 26719133 - ) - @Export("count") - int count; - - ChatChannel() { - this.messages = new Message[100]; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbj;", - garbageValue = "2" - ) - @Export("addMessage") - Message addMessage(int var1, String var2, String var3, String var4) { - Message var5 = this.messages[99]; - - for (int var6 = this.count; var6 > 0; --var6) { - if (var6 != 100) { - this.messages[var6] = this.messages[var6 - 1]; - } - } - - if (var5 == null) { - var5 = new Message(var1, var2, var4, var3); - } else { - var5.remove(); - var5.removeDual(); - var5.set(var1, var2, var4, var3); - } - - this.messages[0] = var5; - if (this.count < 100) { - ++this.count; - } - - return var5; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lbj;", - garbageValue = "-1600519730" - ) - @Export("getMessage") - Message getMessage(int var1) { - return var1 >= 0 && var1 < this.count ? this.messages[var1] : null; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(S)I", - garbageValue = "255" - ) - @Export("size") - int size() { - return this.count; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;Lhz;B)V", - garbageValue = "-105" - ) - public static void method2220(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { - HitSplatDefinition.HitSplatDefinition_archive = var0; - HitSplatDefinition.field3300 = var1; - class189.HitSplatDefinition_fontsArchive = var2; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)[B", - garbageValue = "1945232856" - ) - public static byte[] method2212(CharSequence var0) { - int var1 = var0.length(); - byte[] var2 = new byte[var1]; - - for (int var3 = 0; var3 < var1; ++var3) { - char var4 = var0.charAt(var3); - if (var4 > 0 && var4 < 128 || var4 >= 160 && var4 <= 255) { - var2[var3] = (byte)var4; - } else if (var4 == 8364) { - var2[var3] = -128; - } else if (var4 == 8218) { - var2[var3] = -126; - } else if (var4 == 402) { - var2[var3] = -125; - } else if (var4 == 8222) { - var2[var3] = -124; - } else if (var4 == 8230) { - var2[var3] = -123; - } else if (var4 == 8224) { - var2[var3] = -122; - } else if (var4 == 8225) { - var2[var3] = -121; - } else if (var4 == 710) { - var2[var3] = -120; - } else if (var4 == 8240) { - var2[var3] = -119; - } else if (var4 == 352) { - var2[var3] = -118; - } else if (var4 == 8249) { - var2[var3] = -117; - } else if (var4 == 338) { - var2[var3] = -116; - } else if (var4 == 381) { - var2[var3] = -114; - } else if (var4 == 8216) { - var2[var3] = -111; - } else if (var4 == 8217) { - var2[var3] = -110; - } else if (var4 == 8220) { - var2[var3] = -109; - } else if (var4 == 8221) { - var2[var3] = -108; - } else if (var4 == 8226) { - var2[var3] = -107; - } else if (var4 == 8211) { - var2[var3] = -106; - } else if (var4 == 8212) { - var2[var3] = -105; - } else if (var4 == 732) { - var2[var3] = -104; - } else if (var4 == 8482) { - var2[var3] = -103; - } else if (var4 == 353) { - var2[var3] = -102; - } else if (var4 == 8250) { - var2[var3] = -101; - } else if (var4 == 339) { - var2[var3] = -100; - } else if (var4 == 382) { - var2[var3] = -98; - } else if (var4 == 376) { - var2[var3] = -97; - } else { - var2[var3] = 63; - } - } - - return var2; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)Lli;", - garbageValue = "1800491151" - ) - static Sprite method2218() { - Sprite var0 = new Sprite(); - var0.width = class325.SpriteBuffer_spriteWidth; - var0.height = class325.SpriteBuffer_spriteHeight; - var0.xOffset = class325.SpriteBuffer_xOffsets[0]; - var0.yOffset = SecureRandomCallable.SpriteBuffer_yOffsets[0]; - var0.subWidth = class325.SpriteBuffer_spriteWidths[0]; - var0.subHeight = SoundSystem.SpriteBuffer_spriteHeights[0]; - int var1 = var0.subWidth * var0.subHeight; - byte[] var2 = InvDefinition.SpriteBuffer_pixels[0]; - var0.pixels = new int[var1]; - - for (int var3 = 0; var3 < var1; ++var3) { - var0.pixels[var3] = class325.SpriteBuffer_spritePalette[var2[var3] & 255]; - } - - class192.SpriteBuffer_clear(); - return var0; - } - - @ObfuscatedName("jx") - @ObfuscatedSignature( - signature = "(IIIILli;Lhi;I)V", - garbageValue = "219480869" - ) - @Export("drawSpriteOnMinimap") - static final void drawSpriteOnMinimap(int var0, int var1, int var2, int var3, Sprite var4, SpriteMask var5) { - if (var4 != null) { - int var6 = Client.camAngleY & 2047; - int var7 = var3 * var3 + var2 * var2; - if (var7 <= 6400) { - int var8 = Rasterizer3D.Rasterizer3D_sine[var6]; - int var9 = Rasterizer3D.Rasterizer3D_cosine[var6]; - int var10 = var9 * var2 + var3 * var8 >> 16; - int var11 = var3 * var9 - var8 * var2 >> 16; - if (var7 > 2500) { - var4.method6102(var10 + var5.width / 2 - var4.width / 2, var5.height / 2 - var11 - var4.height / 2, var0, var1, var5.width, var5.height, var5.xStarts, var5.xWidths); - } else { - var4.drawTransBgAt(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); - } - - } - } - } -} +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("cc") +@Implements("ChatChannel") +public class ChatChannel { + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "[Lbe;" + ) + @Export("messages") + Message[] messages; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -864101903 + ) + @Export("count") + int count; + + ChatChannel() { + this.messages = new Message[100]; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)Lbe;", + garbageValue = "56" + ) + @Export("addMessage") + Message addMessage(int var1, String var2, String var3, String var4) { + Message var5 = this.messages[99]; + + for (int var6 = this.count; var6 > 0; --var6) { + if (var6 != 100) { + this.messages[var6] = this.messages[var6 - 1]; + } + } + + if (var5 == null) { + var5 = new Message(var1, var2, var4, var3); + } else { + var5.remove(); + var5.removeDual(); + var5.set(var1, var2, var4, var3); + } + + this.messages[0] = var5; + if (this.count < 100) { + ++this.count; + } + + return var5; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)Lbe;", + garbageValue = "601749225" + ) + @Export("getMessage") + Message getMessage(int var1) { + return var1 >= 0 && var1 < this.count ? this.messages[var1] : null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-135495526" + ) + @Export("size") + int size() { + return this.count; + } + + @ObfuscatedName("ft") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "247037730" + ) + static final void method2233() { + int var0 = class225.field3045 * 16384 + 64; + int var1 = Clock.field2039 * 128 + 64; + int var2 = MusicPatchPcmStream.getTileHeight(var0, var1, WorldMapRectangle.plane) - GrandExchangeOfferOwnWorldComparator.field627; + if (GrandExchangeOfferOwnWorldComparator.cameraX < var0) { + GrandExchangeOfferOwnWorldComparator.cameraX = (var0 - GrandExchangeOfferOwnWorldComparator.cameraX) * Messages.field1262 / 1000 + GrandExchangeOfferOwnWorldComparator.cameraX + MouseRecorder.field572; + if (GrandExchangeOfferOwnWorldComparator.cameraX > var0) { + GrandExchangeOfferOwnWorldComparator.cameraX = var0; + } + } + + if (GrandExchangeOfferOwnWorldComparator.cameraX > var0) { + GrandExchangeOfferOwnWorldComparator.cameraX -= Messages.field1262 * (GrandExchangeOfferOwnWorldComparator.cameraX - var0) / 1000 + MouseRecorder.field572; + if (GrandExchangeOfferOwnWorldComparator.cameraX < var0) { + GrandExchangeOfferOwnWorldComparator.cameraX = var0; + } + } + + if (Varcs.cameraY < var2) { + Varcs.cameraY = (var2 - Varcs.cameraY) * Messages.field1262 / 1000 + Varcs.cameraY + MouseRecorder.field572; + if (Varcs.cameraY > var2) { + Varcs.cameraY = var2; + } + } + + if (Varcs.cameraY > var2) { + Varcs.cameraY -= Messages.field1262 * (Varcs.cameraY - var2) / 1000 + MouseRecorder.field572; + if (Varcs.cameraY < var2) { + Varcs.cameraY = var2; + } + } + + if (WorldMapIcon_1.cameraZ < var1) { + WorldMapIcon_1.cameraZ = (var1 - WorldMapIcon_1.cameraZ) * Messages.field1262 / 1000 + WorldMapIcon_1.cameraZ + MouseRecorder.field572; + if (WorldMapIcon_1.cameraZ > var1) { + WorldMapIcon_1.cameraZ = var1; + } + } + + if (WorldMapIcon_1.cameraZ > var1) { + WorldMapIcon_1.cameraZ -= Messages.field1262 * (WorldMapIcon_1.cameraZ - var1) / 1000 + MouseRecorder.field572; + if (WorldMapIcon_1.cameraZ < var1) { + WorldMapIcon_1.cameraZ = var1; + } + } + + var0 = GameShell.field455 * 128 + 64; + var1 = SecureRandomFuture.field1228 * 16384 + 64; + var2 = MusicPatchPcmStream.getTileHeight(var0, var1, WorldMapRectangle.plane) - class14.field90; + int var3 = var0 - GrandExchangeOfferOwnWorldComparator.cameraX; + int var4 = var2 - Varcs.cameraY; + int var5 = var1 - WorldMapIcon_1.cameraZ; + int var6 = (int)Math.sqrt((double)(var5 * var5 + var3 * var3)); + int var7 = (int)(Math.atan2((double)var4, (double)var6) * 325.949D) & 2047; + int var8 = (int)(Math.atan2((double)var3, (double)var5) * -325.949D) & 2047; + if (var7 < 128) { + var7 = 128; + } + + if (var7 > 383) { + var7 = 383; + } + + if (IgnoreList.cameraPitch < var7) { + IgnoreList.cameraPitch = (var7 - IgnoreList.cameraPitch) * ScriptEvent.field570 / 1000 + IgnoreList.cameraPitch + class80.field1126; + if (IgnoreList.cameraPitch > var7) { + IgnoreList.cameraPitch = var7; + } + } + + if (IgnoreList.cameraPitch > var7) { + IgnoreList.cameraPitch -= ScriptEvent.field570 * (IgnoreList.cameraPitch - var7) / 1000 + class80.field1126; + if (IgnoreList.cameraPitch < var7) { + IgnoreList.cameraPitch = var7; + } + } + + int var9 = var8 - WorldMapSection2.cameraYaw; + if (var9 > 1024) { + var9 -= 2048; + } + + if (var9 < -1024) { + var9 += 2048; + } + + if (var9 > 0) { + WorldMapSection2.cameraYaw = WorldMapSection2.cameraYaw + class80.field1126 + var9 * ScriptEvent.field570 / 1000; + WorldMapSection2.cameraYaw &= 2047; + } + + if (var9 < 0) { + WorldMapSection2.cameraYaw -= class80.field1126 + -var9 * ScriptEvent.field570 / 1000; + WorldMapSection2.cameraYaw &= 2047; + } + + int var10 = var8 - WorldMapSection2.cameraYaw; + if (var10 > 1024) { + var10 -= 2048; + } + + if (var10 < -1024) { + var10 += 2048; + } + + if (var10 < 0 && var9 > 0 || var10 > 0 && var9 < 0) { + WorldMapSection2.cameraYaw = var8; + } + + } + + @ObfuscatedName("jx") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "73" + ) + static void method2225(int var0) { + ParamDefinition.tempMenuAction = new MenuAction(); + ParamDefinition.tempMenuAction.argument1 = Client.menuArguments1[var0]; + ParamDefinition.tempMenuAction.argument2 = Client.menuArguments2[var0]; + ParamDefinition.tempMenuAction.opcode = Client.menuOpcodes[var0]; + ParamDefinition.tempMenuAction.argument0 = Client.menuIdentifiers[var0]; + ParamDefinition.tempMenuAction.action = Client.menuActions[var0]; + } + + @ObfuscatedName("ja") + @ObfuscatedSignature( + signature = "([Lho;II)V", + garbageValue = "559815398" + ) + @Export("drawModelComponents") + static final void drawModelComponents(Widget[] var0, int var1) { + for (int var2 = 0; var2 < var0.length; ++var2) { + Widget var3 = var0[var2]; + if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !WorldMapSectionType.isComponentHidden(var3))) { + int var5; + if (var3.type == 0) { + if (!var3.isIf3 && WorldMapSectionType.isComponentHidden(var3) && var3 != NetSocket.mousedOverWidgetIf1) { + continue; + } + + drawModelComponents(var0, var3.id); + if (var3.children != null) { + drawModelComponents(var3.children, var3.id); + } + + InterfaceParent var7 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); + if (var7 != null) { + var5 = var7.group; + if (WorldMapData_0.loadInterface(var5)) { + drawModelComponents(UserComparator5.Widget_interfaceComponents[var5], -1); + } + } + } + + if (var3.type == 6) { + if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { + boolean var4 = Projectile.runCs1(var3); + if (var4) { + var5 = var3.sequenceId2; + } else { + var5 = var3.sequenceId; + } + + if (var5 != -1) { + SequenceDefinition var6 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var5); + + for (var3.modelFrameCycle += Client.field698; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; WorldMapSectionType.invalidateWidget(var3)) { + var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; + ++var3.modelFrame; + if (var3.modelFrame >= var6.frameIds.length) { + var3.modelFrame -= var6.frameCount; + if (var3.modelFrame < 0 || var3.modelFrame >= var6.frameIds.length) { + var3.modelFrame = 0; + } + } + } + } + } + + if (var3.field2601 != 0 && !var3.isIf3) { + int var8 = var3.field2601 >> 16; + var5 = var3.field2601 << 16 >> 16; + var8 *= Client.field698; + var5 *= Client.field698; + var3.modelAngleX = var8 + var3.modelAngleX & 2047; + var3.modelAngleY = var5 + var3.modelAngleY & 2047; + WorldMapSectionType.invalidateWidget(var3); + } + } + } + } + + } +} diff --git a/runescape-client/src/main/java/ClanChat.java b/runescape-client/src/main/java/ClanChat.java index 79007b10b6..e7891ce51c 100644 --- a/runescape-client/src/main/java/ClanChat.java +++ b/runescape-client/src/main/java/ClanChat.java @@ -1,212 +1,229 @@ -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("jz") -@Implements("ClanChat") -public class ClanChat extends UserList { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lll;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Ljj;" - ) - @Export("localUser") - final Usernamed localUser; - @ObfuscatedName("z") - @Export("name") - public String name; - @ObfuscatedName("n") - @Export("owner") - public String owner; - @ObfuscatedName("h") - @Export("minKick") - public byte minKick; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 591472141 - ) - @Export("rank") - public int rank; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1862278063 - ) - int field3609; - - @ObfuscatedSignature( - signature = "(Lll;Ljj;)V" - ) - public ClanChat(LoginType var1, Usernamed var2) { - super(100); - this.name = null; - this.owner = null; - this.field3609 = 1; - this.loginType = var1; - this.localUser = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Ljw;", - garbageValue = "-734254876" - ) - @Export("newInstance") - User newInstance() { - return new ClanMate(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)[Ljw;", - garbageValue = "1353779565" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new ClanMate[var1]; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "682747367" - ) - @Export("readName") - final void readName(String var1) { - String var3 = StudioGame.base37DecodeLong(MouseHandler.method1041(var1)); - if (var3 == null) { - var3 = ""; - } - - this.name = var3; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "-7" - ) - @Export("setOwner") - final void setOwner(String var1) { - String var3 = StudioGame.base37DecodeLong(MouseHandler.method1041(var1)); - if (var3 == null) { - var3 = ""; - } - - this.owner = var3; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "110384625" - ) - @Export("readUpdate") - public final void readUpdate(Buffer var1) { - this.setOwner(var1.readStringCp1252NullTerminated()); - long var2 = var1.readLong(); - this.readName(GameObject.method3262(var2)); - this.minKick = var1.readByte(); - int var4 = var1.readUnsignedByte(); - if (var4 != 255) { - this.clear(); - - for (int var5 = 0; var5 < var4; ++var5) { - ClanMate var6 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); - int var7 = var1.readUnsignedShort(); - var6.set(var7, ++this.field3609 - 1); - var6.rank = var1.readByte(); - var1.readStringCp1252NullTerminated(); - this.isLocalPlayer(var6); - } - - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1536132448" - ) - public final void method5217(Buffer var1) { - Username var2 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); - int var3 = var1.readUnsignedShort(); - byte var4 = var1.readByte(); - boolean var5 = false; - if (var4 == -128) { - var5 = true; - } - - ClanMate var6; - if (var5) { - if (this.getSize() == 0) { - return; - } - - var6 = (ClanMate)this.getByCurrentUsername(var2); - if (var6 != null && var6.getWorld() == var3) { - this.remove(var6); - } - } else { - var1.readStringCp1252NullTerminated(); - var6 = (ClanMate)this.getByCurrentUsername(var2); - if (var6 == null) { - if (this.getSize() > super.capacity) { - return; - } - - var6 = (ClanMate)this.addLastNoPreviousUsername(var2); - } - - var6.set(var3, ++this.field3609 - 1); - var6.rank = var4; - this.isLocalPlayer(var6); - } - - } - - @ObfuscatedName("cl") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-116" - ) - @Export("clearFriends") - public final void clearFriends() { - for (int var1 = 0; var1 < this.getSize(); ++var1) { - ((ClanMate)this.get(var1)).clearIsFriend(); - } - - } - - @ObfuscatedName("ca") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1536312249" - ) - @Export("invalidateIgnoreds") - public final void invalidateIgnoreds() { - for (int var1 = 0; var1 < this.getSize(); ++var1) { - ((ClanMate)this.get(var1)).clearIsIgnored(); - } - - } - - @ObfuscatedName("ck") - @ObfuscatedSignature( - signature = "(Ljl;I)V", - garbageValue = "1986230893" - ) - @Export("isLocalPlayer") - final void isLocalPlayer(ClanMate var1) { - if (var1.getUsername().equals(this.localUser.username())) { - this.rank = var1.rank; - } - - } -} +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("jk") +@Implements("ClanChat") +public class ClanChat extends UserList { + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lli;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lju;" + ) + @Export("localUser") + final Usernamed localUser; + @ObfuscatedName("i") + @Export("name") + public String name; + @ObfuscatedName("c") + @Export("owner") + public String owner; + @ObfuscatedName("b") + @Export("minKick") + public byte minKick; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 198699637 + ) + @Export("rank") + public int rank; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -2033888675 + ) + int field3622; + + @ObfuscatedSignature( + signature = "(Lli;Lju;)V" + ) + public ClanChat(LoginType var1, Usernamed var2) { + super(100); + this.name = null; + this.owner = null; + this.field3622 = 1; + this.loginType = var1; + this.localUser = var2; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)Ljh;", + garbageValue = "2" + ) + @Export("newInstance") + User newInstance() { + return new ClanMate(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)[Ljh;", + garbageValue = "951526901" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new ClanMate[var1]; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "969628158" + ) + @Export("readName") + final void readName(String var1) { + this.name = VertexNormal.method2957(var1); + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1129044853" + ) + @Export("setOwner") + final void setOwner(String var1) { + this.owner = VertexNormal.method2957(var1); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Lkl;S)V", + garbageValue = "20227" + ) + @Export("readUpdate") + public final void readUpdate(Buffer var1) { + this.setOwner(var1.readStringCp1252NullTerminated()); + long var2 = var1.readLong(); + long var5 = var2; + String var4; + int var7; + if (var2 > 0L && var2 < 6582952005840035281L) { + if (var2 % 37L == 0L) { + var4 = null; + } else { + var7 = 0; + + for (long var13 = var2; 0L != var13; var13 /= 37L) { + ++var7; + } + + StringBuilder var15 = new StringBuilder(var7); + + while (0L != var5) { + long var11 = var5; + var5 /= 37L; + var15.append(class288.base37Table[(int)(var11 - 37L * var5)]); + } + + var4 = var15.reverse().toString(); + } + } else { + var4 = null; + } + + this.readName(var4); + this.minKick = var1.readByte(); + var7 = var1.readUnsignedByte(); + if (var7 != 255) { + this.clear(); + + for (int var8 = 0; var8 < var7; ++var8) { + ClanMate var9 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); + int var10 = var1.readUnsignedShort(); + var9.set(var10, ++this.field3622 - 1); + var9.rank = var1.readByte(); + var1.readStringCp1252NullTerminated(); + this.isLocalPlayer(var9); + } + + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-31" + ) + public final void method5151(Buffer var1) { + Username var2 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + int var3 = var1.readUnsignedShort(); + byte var4 = var1.readByte(); + boolean var5 = false; + if (var4 == -128) { + var5 = true; + } + + ClanMate var6; + if (var5) { + if (this.getSize() == 0) { + return; + } + + var6 = (ClanMate)this.getByCurrentUsername(var2); + if (var6 != null && var6.getWorld() == var3) { + this.remove(var6); + } + } else { + var1.readStringCp1252NullTerminated(); + var6 = (ClanMate)this.getByCurrentUsername(var2); + if (var6 == null) { + if (this.getSize() > super.capacity) { + return; + } + + var6 = (ClanMate)this.addLastNoPreviousUsername(var2); + } + + var6.set(var3, ++this.field3622 - 1); + var6.rank = var4; + this.isLocalPlayer(var6); + } + + } + + @ObfuscatedName("cr") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "85012014" + ) + @Export("clearFriends") + public final void clearFriends() { + for (int var1 = 0; var1 < this.getSize(); ++var1) { + ((ClanMate)this.get(var1)).clearIsFriend(); + } + + } + + @ObfuscatedName("ct") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "313560965" + ) + @Export("invalidateIgnoreds") + public final void invalidateIgnoreds() { + for (int var1 = 0; var1 < this.getSize(); ++var1) { + ((ClanMate)this.get(var1)).clearIsIgnored(); + } + + } + + @ObfuscatedName("ci") + @ObfuscatedSignature( + signature = "(Ljo;I)V", + garbageValue = "345857456" + ) + @Export("isLocalPlayer") + final void isLocalPlayer(ClanMate var1) { + if (var1.getUsername().equals(this.localUser.username())) { + this.rank = var1.rank; + } + + } +} diff --git a/runescape-client/src/main/java/ClanMate.java b/runescape-client/src/main/java/ClanMate.java index ac61058bdb..343b75a141 100644 --- a/runescape-client/src/main/java/ClanMate.java +++ b/runescape-client/src/main/java/ClanMate.java @@ -1,94 +1,109 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jl") -@Implements("ClanMate") -public class ClanMate extends Buddy { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("friend") - TriBool friend; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("ignored") - TriBool ignored; - - ClanMate() { - this.friend = TriBool.TriBool_unknown; - this.ignored = TriBool.TriBool_unknown; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "36" - ) - @Export("clearIsFriend") - void clearIsFriend() { - this.friend = TriBool.TriBool_unknown; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "23475902" - ) - @Export("isFriend") - public final boolean isFriend() { - if (this.friend == TriBool.TriBool_unknown) { - this.fillIsFriend(); - } - - return this.friend == TriBool.TriBool_true; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1435568825" - ) - @Export("fillIsFriend") - void fillIsFriend() { - this.friend = class218.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1913743784" - ) - @Export("clearIsIgnored") - void clearIsIgnored() { - this.ignored = TriBool.TriBool_unknown; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "2009413985" - ) - @Export("isIgnored") - public final boolean isIgnored() { - if (this.ignored == TriBool.TriBool_unknown) { - this.fillIsIgnored(); - } - - return this.ignored == TriBool.TriBool_true; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "83457319" - ) - @Export("fillIsIgnored") - void fillIsIgnored() { - this.ignored = class218.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jo") +@Implements("ClanMate") +public class ClanMate extends Buddy { + @ObfuscatedName("dj") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive11") + static Archive archive11; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("friend") + TriBool friend; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("ignored") + TriBool ignored; + + ClanMate() { + this.friend = TriBool.TriBool_unknown; + this.ignored = TriBool.TriBool_unknown; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-407939513" + ) + @Export("clearIsFriend") + void clearIsFriend() { + this.friend = TriBool.TriBool_unknown; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1388018244" + ) + @Export("isFriend") + public final boolean isFriend() { + if (this.friend == TriBool.TriBool_unknown) { + this.fillIsFriend(); + } + + return this.friend == TriBool.TriBool_true; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2101732622" + ) + @Export("fillIsFriend") + void fillIsFriend() { + this.friend = Tiles.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "349082109" + ) + @Export("clearIsIgnored") + void clearIsIgnored() { + this.ignored = TriBool.TriBool_unknown; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1700541155" + ) + @Export("isIgnored") + public final boolean isIgnored() { + if (this.ignored == TriBool.TriBool_unknown) { + this.fillIsIgnored(); + } + + return this.ignored == TriBool.TriBool_true; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-735499948" + ) + @Export("fillIsIgnored") + void fillIsIgnored() { + this.ignored = Tiles.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;III)Lkn;", + garbageValue = "-569680121" + ) + public static Font method4964(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { + return !VertexNormal.method2958(var0, var2, var3) ? null : class49.method893(var1.takeFile(var2, var3)); + } +} diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 5edc3e303e..752c38f288 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -1,6204 +1,5551 @@ -import java.io.IOException; -import java.net.Socket; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.LinkedHashMap; -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 netscape.javascript.JSObject; - -@Implements("Client") -@ObfuscatedName("client") -public final class Client extends GameShell implements Usernamed { - @ObfuscatedName("mk") - @ObfuscatedGetter( - intValue = 1799877643 - ) - @Export("staffModLevel") - static int staffModLevel; - @ObfuscatedName("mn") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("clickedWidget") - static Widget clickedWidget; - @ObfuscatedName("of") - @ObfuscatedGetter( - intValue = 2143275649 - ) - static int field826; - @ObfuscatedName("oh") - @ObfuscatedGetter( - intValue = -1410459607 - ) - @Export("rootWidgetCount") - static int rootWidgetCount; - @ObfuscatedName("oo") - @ObfuscatedGetter( - longValue = -3812106139059310753L - ) - static long field835; - @ObfuscatedName("so") - @ObfuscatedGetter( - intValue = -777339019 - ) - public static int field892; - @ObfuscatedName("og") - static boolean[] field827; - @ObfuscatedName("oj") - static boolean[] field647; - @ObfuscatedName("ov") - static boolean[] field828; - @ObfuscatedName("nt") - static boolean field803; - @ObfuscatedName("ox") - @Export("isResizable") - static boolean isResizable; - @ObfuscatedName("nj") - @ObfuscatedGetter( - intValue = 2118102189 - ) - @Export("cycleCntr") - static int cycleCntr; - @ObfuscatedName("nc") - @ObfuscatedGetter( - intValue = 514283597 - ) - static int field815; - @ObfuscatedName("na") - static boolean field800; - @ObfuscatedName("qn") - static boolean field746; - @ObfuscatedName("mj") - @ObfuscatedGetter( - intValue = -1352520531 - ) - @Export("widgetClickX") - static int widgetClickX; - @ObfuscatedName("mm") - @ObfuscatedGetter( - intValue = 1096027871 - ) - @Export("widgetClickY") - static int widgetClickY; - @ObfuscatedName("ny") - @ObfuscatedGetter( - intValue = 1655580139 - ) - static int field801; - @ObfuscatedName("ob") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("widgetClickMasks") - static NodeHashTable widgetClickMasks; - @ObfuscatedName("mo") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("clickedWidgetParent") - static Widget clickedWidgetParent; - @ObfuscatedName("ot") - @Export("rootWidgetXs") - static int[] rootWidgetXs; - @ObfuscatedName("ms") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("interfaceParents") - static NodeHashTable interfaceParents; - @ObfuscatedName("ow") - @Export("rootWidgetWidths") - static int[] rootWidgetWidths; - @ObfuscatedName("nu") - @ObfuscatedGetter( - intValue = 738583497 - ) - static int field706; - @ObfuscatedName("mi") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("viewportWidget") - static Widget viewportWidget; - @ObfuscatedName("oi") - @ObfuscatedGetter( - intValue = 589790743 - ) - @Export("gameDrawingMode") - static int gameDrawingMode; - @ObfuscatedName("ou") - @Export("rootWidgetYs") - static int[] rootWidgetYs; - @ObfuscatedName("oq") - @Export("rootWidgetHeights") - static int[] rootWidgetHeights; - @ObfuscatedName("th") - @ObfuscatedSignature( - signature = "Lbd;" - ) - static final class65 field896; - @ObfuscatedName("pi") - @ObfuscatedGetter( - intValue = 1219958761 - ) - @Export("destinationX") - static int destinationX; - @ObfuscatedName("oc") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("scriptEvents") - static NodeDeque scriptEvents; - @ObfuscatedName("pm") - @ObfuscatedGetter( - intValue = 134057745 - ) - @Export("destinationY") - static int destinationY; - @ObfuscatedName("nh") - @ObfuscatedGetter( - intValue = -1671536207 - ) - static int field804; - @ObfuscatedName("ns") - @ObfuscatedGetter( - intValue = -2015110765 - ) - static int field699; - @ObfuscatedName("np") - @ObfuscatedGetter( - intValue = -144627573 - ) - static int field670; - @ObfuscatedName("tc") - static int[] field897; - @ObfuscatedName("tu") - static int[] field622; - @ObfuscatedName("sd") - @ObfuscatedSignature( - signature = "[Lz;" - ) - @Export("grandExchangeOffers") - static GrandExchangeOffer[] grandExchangeOffers; - @ObfuscatedName("nl") - @Export("isDraggingWidget") - static boolean isDraggingWidget; - @ObfuscatedName("oy") - @ObfuscatedGetter( - intValue = 751171339 - ) - @Export("mouseWheelRotation") - static int mouseWheelRotation; - @ObfuscatedName("mh") - @ObfuscatedGetter( - intValue = 577539247 - ) - @Export("runEnergy") - static int runEnergy; - @ObfuscatedName("nr") - @ObfuscatedGetter( - intValue = -482003575 - ) - static int field866; - @ObfuscatedName("mx") - @ObfuscatedGetter( - intValue = 1475119709 - ) - @Export("weight") - static int weight; - @ObfuscatedName("rt") - static boolean[] field749; - @ObfuscatedName("qr") - @ObfuscatedGetter( - intValue = 1115728247 - ) - static int field860; - @ObfuscatedName("ry") - static int[] field779; - @ObfuscatedName("ri") - static int[] field887; - @ObfuscatedName("se") - @ObfuscatedGetter( - intValue = -129549365 - ) - static int field703; - @ObfuscatedName("rw") - static int[] field871; - @ObfuscatedName("rf") - @ObfuscatedSignature( - signature = "Lhl;" - ) - @Export("playerAppearance") - static PlayerAppearance playerAppearance; - @ObfuscatedName("ro") - static int[] field799; - @ObfuscatedName("sq") - @Export("archiveLoaders") - static ArrayList archiveLoaders; - @ObfuscatedName("si") - @ObfuscatedGetter( - intValue = 1522732833 - ) - static int field888; - @ObfuscatedName("mp") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("draggedOnWidget") - static Widget draggedOnWidget; - @ObfuscatedName("sw") - @ObfuscatedGetter( - intValue = -503876483 - ) - @Export("archiveLoaderArchive") - static int archiveLoaderArchive; - @ObfuscatedName("mq") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("meslayerContinueWidget") - static Widget meslayerContinueWidget; - @ObfuscatedName("qy") - @ObfuscatedGetter( - intValue = 448315021 - ) - @Export("soundEffectVolume") - static int soundEffectVolume; - @ObfuscatedName("pt") - @ObfuscatedGetter( - intValue = 1563403409 - ) - @Export("publicChatMode") - static int publicChatMode; - @ObfuscatedName("qs") - @ObfuscatedGetter( - intValue = -1332887045 - ) - @Export("soundEffectCount") - static int soundEffectCount; - @ObfuscatedName("qx") - @Export("soundEffectIds") - static int[] soundEffectIds; - @ObfuscatedName("pj") - @ObfuscatedGetter( - intValue = 1654974071 - ) - @Export("tradeChatMode") - static int tradeChatMode; - @ObfuscatedName("qo") - @Export("queuedSoundEffectLoops") - static int[] queuedSoundEffectLoops; - @ObfuscatedName("qm") - @ObfuscatedGetter( - intValue = -617256985 - ) - @Export("minimapState") - static int minimapState; - @ObfuscatedName("qk") - @Export("queuedSoundEffectDelays") - static int[] queuedSoundEffectDelays; - @ObfuscatedName("qw") - @ObfuscatedSignature( - signature = "[Lcp;" - ) - @Export("soundEffects") - static SoundEffect[] soundEffects; - @ObfuscatedName("qi") - @Export("soundLocations") - static int[] soundLocations; - @ObfuscatedName("pp") - @ObfuscatedGetter( - intValue = 1213166395 - ) - static int field848; - @ObfuscatedName("sj") - @ObfuscatedSignature( - signature = "Llb;" - ) - @Export("platformInfoProvider") - static PlatformInfoProvider platformInfoProvider; - @ObfuscatedName("pb") - @ObfuscatedGetter( - longValue = 4732015069802034625L - ) - static long field750; - @ObfuscatedName("qj") - @ObfuscatedGetter( - intValue = -310868887 - ) - static int field857; - @ObfuscatedName("qe") - @ObfuscatedGetter( - intValue = -105655659 - ) - static int field638; - @ObfuscatedName("nm") - static int[] field808; - @ObfuscatedName("nw") - @ObfuscatedGetter( - intValue = 1990399739 - ) - static int field809; - @ObfuscatedName("ps") - @ObfuscatedGetter( - intValue = -284240639 - ) - @Export("mapIconCount") - static int mapIconCount; - @ObfuscatedName("rj") - static short field873; - @ObfuscatedName("rz") - static short field752; - @ObfuscatedName("rh") - static short field879; - @ObfuscatedName("qt") - @Export("isCameraLocked") - static boolean isCameraLocked; - @ObfuscatedName("pc") - @Export("mapIconXs") - static int[] mapIconXs; - @ObfuscatedName("rg") - static short field717; - @ObfuscatedName("rd") - static short field878; - @ObfuscatedName("rx") - @ObfuscatedGetter( - intValue = 800808315 - ) - @Export("viewportZoom") - static int viewportZoom; - @ObfuscatedName("rs") - static short field877; - @ObfuscatedName("ru") - @ObfuscatedGetter( - intValue = 2115221335 - ) - @Export("viewportWidth") - static int viewportWidth; - @ObfuscatedName("pu") - @Export("mapIconYs") - static int[] mapIconYs; - @ObfuscatedName("rq") - @ObfuscatedGetter( - intValue = -1883093259 - ) - @Export("viewportHeight") - static int viewportHeight; - @ObfuscatedName("ph") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("mapIcons") - static Sprite[] mapIcons; - @ObfuscatedName("nz") - @ObfuscatedGetter( - intValue = -43756245 - ) - static int field816; - @ObfuscatedName("rv") - @Export("zoomWidth") - static short zoomWidth; - @ObfuscatedName("rk") - @Export("zoomHeight") - static short zoomHeight; - @ObfuscatedName("pk") - @ObfuscatedGetter( - intValue = -145873327 - ) - static int field844; - @ObfuscatedName("rp") - @ObfuscatedGetter( - intValue = -2105667825 - ) - @Export("viewportOffsetX") - static int viewportOffsetX; - @ObfuscatedName("rb") - @ObfuscatedGetter( - intValue = -1006224971 - ) - @Export("viewportOffsetY") - static int viewportOffsetY; - @ObfuscatedName("sr") - @ObfuscatedGetter( - intValue = -508225451 - ) - static int field895; - @ObfuscatedName("mz") - @ObfuscatedGetter( - intValue = -929837777 - ) - @Export("chatEffects") - static int chatEffects; - @ObfuscatedName("pf") - static int[] field846; - @ObfuscatedName("nf") - @Export("changedSkills") - static int[] changedSkills; - @ObfuscatedName("md") - @ObfuscatedGetter( - intValue = -599630459 - ) - static int field787; - @ObfuscatedName("nn") - @ObfuscatedGetter( - intValue = 1578967305 - ) - @Export("changedSkillsCount") - static int changedSkillsCount; - @ObfuscatedName("pl") - static int[] field845; - @ObfuscatedName("om") - @ObfuscatedSignature( - signature = "Ljv;" - ) - static NodeDeque field822; - @ObfuscatedName("oa") - @ObfuscatedSignature( - signature = "Ljv;" - ) - static NodeDeque field823; - @ObfuscatedName("mc") - @ObfuscatedGetter( - intValue = -1532518557 - ) - @Export("followerIndex") - static int followerIndex; - @ObfuscatedName("me") - @Export("playerMod") - static boolean playerMod; - @ObfuscatedName("pw") - static long[] field842; - @ObfuscatedName("mf") - @ObfuscatedGetter( - intValue = 291908247 - ) - static int field784; - @ObfuscatedName("mu") - @ObfuscatedGetter( - intValue = 1692346051 - ) - static int field785; - @ObfuscatedName("nq") - static int[] field810; - @ObfuscatedName("nx") - @ObfuscatedGetter( - intValue = -417024903 - ) - static int field811; - @ObfuscatedName("py") - @ObfuscatedGetter( - intValue = -357817807 - ) - static int field843; - @ObfuscatedName("nb") - @ObfuscatedGetter( - intValue = 1490528893 - ) - static int field818; - @ObfuscatedName("nv") - @ObfuscatedGetter( - intValue = -969012153 - ) - @Export("chatCycle") - static int chatCycle; - @ObfuscatedName("pr") - static int[] field838; - @ObfuscatedName("pv") - static String field778; - @ObfuscatedName("su") - @ObfuscatedSignature( - signature = "Lbh;" - ) - @Export("GrandExchangeEvents_worldComparator") - static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "[Lfj;" - ) - @Export("collisionMaps") - static CollisionMap[] collisionMaps; - @ObfuscatedName("au") - static boolean field859; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = -1601715751 - ) - @Export("worldId") - public static int worldId; - @ObfuscatedName("bn") - @ObfuscatedGetter( - intValue = -336941817 - ) - @Export("worldProperties") - static int worldProperties; - @ObfuscatedName("bp") - @ObfuscatedGetter( - intValue = -21053855 - ) - @Export("gameBuild") - static int gameBuild; - @ObfuscatedName("bv") - @Export("isMembersWorld") - public static boolean isMembersWorld; - @ObfuscatedName("bf") - @Export("isLowDetail") - static boolean isLowDetail; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = -619085493 - ) - @Export("clientType") - static int clientType; - @ObfuscatedName("bd") - @Export("onMobile") - static boolean onMobile; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = 979578981 - ) - @Export("gameState") - static int gameState; - @ObfuscatedName("cl") - @Export("isLoading") - static boolean isLoading; - @ObfuscatedName("ca") - @ObfuscatedGetter( - intValue = -421753635 - ) - @Export("cycle") - static int cycle; - @ObfuscatedName("ck") - @ObfuscatedGetter( - longValue = -2177862012232032419L - ) - @Export("mouseLastLastPressedTimeMillis") - static long mouseLastLastPressedTimeMillis; - @ObfuscatedName("ce") - @ObfuscatedGetter( - intValue = -885585199 - ) - static int field635; - @ObfuscatedName("cn") - @ObfuscatedGetter( - intValue = -777137731 - ) - static int field667; - @ObfuscatedName("cj") - @ObfuscatedGetter( - longValue = 7724193620298551405L - ) - static long field637; - @ObfuscatedName("cw") - @Export("hadFocus") - static boolean hadFocus; - @ObfuscatedName("cu") - @Export("displayFps") - static boolean displayFps; - @ObfuscatedName("cd") - @ObfuscatedGetter( - intValue = 1698015517 - ) - @Export("rebootTimer") - static int rebootTimer; - @ObfuscatedName("cs") - @ObfuscatedGetter( - intValue = -1598349441 - ) - @Export("hintArrowType") - static int hintArrowType; - @ObfuscatedName("cx") - @ObfuscatedGetter( - intValue = -472115629 - ) - @Export("hintArrowNpcIndex") - static int hintArrowNpcIndex; - @ObfuscatedName("ci") - @ObfuscatedGetter( - intValue = -1186478901 - ) - @Export("hintArrowPlayerIndex") - static int hintArrowPlayerIndex; - @ObfuscatedName("cf") - @ObfuscatedGetter( - intValue = -2024539797 - ) - @Export("hintArrowX") - static int hintArrowX; - @ObfuscatedName("cq") - @ObfuscatedGetter( - intValue = -441319329 - ) - @Export("hintArrowY") - static int hintArrowY; - @ObfuscatedName("co") - @ObfuscatedGetter( - intValue = 2122782524 - ) - @Export("hintArrowHeight") - static int hintArrowHeight; - @ObfuscatedName("cz") - @ObfuscatedGetter( - intValue = -762662848 - ) - @Export("hintArrowSubX") - static int hintArrowSubX; - @ObfuscatedName("cp") - @ObfuscatedGetter( - intValue = 2006872512 - ) - @Export("hintArrowSubY") - static int hintArrowSubY; - @ObfuscatedName("cg") - @ObfuscatedSignature( - signature = "Lcl;" - ) - @Export("playerAttackOption") - static AttackOption playerAttackOption; - @ObfuscatedName("dj") - @ObfuscatedSignature( - signature = "Lcl;" - ) - @Export("npcAttackOption") - static AttackOption npcAttackOption; - @ObfuscatedName("do") - @ObfuscatedGetter( - intValue = -1724817993 - ) - @Export("titleLoadingStage") - static int titleLoadingStage; - @ObfuscatedName("dd") - @ObfuscatedGetter( - intValue = -1719889523 - ) - @Export("js5ConnectState") - static int js5ConnectState; - @ObfuscatedName("dp") - @ObfuscatedGetter( - intValue = 1027381769 - ) - static int field653; - @ObfuscatedName("en") - @ObfuscatedGetter( - intValue = -196326053 - ) - @Export("js5Errors") - static int js5Errors; - @ObfuscatedName("eo") - @ObfuscatedGetter( - intValue = 626628081 - ) - @Export("loginState") - static int loginState; - @ObfuscatedName("el") - @ObfuscatedGetter( - intValue = 6099821 - ) - static int field656; - @ObfuscatedName("ea") - @ObfuscatedGetter( - intValue = 2105698063 - ) - static int field841; - @ObfuscatedName("em") - @ObfuscatedGetter( - intValue = -1207133761 - ) - static int field821; - @ObfuscatedName("ev") - @ObfuscatedSignature( - signature = "Lfr;" - ) - static class160 field659; - @ObfuscatedName("eb") - @Export("Login_isUsernameRemembered") - static boolean Login_isUsernameRemembered; - @ObfuscatedName("ei") - @ObfuscatedSignature( - signature = "Lce;" - ) - @Export("secureRandomFuture") - static SecureRandomFuture secureRandomFuture; - @ObfuscatedName("ee") - @Export("randomDatData") - static byte[] randomDatData; - @ObfuscatedName("ew") - @ObfuscatedSignature( - signature = "[Lct;" - ) - @Export("npcs") - static NPC[] npcs; - @ObfuscatedName("ex") - @ObfuscatedGetter( - intValue = 2015808657 - ) - @Export("npcCount") - static int npcCount; - @ObfuscatedName("ft") - @Export("npcIndices") - static int[] npcIndices; - @ObfuscatedName("ff") - @ObfuscatedGetter( - intValue = -2130035923 - ) - static int field666; - @ObfuscatedName("fh") - static int[] field881; - @ObfuscatedName("fd") - @ObfuscatedSignature( - signature = "Lcx;" - ) - @Export("packetWriter") - public static final PacketWriter packetWriter; - @ObfuscatedName("fz") - @ObfuscatedGetter( - intValue = 857108449 - ) - @Export("logoutTimer") - static int logoutTimer; - @ObfuscatedName("fs") - static boolean field772; - @ObfuscatedName("fc") - @Export("useBufferedSocket") - static boolean useBufferedSocket; - @ObfuscatedName("fq") - @ObfuscatedSignature( - signature = "Ljg;" - ) - @Export("timer") - static Timer timer; - @ObfuscatedName("fj") - @Export("fontsMap") - static HashMap fontsMap; - @ObfuscatedName("fb") - @ObfuscatedGetter( - intValue = -435264727 - ) - static int field674; - @ObfuscatedName("fn") - @ObfuscatedGetter( - intValue = -999239425 - ) - static int field851; - @ObfuscatedName("fo") - @ObfuscatedGetter( - intValue = 966695411 - ) - static int field676; - @ObfuscatedName("ga") - @ObfuscatedGetter( - intValue = -315742403 - ) - static int field872; - @ObfuscatedName("gw") - @ObfuscatedGetter( - intValue = 917555973 - ) - static int field678; - @ObfuscatedName("gr") - @Export("regionMapArchives") - static byte[][] regionMapArchives; - @ObfuscatedName("ge") - @Export("isInInstance") - static boolean isInInstance; - @ObfuscatedName("gh") - @Export("instanceChunkTemplates") - static int[][][] instanceChunkTemplates; - @ObfuscatedName("gq") - static final int[] field682; - @ObfuscatedName("gg") - @ObfuscatedGetter( - intValue = -827918895 - ) - static int field683; - @ObfuscatedName("hh") - @ObfuscatedGetter( - intValue = 2087511617 - ) - static int field684; - @ObfuscatedName("hq") - @ObfuscatedGetter( - intValue = 1637234425 - ) - static int field745; - @ObfuscatedName("hd") - @ObfuscatedGetter( - intValue = -1929516521 - ) - static int field686; - @ObfuscatedName("hi") - @ObfuscatedGetter( - intValue = 669795741 - ) - static int field817; - @ObfuscatedName("hc") - static boolean field712; - @ObfuscatedName("hj") - @ObfuscatedGetter( - intValue = -267408535 - ) - @Export("alternativeScrollbarWidth") - static int alternativeScrollbarWidth; - @ObfuscatedName("hu") - @ObfuscatedGetter( - intValue = -950947723 - ) - @Export("camAngleX") - static int camAngleX; - @ObfuscatedName("hk") - @ObfuscatedGetter( - intValue = -1326038309 - ) - @Export("camAngleY") - static int camAngleY; - @ObfuscatedName("hr") - @ObfuscatedGetter( - intValue = -872269345 - ) - @Export("camAngleDY") - static int camAngleDY; - @ObfuscatedName("he") - @ObfuscatedGetter( - intValue = -164832567 - ) - @Export("camAngleDX") - static int camAngleDX; - @ObfuscatedName("hb") - @ObfuscatedGetter( - intValue = 2064310305 - ) - @Export("mouseCamClickedX") - static int mouseCamClickedX; - @ObfuscatedName("hv") - @ObfuscatedGetter( - intValue = -2006290321 - ) - @Export("mouseCamClickedY") - static int mouseCamClickedY; - @ObfuscatedName("hn") - @ObfuscatedGetter( - intValue = 1652098085 - ) - @Export("oculusOrbState") - static int oculusOrbState; - @ObfuscatedName("hx") - @Export("camFollowHeight") - static int camFollowHeight; - @ObfuscatedName("hg") - @ObfuscatedGetter( - intValue = 2081108025 - ) - static int field698; - @ObfuscatedName("hz") - @ObfuscatedGetter( - intValue = 1839311001 - ) - static int field802; - @ObfuscatedName("ib") - @ObfuscatedGetter( - intValue = 273401701 - ) - static int field700; - @ObfuscatedName("in") - @ObfuscatedGetter( - intValue = 102668235 - ) - @Export("oculusOrbNormalSpeed") - static int oculusOrbNormalSpeed; - @ObfuscatedName("ir") - @ObfuscatedGetter( - intValue = -647084875 - ) - @Export("oculusOrbSlowedSpeed") - static int oculusOrbSlowedSpeed; - @ObfuscatedName("ii") - @ObfuscatedGetter( - intValue = 765307009 - ) - public static int field688; - @ObfuscatedName("ik") - static boolean field824; - @ObfuscatedName("is") - @ObfuscatedGetter( - intValue = -480860359 - ) - static int field883; - @ObfuscatedName("iu") - static boolean field858; - @ObfuscatedName("ih") - @ObfuscatedGetter( - intValue = 483214157 - ) - static int field707; - @ObfuscatedName("im") - @ObfuscatedGetter( - intValue = -907822963 - ) - @Export("overheadTextCount") - static int overheadTextCount; - @ObfuscatedName("il") - @ObfuscatedGetter( - intValue = -955046711 - ) - @Export("overheadTextLimit") - static int overheadTextLimit; - @ObfuscatedName("iq") - @Export("overheadTextXs") - static int[] overheadTextXs; - @ObfuscatedName("if") - @Export("overheadTextYs") - static int[] overheadTextYs; - @ObfuscatedName("it") - @Export("selectedItemName") - static String selectedItemName; - @ObfuscatedName("ij") - @Export("overheadTextAscents") - static int[] overheadTextAscents; - @ObfuscatedName("iv") - @Export("overheadTextXOffsets") - static int[] overheadTextXOffsets; - @ObfuscatedName("ic") - @Export("overheadTextColors") - static int[] overheadTextColors; - @ObfuscatedName("iy") - @Export("overheadTextEffects") - static int[] overheadTextEffects; - @ObfuscatedName("id") - @Export("overheadTextCyclesRemaining") - static int[] overheadTextCyclesRemaining; - @ObfuscatedName("ie") - @Export("overheadText") - static String[] overheadText; - @ObfuscatedName("ia") - @Export("tileLastDrawnActor") - static int[][] tileLastDrawnActor; - @ObfuscatedName("ip") - @ObfuscatedGetter( - intValue = -455282343 - ) - @Export("viewportDrawCount") - static int viewportDrawCount; - @ObfuscatedName("iw") - @ObfuscatedGetter( - intValue = -1484250283 - ) - @Export("viewportTempX") - static int viewportTempX; - @ObfuscatedName("ig") - @ObfuscatedGetter( - intValue = 1892863881 - ) - @Export("viewportTempY") - static int viewportTempY; - @ObfuscatedName("jd") - @ObfuscatedGetter( - intValue = -710610133 - ) - @Export("mouseCrossX") - static int mouseCrossX; - @ObfuscatedName("jv") - @ObfuscatedGetter( - intValue = -784793429 - ) - @Export("mouseCrossY") - static int mouseCrossY; - @ObfuscatedName("jo") - @ObfuscatedGetter( - intValue = 1934089213 - ) - @Export("mouseCrossState") - static int mouseCrossState; - @ObfuscatedName("jf") - @ObfuscatedGetter( - intValue = -1311379791 - ) - @Export("mouseCrossColor") - static int mouseCrossColor; - @ObfuscatedName("jh") - @Export("showMouseCross") - static boolean showMouseCross; - @ObfuscatedName("jk") - @ObfuscatedGetter( - intValue = -366431001 - ) - static int field727; - @ObfuscatedName("js") - @ObfuscatedGetter( - intValue = -1998265721 - ) - static int field728; - @ObfuscatedName("jc") - @ObfuscatedGetter( - intValue = 982214939 - ) - @Export("dragItemSlotSource") - static int dragItemSlotSource; - @ObfuscatedName("jg") - @ObfuscatedGetter( - intValue = 510687779 - ) - static int field730; - @ObfuscatedName("jl") - @ObfuscatedGetter( - intValue = 1673443473 - ) - static int field870; - @ObfuscatedName("jw") - @ObfuscatedGetter( - intValue = 1696900929 - ) - @Export("dragItemSlotDestination") - static int dragItemSlotDestination; - @ObfuscatedName("jq") - static boolean field733; - @ObfuscatedName("ji") - @ObfuscatedGetter( - intValue = -1288025075 - ) - @Export("itemDragDuration") - static int itemDragDuration; - @ObfuscatedName("jm") - @ObfuscatedGetter( - intValue = 1089693987 - ) - static int field735; - @ObfuscatedName("je") - @Export("showLoadingMessages") - static boolean showLoadingMessages; - @ObfuscatedName("jb") - @ObfuscatedSignature( - signature = "[Lby;" - ) - @Export("players") - static Player[] players; - @ObfuscatedName("jt") - @ObfuscatedGetter( - intValue = 946713101 - ) - @Export("localPlayerIndex") - static int localPlayerIndex; - @ObfuscatedName("jy") - @ObfuscatedGetter( - intValue = -2053869901 - ) - static int field739; - @ObfuscatedName("jp") - @Export("renderSelf") - static boolean renderSelf; - @ObfuscatedName("kb") - @ObfuscatedGetter( - intValue = 1018003901 - ) - @Export("drawPlayerNames") - static int drawPlayerNames; - @ObfuscatedName("kn") - @ObfuscatedGetter( - intValue = -1864645893 - ) - static int field742; - @ObfuscatedName("ku") - static int[] field731; - @ObfuscatedName("kf") - @Export("playerMenuOpcodes") - static final int[] playerMenuOpcodes; - @ObfuscatedName("ko") - @Export("playerMenuActions") - static String[] playerMenuActions; - @ObfuscatedName("km") - @Export("playerOptionsPriorities") - static boolean[] playerOptionsPriorities; - @ObfuscatedName("kv") - @Export("defaultRotations") - static int[] defaultRotations; - @ObfuscatedName("kt") - @ObfuscatedGetter( - intValue = 14237999 - ) - @Export("combatTargetPlayerIndex") - static int combatTargetPlayerIndex; - @ObfuscatedName("kz") - @ObfuscatedSignature( - signature = "[[[Ljv;" - ) - @Export("groundItems") - static NodeDeque[][][] groundItems; - @ObfuscatedName("kp") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("pendingSpawns") - static NodeDeque pendingSpawns; - @ObfuscatedName("ky") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("projectiles") - static NodeDeque projectiles; - @ObfuscatedName("ki") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("graphicsObjects") - static NodeDeque graphicsObjects; - @ObfuscatedName("kw") - @Export("currentLevels") - static int[] currentLevels; - @ObfuscatedName("ks") - @Export("levels") - static int[] levels; - @ObfuscatedName("ka") - @Export("experience") - static int[] experience; - @ObfuscatedName("kq") - @ObfuscatedGetter( - intValue = -1919852667 - ) - @Export("leftClickOpensMenu") - static int leftClickOpensMenu; - @ObfuscatedName("kx") - @Export("isMenuOpen") - static boolean isMenuOpen; - @ObfuscatedName("lx") - @ObfuscatedGetter( - intValue = -1574159447 - ) - @Export("menuOptionsCount") - static int menuOptionsCount; - @ObfuscatedName("le") - @Export("menuArguments1") - static int[] menuArguments1; - @ObfuscatedName("lj") - @Export("menuArguments2") - static int[] menuArguments2; - @ObfuscatedName("ls") - @Export("menuOpcodes") - static int[] menuOpcodes; - @ObfuscatedName("lm") - @Export("menuIdentifiers") - static int[] menuIdentifiers; - @ObfuscatedName("lr") - @Export("menuActions") - static String[] menuActions; - @ObfuscatedName("lp") - @Export("menuTargets") - static String[] menuTargets; - @ObfuscatedName("lw") - @Export("menuShiftClick") - static boolean[] menuShiftClick; - @ObfuscatedName("lf") - @Export("followerOpsLowPriority") - static boolean followerOpsLowPriority; - @ObfuscatedName("lt") - @Export("shiftClickDrop") - static boolean shiftClickDrop; - @ObfuscatedName("li") - @Export("tapToDrop") - static boolean tapToDrop; - @ObfuscatedName("lg") - @Export("showMouseOverText") - static boolean showMouseOverText; - @ObfuscatedName("lz") - @ObfuscatedGetter( - intValue = -702365679 - ) - @Export("viewportX") - static int viewportX; - @ObfuscatedName("ld") - @ObfuscatedGetter( - intValue = 1651328511 - ) - @Export("viewportY") - static int viewportY; - @ObfuscatedName("ly") - @ObfuscatedGetter( - intValue = -1857574121 - ) - static int field773; - @ObfuscatedName("ln") - @ObfuscatedGetter( - intValue = 1950322865 - ) - static int field738; - @ObfuscatedName("lu") - @ObfuscatedGetter( - intValue = 159235159 - ) - @Export("isItemSelected") - static int isItemSelected; - @ObfuscatedName("lh") - @Export("isSpellSelected") - static boolean isSpellSelected; - @ObfuscatedName("ll") - @ObfuscatedGetter( - intValue = -465859219 - ) - @Export("selectedSpellChildIndex") - static int selectedSpellChildIndex; - @ObfuscatedName("ml") - @ObfuscatedGetter( - intValue = -1436921851 - ) - static int field648; - @ObfuscatedName("ma") - @Export("selectedSpellActionName") - static String selectedSpellActionName; - @ObfuscatedName("mw") - @Export("selectedSpellName") - static String selectedSpellName; - @ObfuscatedName("mr") - @ObfuscatedGetter( - intValue = 173733075 - ) - @Export("rootInterface") - static int rootInterface; - - static { - field859 = true; - worldId = 1; - worldProperties = 0; - gameBuild = 0; - isMembersWorld = false; - isLowDetail = false; - clientType = -1; - onMobile = false; - gameState = 0; - isLoading = true; - cycle = 0; - mouseLastLastPressedTimeMillis = 1L; - field635 = -1; - field667 = -1; - field637 = -1L; - hadFocus = true; - displayFps = false; - rebootTimer = 0; - hintArrowType = 0; - hintArrowNpcIndex = 0; - hintArrowPlayerIndex = 0; - hintArrowX = 0; - hintArrowY = 0; - hintArrowHeight = 0; - hintArrowSubX = 0; - hintArrowSubY = 0; - playerAttackOption = AttackOption.AttackOption_hidden; - npcAttackOption = AttackOption.AttackOption_hidden; - titleLoadingStage = 0; - js5ConnectState = 0; - field653 = 0; - js5Errors = 0; - loginState = 0; - field656 = 0; - field841 = 0; - field821 = 0; - field659 = class160.field1973; - Login_isUsernameRemembered = false; - secureRandomFuture = new SecureRandomFuture(); - randomDatData = null; - npcs = new NPC[32768]; - npcCount = 0; - npcIndices = new int[32768]; - field666 = 0; - field881 = new int[250]; - packetWriter = new PacketWriter(); - logoutTimer = 0; - field772 = false; - useBufferedSocket = true; - timer = new Timer(); - fontsMap = new HashMap(); - field674 = 0; - field851 = 1; - field676 = 0; - field872 = 1; - field678 = 0; - collisionMaps = new CollisionMap[4]; - isInInstance = false; - instanceChunkTemplates = new int[4][13][13]; - field682 = new int[]{0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3}; - field683 = 0; - field684 = 2301979; - field745 = 5063219; - field686 = 3353893; - field817 = 7759444; - field712 = false; - alternativeScrollbarWidth = 0; - camAngleX = 128; - camAngleY = 0; - camAngleDY = 0; - camAngleDX = 0; - mouseCamClickedX = 0; - mouseCamClickedY = 0; - oculusOrbState = 0; - camFollowHeight = -1937934274; - field698 = 0; - field802 = 0; - field700 = 0; - oculusOrbNormalSpeed = 12; - oculusOrbSlowedSpeed = 6; - field688 = 0; - field824 = false; - field883 = 0; - field858 = false; - field707 = 0; - overheadTextCount = 0; - overheadTextLimit = 50; - overheadTextXs = new int[overheadTextLimit]; - overheadTextYs = new int[overheadTextLimit]; - overheadTextAscents = new int[overheadTextLimit]; - overheadTextXOffsets = new int[overheadTextLimit]; - overheadTextColors = new int[overheadTextLimit]; - overheadTextEffects = new int[overheadTextLimit]; - overheadTextCyclesRemaining = new int[overheadTextLimit]; - overheadText = new String[overheadTextLimit]; - tileLastDrawnActor = new int[104][104]; - viewportDrawCount = 0; - viewportTempX = -1; - viewportTempY = -1; - mouseCrossX = 0; - mouseCrossY = 0; - mouseCrossState = 0; - mouseCrossColor = 0; - showMouseCross = true; - field727 = 0; - field728 = 0; - dragItemSlotSource = 0; - field730 = 0; - field870 = 0; - dragItemSlotDestination = 0; - field733 = false; - itemDragDuration = 0; - field735 = 0; - showLoadingMessages = true; - players = new Player[2048]; - localPlayerIndex = -1; - field739 = 0; - renderSelf = true; - drawPlayerNames = 0; - field742 = 0; - field731 = new int[1000]; - playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; - playerMenuActions = new String[8]; - playerOptionsPriorities = new boolean[8]; - defaultRotations = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792}; - combatTargetPlayerIndex = -1; - groundItems = new NodeDeque[4][104][104]; - pendingSpawns = new NodeDeque(); - projectiles = new NodeDeque(); - graphicsObjects = new NodeDeque(); - currentLevels = new int[25]; - levels = new int[25]; - experience = new int[25]; - leftClickOpensMenu = 0; - isMenuOpen = false; - menuOptionsCount = 0; - menuArguments1 = new int[500]; - menuArguments2 = new int[500]; - menuOpcodes = new int[500]; - menuIdentifiers = new int[500]; - menuActions = new String[500]; - menuTargets = new String[500]; - menuShiftClick = new boolean[500]; - followerOpsLowPriority = false; - shiftClickDrop = false; - tapToDrop = false; - showMouseOverText = true; - viewportX = -1; - viewportY = -1; - field773 = 0; - field738 = 50; - isItemSelected = 0; - selectedItemName = null; - isSpellSelected = false; - selectedSpellChildIndex = -1; - field648 = -1; - selectedSpellActionName = null; - selectedSpellName = null; - rootInterface = -1; - interfaceParents = new NodeHashTable(8); - field784 = 0; - field785 = -1; - chatEffects = 0; - field787 = 0; - meslayerContinueWidget = null; - runEnergy = 0; - weight = 0; - staffModLevel = 0; - followerIndex = -1; - playerMod = false; - viewportWidget = null; - clickedWidget = null; - clickedWidgetParent = null; - widgetClickX = 0; - widgetClickY = 0; - draggedOnWidget = null; - field800 = false; - field801 = -1; - field706 = -1; - field803 = false; - field804 = -1; - field699 = -1; - isDraggingWidget = false; - cycleCntr = 1; - field808 = new int[32]; - field809 = 0; - field810 = new int[32]; - field811 = 0; - changedSkills = new int[32]; - changedSkillsCount = 0; - chatCycle = 0; - field815 = 0; - field816 = 0; - field866 = 0; - field818 = 0; - field670 = 0; - mouseWheelRotation = 0; - scriptEvents = new NodeDeque(); - field822 = new NodeDeque(); - field823 = new NodeDeque(); - widgetClickMasks = new NodeHashTable(512); - rootWidgetCount = 0; - field826 = -2; - field827 = new boolean[100]; - field828 = new boolean[100]; - field647 = new boolean[100]; - rootWidgetXs = new int[100]; - rootWidgetYs = new int[100]; - rootWidgetWidths = new int[100]; - rootWidgetHeights = new int[100]; - gameDrawingMode = 0; - field835 = 0L; - isResizable = true; - field838 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; - publicChatMode = 0; - tradeChatMode = 0; - field778 = ""; - field842 = new long[100]; - field843 = 0; - field844 = 0; - field845 = new int[128]; - field846 = new int[128]; - field750 = -1L; - field848 = -1; - mapIconCount = 0; - mapIconXs = new int[1000]; - mapIconYs = new int[1000]; - mapIcons = new Sprite[1000]; - destinationX = 0; - destinationY = 0; - minimapState = 0; - field638 = 255; - field857 = -1; - field746 = false; - soundEffectVolume = 127; - field860 = 127; - soundEffectCount = 0; - soundEffectIds = new int[50]; - queuedSoundEffectLoops = new int[50]; - queuedSoundEffectDelays = new int[50]; - soundLocations = new int[50]; - soundEffects = new SoundEffect[50]; - isCameraLocked = false; - field749 = new boolean[5]; - field779 = new int[5]; - field887 = new int[5]; - field871 = new int[5]; - field799 = new int[5]; - field873 = 256; - field752 = 205; - zoomHeight = 256; - zoomWidth = 320; - field877 = 1; - field878 = 32767; - field879 = 1; - field717 = 32767; - viewportOffsetX = 0; - viewportOffsetY = 0; - viewportWidth = 0; - viewportHeight = 0; - viewportZoom = 0; - playerAppearance = new PlayerAppearance(); - field703 = -1; - field888 = -1; - platformInfoProvider = new DesktopPlatformInfoProvider(); - grandExchangeOffers = new GrandExchangeOffer[8]; - GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator(); - field892 = -1; - archiveLoaders = new ArrayList(10); - archiveLoaderArchive = 0; - field895 = 0; - field896 = new class65(); - field897 = new int[50]; - field622 = new int[50]; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1419567103" - ) - @Export("resizeGame") - protected final void resizeGame() { - field835 = SoundCache.method2480() + 500L; - this.resizeJS(); - if (rootInterface != -1) { - this.resizeRoot(true); - } - - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "77" - ) - @Export("setUp") - protected final void setUp() { - LoginScreenAnimation.method1802(new int[]{20, 260, 10000}, new int[]{1000, 100, 500}); - WorldMapSection1.port1 = gameBuild == 0 ? 43594 : worldId + 40000; - IsaacCipher.port2 = gameBuild == 0 ? 443 : worldId + 50000; - LoginPacket.port3 = WorldMapSection1.port1; - UserComparator8.field1944 = class215.field2518; - PlayerAppearance.field2508 = class215.field2519; - PlayerAppearance.field2513 = class215.field2520; - PlayerAppearance.field2511 = class215.field2521; - RouteStrategy.urlRequester = new UrlRequester(); - this.setUpKeyboard(); - this.setUpMouse(); - class80.mouseWheel = this.mouseWheel(); - RouteStrategy.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000); - AccessFile var2 = null; - ClientPreferences var3 = new ClientPreferences(); - - try { - var2 = GrandExchangeOfferUnitPriceComparator.getPreferencesFile("", class43.field359.name, false); - byte[] var4 = new byte[(int)var2.length()]; - - int var6; - for (int var5 = 0; var5 < var4.length; var5 += var6) { - var6 = var2.read(var4, var5, var4.length - var5); - if (var6 == -1) { - throw new IOException(); - } - } - - var3 = new ClientPreferences(new Buffer(var4)); - } catch (Exception var8) { - } - - try { - if (var2 != null) { - var2.close(); - } - } catch (Exception var7) { - } - - Actor.clientPreferences = var3; - this.setUpClipboard(); - String var9 = class195.null_string; - class51.applet = this; - if (var9 != null) { - class51.field406 = var9; - } - - if (gameBuild != 0) { - displayFps = true; - } - - MusicPatchNode.setWindowedMode(Actor.clientPreferences.windowMode); - class218.friendSystem = new FriendSystem(class4.loginType); - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2117082118" - ) - @Export("doCycle") - protected final void doCycle() { - ++cycle; - this.doCycleJs5(); - Login.method2051(); - - int var1; - try { - if (class197.field2376 == 1) { - var1 = class197.midiPcmStream.method3687(); - if (var1 > 0 && class197.midiPcmStream.isReady()) { - var1 -= ModelData0.field1833; - if (var1 < 0) { - var1 = 0; - } - - class197.midiPcmStream.method3686(var1); - } else { - class197.midiPcmStream.clear(); - class197.midiPcmStream.removeAll(); - if (class197.musicTrackArchive != null) { - class197.field2376 = 2; - } else { - class197.field2376 = 0; - } - - ReflectionCheck.musicTrack = null; - Language.soundCache = null; - } - } - } catch (Exception var60) { - var60.printStackTrace(); - class197.midiPcmStream.clear(); - class197.field2376 = 0; - ReflectionCheck.musicTrack = null; - Language.soundCache = null; - class197.musicTrackArchive = null; - } - - ModelData0.playPcmPlayers(); - WorldMapSectionType.method220(); - synchronized(MouseHandler.MouseHandler_instance) { - MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile; - MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile; - MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile; - MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile; - MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile; - MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile; - MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile; - MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile; - MouseHandler.MouseHandler_lastButtonVolatile = 0; - } - - if (class80.mouseWheel != null) { - var1 = class80.mouseWheel.useRotation(); - mouseWheelRotation = var1; - } - - if (gameState == 0) { - Decimator.load(); - WallDecoration.method3259(); - } else if (gameState == 5) { - FontName.method5284(this); - Decimator.load(); - WallDecoration.method3259(); - } else if (gameState != 10 && gameState != 11) { - if (gameState == 20) { - FontName.method5284(this); - this.doCycleLoggedOut(); - } else if (gameState == 25) { - StudioGame.method4131(false); - field674 = 0; - boolean var61 = true; - - int var44; - for (var44 = 0; var44 < MusicPatchPcmStream.regionLandArchives.length; ++var44) { - if (WorldMapEvent.regionMapArchiveIds[var44] != -1 && MusicPatchPcmStream.regionLandArchives[var44] == null) { - MusicPatchPcmStream.regionLandArchives[var44] = Timer.archive5.takeFile(WorldMapEvent.regionMapArchiveIds[var44], 0); - if (MusicPatchPcmStream.regionLandArchives[var44] == null) { - var61 = false; - ++field674; - } - } - - if (SequenceDefinition.regionLandArchiveIds[var44] != -1 && regionMapArchives[var44] == null) { - regionMapArchives[var44] = Timer.archive5.takeFileEncrypted(SequenceDefinition.regionLandArchiveIds[var44], 0, GrandExchangeOfferAgeComparator.xteaKeys[var44]); - if (regionMapArchives[var44] == null) { - var61 = false; - ++field674; - } - } - } - - if (!var61) { - field678 = 1; - } else { - field676 = 0; - var61 = true; - - int var4; - int var5; - for (var44 = 0; var44 < MusicPatchPcmStream.regionLandArchives.length; ++var44) { - byte[] var3 = regionMapArchives[var44]; - if (var3 != null) { - var4 = (class197.regions[var44] >> 8) * 64 - class4.baseX * 64; - var5 = (class197.regions[var44] & 255) * 64 - ScriptEvent.baseY; - if (isInInstance) { - var4 = 10; - var5 = 10; - } - - var61 &= HitSplatDefinition.method4589(var3, var4, var5); - } - } - - if (!var61) { - field678 = 2; - } else { - if (field678 != 0) { - GZipDecompressor.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); - } - - ModelData0.playPcmPlayers(); - WorldMapIcon_1.scene.clear(); - - for (var44 = 0; var44 < 4; ++var44) { - collisionMaps[var44].clear(); - } - - int var45; - for (var44 = 0; var44 < 4; ++var44) { - for (var45 = 0; var45 < 104; ++var45) { - for (var4 = 0; var4 < 104; ++var4) { - Tiles.Tiles_renderFlags[var44][var45][var4] = 0; - } - } - } - - ModelData0.playPcmPlayers(); - AbstractWorldMapData.method254(); - var44 = MusicPatchPcmStream.regionLandArchives.length; - Widget.method4074(); - StudioGame.method4131(true); - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - int var18; - int var20; - int var21; - int var22; - int var47; - if (!isInInstance) { - byte[] var6; - for (var45 = 0; var45 < var44; ++var45) { - var4 = (class197.regions[var45] >> 8) * 64 - class4.baseX * 64; - var5 = (class197.regions[var45] & 255) * 64 - ScriptEvent.baseY; - var6 = MusicPatchPcmStream.regionLandArchives[var45]; - if (var6 != null) { - ModelData0.playPcmPlayers(); - GrandExchangeOfferOwnWorldComparator.method1244(var6, var4, var5, FloorDecoration.field1585 * 8 - 48, ReflectionCheck.field1303 * 8 - 48, collisionMaps); - } - } - - for (var45 = 0; var45 < var44; ++var45) { - var4 = (class197.regions[var45] >> 8) * 64 - class4.baseX * 64; - var5 = (class197.regions[var45] & 255) * 64 - ScriptEvent.baseY; - var6 = MusicPatchPcmStream.regionLandArchives[var45]; - if (var6 == null && ReflectionCheck.field1303 < 800) { - ModelData0.playPcmPlayers(); - FloorDecoration.method2813(var4, var5, 64, 64); - } - } - - StudioGame.method4131(true); - - for (var45 = 0; var45 < var44; ++var45) { - byte[] var46 = regionMapArchives[var45]; - if (var46 != null) { - var5 = (class197.regions[var45] >> 8) * 64 - class4.baseX * 64; - var47 = (class197.regions[var45] & 255) * 64 - ScriptEvent.baseY; - ModelData0.playPcmPlayers(); - Scene var7 = WorldMapIcon_1.scene; - CollisionMap[] var8 = collisionMaps; - Buffer var9 = new Buffer(var46); - var10 = -1; - - while (true) { - var11 = var9.method5480(); - if (var11 == 0) { - break; - } - - var10 += var11; - var12 = 0; - - while (true) { - var13 = var9.readUShortSmart(); - if (var13 == 0) { - break; - } - - var12 += var13 - 1; - var14 = var12 & 63; - var15 = var12 >> 6 & 63; - var16 = var12 >> 12; - var17 = var9.readUnsignedByte(); - var18 = var17 >> 2; - int var19 = var17 & 3; - var20 = var5 + var15; - var21 = var14 + var47; - if (var20 > 0 && var21 > 0 && var20 < 103 && var21 < 103) { - var22 = var16; - if ((Tiles.Tiles_renderFlags[1][var20][var21] & 2) == 2) { - var22 = var16 - 1; - } - - CollisionMap var23 = null; - if (var22 >= 0) { - var23 = var8[var22]; - } - - class185.method3602(var16, var20, var21, var10, var19, var18, var7, var23); - } - } - } - } - } - } - - int var48; - int var49; - int var50; - if (isInInstance) { - var45 = 0; - - label558: - while (true) { - int var26; - int var28; - int var29; - int var30; - CollisionMap[] var52; - Buffer var53; - int var54; - if (var45 >= 4) { - for (var45 = 0; var45 < 13; ++var45) { - for (var4 = 0; var4 < 13; ++var4) { - var5 = instanceChunkTemplates[0][var45][var4]; - if (var5 == -1) { - FloorDecoration.method2813(var45 * 8, var4 * 8, 8, 8); - } - } - } - - StudioGame.method4131(true); - var45 = 0; - - while (true) { - if (var45 >= 4) { - break label558; - } - - ModelData0.playPcmPlayers(); - - for (var4 = 0; var4 < 13; ++var4) { - label481: - for (var5 = 0; var5 < 13; ++var5) { - var47 = instanceChunkTemplates[var45][var4][var5]; - if (var47 != -1) { - var48 = var47 >> 24 & 3; - var49 = var47 >> 1 & 3; - var50 = var47 >> 14 & 1023; - var10 = var47 >> 3 & 2047; - var11 = (var50 / 8 << 8) + var10 / 8; - - for (var12 = 0; var12 < class197.regions.length; ++var12) { - if (class197.regions[var12] == var11 && regionMapArchives[var12] != null) { - byte[] var55 = regionMapArchives[var12]; - var14 = var4 * 8; - var15 = var5 * 8; - var16 = (var50 & 7) * 8; - var17 = (var10 & 7) * 8; - Scene var56 = WorldMapIcon_1.scene; - var52 = collisionMaps; - var53 = new Buffer(var55); - var21 = -1; - - while (true) { - var22 = var53.method5480(); - if (var22 == 0) { - continue label481; - } - - var21 += var22; - var54 = 0; - - while (true) { - int var57 = var53.readUShortSmart(); - if (var57 == 0) { - break; - } - - var54 += var57 - 1; - int var25 = var54 & 63; - var26 = var54 >> 6 & 63; - int var27 = var54 >> 12; - var28 = var53.readUnsignedByte(); - var29 = var28 >> 2; - var30 = var28 & 3; - if (var48 == var27 && var26 >= var16 && var26 < var16 + 8 && var25 >= var17 && var25 < var17 + 8) { - ObjectDefinition var58 = WallDecoration.getObjectDefinition(var21); - int var32 = var14 + WorldMapAreaData.method673(var26 & 7, var25 & 7, var49, var58.sizeX, var58.sizeY, var30); - int var35 = var26 & 7; - int var36 = var25 & 7; - int var38 = var58.sizeX; - int var39 = var58.sizeY; - int var40; - if ((var30 & 1) == 1) { - var40 = var38; - var38 = var39; - var39 = var40; - } - - int var37 = var49 & 3; - int var34; - if (var37 == 0) { - var34 = var36; - } else if (var37 == 1) { - var34 = 7 - var35 - (var38 - 1); - } else if (var37 == 2) { - var34 = 7 - var36 - (var39 - 1); - } else { - var34 = var35; - } - - var40 = var15 + var34; - if (var32 > 0 && var40 > 0 && var32 < 103 && var40 < 103) { - int var41 = var45; - if ((Tiles.Tiles_renderFlags[1][var32][var40] & 2) == 2) { - var41 = var45 - 1; - } - - CollisionMap var42 = null; - if (var41 >= 0) { - var42 = var52[var41]; - } - - class185.method3602(var45, var32, var40, var21, var30 + var49 & 3, var29, var56, var42); - } - } - } - } - } - } - } - } - } - - ++var45; - } - } - - ModelData0.playPcmPlayers(); - - for (var4 = 0; var4 < 13; ++var4) { - for (var5 = 0; var5 < 13; ++var5) { - boolean var63 = false; - var48 = instanceChunkTemplates[var45][var4][var5]; - if (var48 != -1) { - var49 = var48 >> 24 & 3; - var50 = var48 >> 1 & 3; - var10 = var48 >> 14 & 1023; - var11 = var48 >> 3 & 2047; - var12 = (var10 / 8 << 8) + var11 / 8; - - for (var13 = 0; var13 < class197.regions.length; ++var13) { - if (class197.regions[var13] == var12 && MusicPatchPcmStream.regionLandArchives[var13] != null) { - byte[] var51 = MusicPatchPcmStream.regionLandArchives[var13]; - var15 = var4 * 8; - var16 = var5 * 8; - var17 = (var10 & 7) * 8; - var18 = (var11 & 7) * 8; - var52 = collisionMaps; - - for (var20 = 0; var20 < 8; ++var20) { - for (var21 = 0; var21 < 8; ++var21) { - if (var15 + var20 > 0 && var15 + var20 < 103 && var21 + var16 > 0 && var16 + var21 < 103) { - int[] var10000 = var52[var45].flags[var15 + var20]; - var10000[var16 + var21] &= -16777217; - } - } - } - - var53 = new Buffer(var51); - - for (var21 = 0; var21 < 4; ++var21) { - for (var22 = 0; var22 < 64; ++var22) { - for (var54 = 0; var54 < 64; ++var54) { - if (var49 == var21 && var22 >= var17 && var22 < var17 + 8 && var54 >= var18 && var54 < var18 + 8) { - var26 = var15 + class40.method735(var22 & 7, var54 & 7, var50); - var29 = var22 & 7; - var30 = var54 & 7; - int var31 = var50 & 3; - if (var31 == 0) { - var28 = var30; - } else if (var31 == 1) { - var28 = 7 - var29; - } else if (var31 == 2) { - var28 = 7 - var30; - } else { - var28 = var29; - } - - class32.loadTerrain(var53, var45, var26, var16 + var28, 0, 0, var50); - } else { - class32.loadTerrain(var53, 0, -1, -1, 0, 0, 0); - } - } - } - } - - var63 = true; - break; - } - } - } - - if (!var63) { - VarbitDefinition.method4499(var45, var4 * 8, var5 * 8); - } - } - } - - ++var45; - } - } - - StudioGame.method4131(true); - ModelData0.playPcmPlayers(); - WallDecoration.method3257(WorldMapIcon_1.scene, collisionMaps); - StudioGame.method4131(true); - var45 = Tiles.Tiles_minPlane; - if (var45 > MouseRecorder.plane) { - var45 = MouseRecorder.plane; - } - - if (var45 < MouseRecorder.plane - 1) { - var45 = MouseRecorder.plane - 1; - } - - if (isLowDetail) { - WorldMapIcon_1.scene.init(Tiles.Tiles_minPlane); - } else { - WorldMapIcon_1.scene.init(0); - } - - for (var4 = 0; var4 < 104; ++var4) { - for (var5 = 0; var5 < 104; ++var5) { - WorldMapCacheName.updateItemPile(var4, var5); - } - } - - ModelData0.playPcmPlayers(); - class247.method4484(); - ObjectDefinition.ObjectDefinition_cachedModelData.clear(); - PacketBufferNode var62; - if (Coord.client.hasFrame()) { - var62 = MenuAction.getPacketBufferNode(ClientPacket.field2235, packetWriter.isaacCipher); - var62.packetBuffer.writeInt(1057001181); - packetWriter.addNode(var62); - } - - if (!isInInstance) { - var4 = (FloorDecoration.field1585 - 6) / 8; - var5 = (FloorDecoration.field1585 + 6) / 8; - var47 = (ReflectionCheck.field1303 - 6) / 8; - var48 = (ReflectionCheck.field1303 + 6) / 8; - - for (var49 = var4 - 1; var49 <= var5 + 1; ++var49) { - for (var50 = var47 - 1; var50 <= var48 + 1; ++var50) { - if (var49 < var4 || var49 > var5 || var50 < var47 || var50 > var48) { - Timer.archive5.loadRegionFromName("m" + var49 + "_" + var50); - Timer.archive5.loadRegionFromName("l" + var49 + "_" + var50); - } - } - } - } - - WorldMapIcon_0.updateGameState(30); - ModelData0.playPcmPlayers(); - Tiles.field476 = null; - class30.field257 = null; - Tiles.field477 = null; - HealthBar.field1089 = null; - UserComparator3.field1961 = null; - Tiles.field473 = null; - class160.field1977 = null; - UserComparator7.Tiles_hue = null; - TileItem.Tiles_saturation = null; - class1.Tiles_lightness = null; - class42.Tiles_hueMultiplier = null; - Tiles.field488 = null; - var62 = MenuAction.getPacketBufferNode(ClientPacket.field2216, packetWriter.isaacCipher); - packetWriter.addNode(var62); - WallDecoration.method3259(); - } - } - } - } else { - FontName.method5284(this); - } - - if (gameState == 30) { - this.doCycleLoggedIn(); - } else if (gameState == 40 || gameState == 45) { - this.doCycleLoggedOut(); - } - - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-2055189627" - ) - @Export("draw") - protected final void draw(boolean var1) { - boolean var2; - label167: { - try { - if (class197.field2376 == 2) { - if (ReflectionCheck.musicTrack == null) { - ReflectionCheck.musicTrack = MusicTrack.readTrack(class197.musicTrackArchive, class197.musicTrackGroupId, class197.musicTrackFileId); - if (ReflectionCheck.musicTrack == null) { - var2 = false; - break label167; - } - } - - if (Language.soundCache == null) { - Language.soundCache = new SoundCache(class197.soundEffectsArchive, class197.musicSamplesArchive); - } - - if (class197.midiPcmStream.loadMusicTrack(ReflectionCheck.musicTrack, class197.musicPatchesArchive, Language.soundCache, 22050)) { - class197.midiPcmStream.clearAll(); - class197.midiPcmStream.method3686(Canvas.field395); - class197.midiPcmStream.setMusicTrack(ReflectionCheck.musicTrack, MouseRecorder.musicTrackBoolean); - class197.field2376 = 0; - ReflectionCheck.musicTrack = null; - Language.soundCache = null; - class197.musicTrackArchive = null; - var2 = true; - break label167; - } - } - } catch (Exception var6) { - var6.printStackTrace(); - class197.midiPcmStream.clear(); - class197.field2376 = 0; - ReflectionCheck.musicTrack = null; - Language.soundCache = null; - class197.musicTrackArchive = null; - } - - var2 = false; - } - - if (var2 && field746 && WorldMapIcon_1.pcmPlayer0 != null) { - WorldMapIcon_1.pcmPlayer0.tryDiscard(); - } - - if ((gameState == 10 || gameState == 20 || gameState == 30) && field835 != 0L && SoundCache.method2480() > field835) { - MusicPatchNode.setWindowedMode(class43.getWindowedMode()); - } - - int var4; - if (var1) { - for (var4 = 0; var4 < 100; ++var4) { - field827[var4] = true; - } - } - - if (gameState == 0) { - this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); - } else if (gameState == 5) { - GameShell.drawTitle(HealthBar.fontBold12, GrandExchangeEvent.fontPlain11, class197.fontPlain12); - } else if (gameState != 10 && gameState != 11) { - if (gameState == 20) { - GameShell.drawTitle(HealthBar.fontBold12, GrandExchangeEvent.fontPlain11, class197.fontPlain12); - } else if (gameState == 25) { - if (field678 == 1) { - if (field674 > field851) { - field851 = field674; - } - - var4 = (field851 * 50 - field674 * 50) / field851; - GZipDecompressor.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); - } else if (field678 == 2) { - if (field676 > field872) { - field872 = field676; - } - - var4 = (field872 * 50 - field676 * 50) / field872 + 50; - GZipDecompressor.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); - } else { - GZipDecompressor.drawLoadingMessage("Loading - please wait.", false); - } - } else if (gameState == 30) { - this.drawLoggedIn(); - } else if (gameState == 40) { - GZipDecompressor.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false); - } else if (gameState == 45) { - GZipDecompressor.drawLoadingMessage("Please wait...", false); - } - } else { - GameShell.drawTitle(HealthBar.fontBold12, GrandExchangeEvent.fontPlain11, class197.fontPlain12); - } - - if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { - for (var4 = 0; var4 < rootWidgetCount; ++var4) { - if (field828[var4]) { - DevicePcmPlayerProvider.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]); - field828[var4] = false; - } - } - } else if (gameState > 0) { - DevicePcmPlayerProvider.rasterProvider.drawFull(0, 0); - - for (var4 = 0; var4 < rootWidgetCount; ++var4) { - field828[var4] = false; - } - } - - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "890859408" - ) - @Export("kill0") - protected final void kill0() { - if (BoundaryObject.varcs.hasUnwrittenChanges()) { - BoundaryObject.varcs.write(); - } - - if (ParamDefinition.mouseRecorder != null) { - ParamDefinition.mouseRecorder.isRunning = false; - } - - ParamDefinition.mouseRecorder = null; - packetWriter.close(); - FriendSystem.method1871(); - if (MouseHandler.MouseHandler_instance != null) { - synchronized(MouseHandler.MouseHandler_instance) { - MouseHandler.MouseHandler_instance = null; - } - } - - class80.mouseWheel = null; - if (WorldMapIcon_1.pcmPlayer0 != null) { - WorldMapIcon_1.pcmPlayer0.shutdown(); - } - - if (ClientPreferences.pcmPlayer1 != null) { - ClientPreferences.pcmPlayer1.shutdown(); - } - - if (NetCache.NetCache_socket != null) { - NetCache.NetCache_socket.close(); - } - - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field3126 != 0) { - ArchiveDiskActionHandler.field3126 = 1; - - try { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait(); - } catch (InterruptedException var4) { - } - } - } - - if (RouteStrategy.urlRequester != null) { - RouteStrategy.urlRequester.close(); - RouteStrategy.urlRequester = null; - } - - FloorDecoration.method2811(); - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "792262956" - ) - protected final void vmethod1248() { - } - - public final void init() { - try { - if (this.checkHost()) { - for (int var1 = 0; var1 <= 19; ++var1) { - String var2 = this.getParameter(Integer.toString(var1)); - if (var2 != null) { - int var4; - switch(var1) { - case 1: - useBufferedSocket = Integer.parseInt(var2) != 0; - case 2: - case 11: - case 13: - case 16: - default: - break; - case 3: - if (var2.equalsIgnoreCase("true")) { - isMembersWorld = true; - } else { - isMembersWorld = false; - } - break; - case 4: - if (clientType == -1) { - clientType = Integer.parseInt(var2); - } - break; - case 5: - worldProperties = Integer.parseInt(var2); - break; - case 6: - var4 = Integer.parseInt(var2); - Language var12; - if (var4 >= 0 && var4 < Language.Language_valuesOrdered.length) { - var12 = Language.Language_valuesOrdered[var4]; - } else { - var12 = null; - } - - class43.clientLanguage = var12; - break; - case 7: - var4 = Integer.parseInt(var2); - ServerBuild[] var5 = Tile.method2830(); - int var6 = 0; - - ServerBuild var3; - while (true) { - if (var6 >= var5.length) { - var3 = null; - break; - } - - ServerBuild var7 = var5[var6]; - if (var4 == var7.field3077) { - var3 = var7; - break; - } - - ++var6; - } - - WorldMapSprite.field226 = var3; - break; - case 8: - if (var2.equalsIgnoreCase("true")) { - } - break; - case 9: - WorldMapArea.field217 = var2; - break; - case 10: - class43.field359 = (StudioGame)ServerPacket.findEnumerated(Tile.method2831(), Integer.parseInt(var2)); - if (class43.field359 == StudioGame.oldscape) { - class4.loginType = LoginType.oldscape; - } else { - class4.loginType = LoginType.field4024; - } - break; - case 12: - worldId = Integer.parseInt(var2); - break; - case 14: - MouseRecorder.field565 = Integer.parseInt(var2); - break; - case 15: - gameBuild = Integer.parseInt(var2); - break; - case 17: - MouseHandler.field464 = var2; - } - } - } - - Scene.Scene_isLowDetail = false; - isLowDetail = false; - ArchiveLoader.worldHost = this.getCodeBase().getHost(); - String var8 = WorldMapSprite.field226.name; - byte var9 = 0; - - try { - class192.method3650("oldschool", var8, var9, 21); - } catch (Exception var10) { - class188.RunException_sendStackTrace((String)null, var10); - } - - Coord.client = this; - Skills.field2723 = clientType; - this.startThread(765, 503, 183); - } - } catch (RuntimeException var11) { - throw ArchiveDiskActionHandler.newRunException(var11, "client.init(" + ')'); - } - } - - @ObfuscatedSignature( - signature = "()Ljt;" - ) - public Username aac() { - return Varps.localPlayer != null ? Varps.localPlayer.username : null; - } - - @ObfuscatedSignature( - signature = "()Ljt;" - ) - public Username aak() { - return Varps.localPlayer != null ? Varps.localPlayer.username : null; - } - - @ObfuscatedSignature( - signature = "()Ljt;" - ) - public Username aap() { - return Varps.localPlayer != null ? Varps.localPlayer.username : null; - } - - @ObfuscatedSignature( - signature = "()Ljt;" - ) - public Username aaa() { - return Varps.localPlayer != null ? Varps.localPlayer.username : null; - } - - @ObfuscatedName("ef") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-465749667" - ) - @Export("doCycleJs5") - void doCycleJs5() { - if (gameState != 1000) { - boolean var1 = ViewportMouse.method2957(); - if (!var1) { - this.doCycleJs5Connect(); - } - - } - } - - @ObfuscatedName("ed") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - @Export("doCycleJs5Connect") - void doCycleJs5Connect() { - if (NetCache.NetCache_crcMismatches >= 4) { - this.error("js5crc"); - gameState = 1000; - } else { - if (NetCache.NetCache_ioExceptions >= 4) { - if (gameState <= 5) { - this.error("js5io"); - gameState = 1000; - return; - } - - field653 = 3000; - NetCache.NetCache_ioExceptions = 3; - } - - if (--field653 + 1 <= 0) { - try { - if (js5ConnectState == 0) { - GrandExchangeOfferOwnWorldComparator.js5SocketTask = GameShell.taskHandler.newSocketTask(ArchiveLoader.worldHost, LoginPacket.port3); - ++js5ConnectState; - } - - if (js5ConnectState == 1) { - if (GrandExchangeOfferOwnWorldComparator.js5SocketTask.status == 2) { - this.js5Error(-1); - return; - } - - if (GrandExchangeOfferOwnWorldComparator.js5SocketTask.status == 1) { - ++js5ConnectState; - } - } - - if (js5ConnectState == 2) { - if (useBufferedSocket) { - class219.js5Socket = Fonts.method5293((Socket)GrandExchangeOfferOwnWorldComparator.js5SocketTask.result, 40000, 5000); - } else { - class219.js5Socket = new NetSocket((Socket)GrandExchangeOfferOwnWorldComparator.js5SocketTask.result, GameShell.taskHandler, 5000); - } - - Buffer var1 = new Buffer(5); - var1.writeByte(15); - var1.writeInt(183); - class219.js5Socket.write(var1.array, 0, 5); - ++js5ConnectState; - UserComparator10.field1946 = SoundCache.method2480(); - } - - if (js5ConnectState == 3) { - if (class219.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { - int var5 = class219.js5Socket.readUnsignedByte(); - if (var5 != 0) { - this.js5Error(var5); - return; - } - - ++js5ConnectState; - } else if (SoundCache.method2480() - UserComparator10.field1946 > 30000L) { - this.js5Error(-2); - return; - } - } - - if (js5ConnectState == 4) { - AbstractSocket var10 = class219.js5Socket; - boolean var2 = gameState > 20; - if (NetCache.NetCache_socket != null) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var8) { - } - - NetCache.NetCache_socket = null; - } - - NetCache.NetCache_socket = var10; - class173.method3575(var2); - NetCache.NetCache_responseHeaderBuffer.offset = 0; - NetCache.NetCache_currentResponse = null; - class336.NetCache_responseArchiveBuffer = null; - NetCache.field3154 = 0; - - while (true) { - NetFileRequest var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); - if (var3 == null) { - while (true) { - var3 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); - if (var3 == null) { - if (NetCache.field3158 != 0) { - try { - Buffer var11 = new Buffer(4); - var11.writeByte(4); - var11.writeByte(NetCache.field3158); - var11.writeShort(0); - NetCache.NetCache_socket.write(var11.array, 0, 4); - } catch (IOException var7) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var6) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - } - - NetCache.NetCache_loadTime = 0; - NetCache.field3145 = SoundCache.method2480(); - GrandExchangeOfferOwnWorldComparator.js5SocketTask = null; - class219.js5Socket = null; - js5ConnectState = 0; - js5Errors = 0; - return; - } - - NetCache.NetCache_pendingWritesQueue.addLast(var3); - NetCache.NetCache_pendingWrites.put(var3, var3.key); - ++NetCache.NetCache_pendingWritesCount; - --NetCache.NetCache_pendingResponsesCount; - } - } - - NetCache.NetCache_pendingPriorityWrites.put(var3, var3.key); - ++NetCache.NetCache_pendingPriorityWritesCount; - --NetCache.NetCache_pendingPriorityResponsesCount; - } - } - } catch (IOException var9) { - this.js5Error(-3); - } - - } - } - } - - @ObfuscatedName("eq") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-972474352" - ) - @Export("js5Error") - void js5Error(int var1) { - GrandExchangeOfferOwnWorldComparator.js5SocketTask = null; - class219.js5Socket = null; - js5ConnectState = 0; - if (LoginPacket.port3 == WorldMapSection1.port1) { - LoginPacket.port3 = IsaacCipher.port2; - } else { - LoginPacket.port3 = WorldMapSection1.port1; - } - - ++js5Errors; - if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) { - if (gameState <= 5) { - this.error("js5connect_full"); - gameState = 1000; - } else { - field653 = 3000; - } - } else if (js5Errors >= 2 && var1 == 6) { - this.error("js5connect_outofdate"); - gameState = 1000; - } else if (js5Errors >= 4) { - if (gameState <= 5) { - this.error("js5connect"); - gameState = 1000; - } else { - field653 = 3000; - } - } - - } - - @ObfuscatedName("ez") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1821013754" - ) - @Export("doCycleLoggedOut") - final void doCycleLoggedOut() { - Object var1 = packetWriter.getSocket(); - PacketBuffer var2 = packetWriter.packetBuffer; - - try { - if (loginState == 0) { - if (WorldMapEvent.secureRandom == null && (secureRandomFuture.isDone() || field656 > 250)) { - WorldMapEvent.secureRandom = secureRandomFuture.get(); - secureRandomFuture.shutdown(); - secureRandomFuture = null; - } - - if (WorldMapEvent.secureRandom != null) { - if (var1 != null) { - ((AbstractSocket)var1).close(); - var1 = null; - } - - PlayerType.socketTask = null; - field772 = false; - field656 = 0; - loginState = 1; - } - } - - if (loginState == 1) { - if (PlayerType.socketTask == null) { - PlayerType.socketTask = GameShell.taskHandler.newSocketTask(ArchiveLoader.worldHost, LoginPacket.port3); - } - - if (PlayerType.socketTask.status == 2) { - throw new IOException(); - } - - if (PlayerType.socketTask.status == 1) { - if (useBufferedSocket) { - var1 = Fonts.method5293((Socket)PlayerType.socketTask.result, 40000, 5000); - } else { - var1 = new NetSocket((Socket)PlayerType.socketTask.result, GameShell.taskHandler, 5000); - } - - packetWriter.setSocket((AbstractSocket)var1); - PlayerType.socketTask = null; - loginState = 2; - } - } - - if (loginState == 2) { - packetWriter.clearBuffer(); - PacketBufferNode var4 = Skills.method4100(); - var4.clientPacket = null; - var4.clientPacketLength = 0; - var4.packetBuffer = new PacketBuffer(5000); - var4.packetBuffer.writeByte(LoginPacket.field2291.id); - packetWriter.addNode(var4); - packetWriter.flush(); - var2.offset = 0; - loginState = 3; - } - - boolean var12; - int var13; - if (loginState == 3) { - if (WorldMapIcon_1.pcmPlayer0 != null) { - WorldMapIcon_1.pcmPlayer0.method2389(); - } - - if (ClientPreferences.pcmPlayer1 != null) { - ClientPreferences.pcmPlayer1.method2389(); - } - - var12 = true; - if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { - var12 = false; - } - - if (var12) { - var13 = ((AbstractSocket)var1).readUnsignedByte(); - if (WorldMapIcon_1.pcmPlayer0 != null) { - WorldMapIcon_1.pcmPlayer0.method2389(); - } - - if (ClientPreferences.pcmPlayer1 != null) { - ClientPreferences.pcmPlayer1.method2389(); - } - - if (var13 != 0) { - WorldMapSprite.getLoginError(var13); - return; - } - - var2.offset = 0; - loginState = 4; - } - } - - int var28; - if (loginState == 4) { - if (var2.offset < 8) { - var28 = ((AbstractSocket)var1).available(); - if (var28 > 8 - var2.offset) { - var28 = 8 - var2.offset; - } - - if (var28 > 0) { - ((AbstractSocket)var1).read(var2.array, var2.offset, var28); - var2.offset += var28; - } - } - - if (var2.offset == 8) { - var2.offset = 0; - ObjectSound.field1055 = var2.readLong(); - loginState = 5; - } - } - - if (loginState == 5) { - packetWriter.packetBuffer.offset = 0; - packetWriter.clearBuffer(); - PacketBuffer var3 = new PacketBuffer(500); - int[] var23 = new int[]{WorldMapEvent.secureRandom.nextInt(), WorldMapEvent.secureRandom.nextInt(), WorldMapEvent.secureRandom.nextInt(), WorldMapEvent.secureRandom.nextInt()}; - var3.offset = 0; - var3.writeByte(1); - var3.writeInt(var23[0]); - var3.writeInt(var23[1]); - var3.writeInt(var23[2]); - var3.writeInt(var23[3]); - var3.writeLong(ObjectSound.field1055); - int var11; - if (gameState == 40) { - var3.writeInt(UserComparator5.field1958[0]); - var3.writeInt(UserComparator5.field1958[1]); - var3.writeInt(UserComparator5.field1958[2]); - var3.writeInt(UserComparator5.field1958[3]); - } else { - var3.writeByte(field659.rsOrdinal()); - switch(field659.field1978) { - case 0: - case 2: - var3.writeMedium(class222.field2729); - ++var3.offset; - break; - case 1: - LinkedHashMap var6 = Actor.clientPreferences.parameters; - String var8 = Login.Login_username; - int var9 = var8.length(); - int var10 = 0; - - for (var11 = 0; var11 < var9; ++var11) { - var10 = (var10 << 5) - var10 + var8.charAt(var11); - } - - var3.writeInt((Integer)var6.get(var10)); - break; - case 3: - var3.offset += 4; - } - - var3.writeByte(class312.field3805.rsOrdinal()); - var3.writeStringCp1252NullTerminated(Login.Login_password); - } - - var3.encryptRsa(class83.field1142, class83.field1139); - UserComparator5.field1958 = var23; - PacketBufferNode var26 = Skills.method4100(); - var26.clientPacket = null; - var26.clientPacketLength = 0; - var26.packetBuffer = new PacketBuffer(5000); - var26.packetBuffer.offset = 0; - if (gameState == 40) { - var26.packetBuffer.writeByte(LoginPacket.field2290.id); - } else { - var26.packetBuffer.writeByte(LoginPacket.field2289.id); - } - - var26.packetBuffer.writeShort(0); - int var7 = var26.packetBuffer.offset; - var26.packetBuffer.writeInt(183); - var26.packetBuffer.writeInt(1); - var26.packetBuffer.writeByte(clientType); - var26.packetBuffer.writeBytes(var3.array, 0, var3.offset); - int var14 = var26.packetBuffer.offset; - var26.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); - var26.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); - var26.packetBuffer.writeShort(GraphicsDefaults.canvasWidth); - var26.packetBuffer.writeShort(GameShell.canvasHeight); - SequenceDefinition.method4770(var26.packetBuffer); - var26.packetBuffer.writeStringCp1252NullTerminated(WorldMapArea.field217); - var26.packetBuffer.writeInt(MouseRecorder.field565); - Buffer var15 = new Buffer(class32.platformInfo.size()); - class32.platformInfo.write(var15); - var26.packetBuffer.writeBytes(var15.array, 0, var15.array.length); - var26.packetBuffer.writeByte(clientType); - var26.packetBuffer.writeInt(0); - var26.packetBuffer.writeInt(ScriptEvent.archive0.hash); - var26.packetBuffer.writeInt(GrandExchangeOffer.archive1.hash); - var26.packetBuffer.writeInt(class173.archive2.hash); - var26.packetBuffer.writeInt(WorldMapData_0.archive3.hash); - var26.packetBuffer.writeInt(class13.archive4.hash); - var26.packetBuffer.writeInt(Timer.archive5.hash); - var26.packetBuffer.writeInt(WorldMapDecoration.archive6.hash); - var26.packetBuffer.writeInt(class49.archive7.hash); - var26.packetBuffer.writeInt(WorldMapDecoration.archive8.hash); - var26.packetBuffer.writeInt(WorldMapData_0.archive9.hash); - var26.packetBuffer.writeInt(FontName.archive10.hash); - var26.packetBuffer.writeInt(ArchiveDisk.archive11.hash); - var26.packetBuffer.writeInt(Message.archive12.hash); - var26.packetBuffer.writeInt(TextureProvider.archive13.hash); - var26.packetBuffer.writeInt(WorldMapLabel.archive14.hash); - var26.packetBuffer.writeInt(BufferedSource.archive15.hash); - var26.packetBuffer.writeInt(0); - var26.packetBuffer.writeInt(class49.archive17.hash); - var26.packetBuffer.writeInt(WorldMapArea.archive18.hash); - var26.packetBuffer.writeInt(UrlRequest.archive19.hash); - var26.packetBuffer.writeInt(WorldMapSection1.archive20.hash); - var26.packetBuffer.xteaEncrypt(var23, var14, var26.packetBuffer.offset); - var26.packetBuffer.writeLengthShort(var26.packetBuffer.offset - var7); - packetWriter.addNode(var26); - packetWriter.flush(); - packetWriter.isaacCipher = new IsaacCipher(var23); - int[] var16 = new int[4]; - - for (var11 = 0; var11 < 4; ++var11) { - var16[var11] = var23[var11] + 50; - } - - var2.newIsaacCipher(var16); - loginState = 6; - } - - if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { - var28 = ((AbstractSocket)var1).readUnsignedByte(); - if (var28 == 21 && gameState == 20) { - loginState = 9; - } else if (var28 == 2) { - loginState = 11; - } else if (var28 == 15 && gameState == 40) { - packetWriter.serverPacketLength = -1; - loginState = 16; - } else if (var28 == 64) { - loginState = 7; - } else if (var28 == 23 && field841 < 1) { - ++field841; - loginState = 0; - } else { - if (var28 != 29) { - WorldMapSprite.getLoginError(var28); - return; - } - - loginState = 14; - } - } - - if (loginState == 7 && ((AbstractSocket)var1).available() > 0) { - class208.field2475 = ((AbstractSocket)var1).readUnsignedByte(); - loginState = 8; - } - - if (loginState == 8 && ((AbstractSocket)var1).available() >= class208.field2475) { - ((AbstractSocket)var1).read(var2.array, 0, class208.field2475); - var2.offset = 0; - loginState = 6; - } - - if (loginState == 9 && ((AbstractSocket)var1).available() > 0) { - field821 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; - loginState = 10; - } - - if (loginState == 10) { - field656 = 0; - Canvas.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field821 / 60 + " seconds."); - if (--field821 <= 0) { - loginState = 0; - } - - } else { - if (loginState == 11 && ((AbstractSocket)var1).available() >= 1) { - class173.field2069 = ((AbstractSocket)var1).readUnsignedByte(); - loginState = 12; - } - - if (loginState == 12 && ((AbstractSocket)var1).available() >= class173.field2069) { - var12 = ((AbstractSocket)var1).readUnsignedByte() == 1; - ((AbstractSocket)var1).read(var2.array, 0, 4); - var2.offset = 0; - boolean var29 = false; - if (var12) { - var13 = var2.readByteIsaac() << 24; - var13 |= var2.readByteIsaac() << 16; - var13 |= var2.readByteIsaac() << 8; - var13 |= var2.readByteIsaac(); - int var17 = WorldMapIcon_0.method195(Login.Login_username); - if (Actor.clientPreferences.parameters.size() >= 10 && !Actor.clientPreferences.parameters.containsKey(var17)) { - Iterator var27 = Actor.clientPreferences.parameters.entrySet().iterator(); - var27.next(); - var27.remove(); - } - - Actor.clientPreferences.parameters.put(var17, var13); - } - - if (Login_isUsernameRemembered) { - Actor.clientPreferences.rememberedUsername = Login.Login_username; - } else { - Actor.clientPreferences.rememberedUsername = null; - } - - class296.savePreferences(); - staffModLevel = ((AbstractSocket)var1).readUnsignedByte(); - playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1; - localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); - localPlayerIndex <<= 8; - localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); - field739 = ((AbstractSocket)var1).readUnsignedByte(); - ((AbstractSocket)var1).read(var2.array, 0, 1); - var2.offset = 0; - ServerPacket[] var5 = class195.ServerPacket_values(); - int var18 = var2.readSmartByteShortIsaac(); - if (var18 < 0 || var18 >= var5.length) { - throw new IOException(var18 + " " + var2.offset); - } - - packetWriter.serverPacket = var5[var18]; - packetWriter.serverPacketLength = packetWriter.serverPacket.length; - ((AbstractSocket)var1).read(var2.array, 0, 2); - var2.offset = 0; - packetWriter.serverPacketLength = var2.readUnsignedShort(); - - try { - class47.method812(Coord.client, "zap"); - } catch (Throwable var20) { - } - - loginState = 13; - } - - if (loginState == 13) { - if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { - var2.offset = 0; - ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); - timer.method4972(); - TilePaint.method3037(); - GraphicsObject.updatePlayer(var2); - FloorDecoration.field1585 = -1; - Canvas.loadRegions(false, var2); - packetWriter.serverPacket = null; - } - - } else { - if (loginState == 14 && ((AbstractSocket)var1).available() >= 2) { - var2.offset = 0; - ((AbstractSocket)var1).read(var2.array, 0, 2); - var2.offset = 0; - Decimator.field1431 = var2.readUnsignedShort(); - loginState = 15; - } - - if (loginState == 15 && ((AbstractSocket)var1).available() >= Decimator.field1431) { - var2.offset = 0; - ((AbstractSocket)var1).read(var2.array, 0, Decimator.field1431); - var2.offset = 0; - String var22 = var2.readStringCp1252NullTerminated(); - String var24 = var2.readStringCp1252NullTerminated(); - String var25 = var2.readStringCp1252NullTerminated(); - Canvas.setLoginResponseString(var22, var24, var25); - WorldMapIcon_0.updateGameState(10); - } - - if (loginState == 16) { - if (packetWriter.serverPacketLength == -1) { - if (((AbstractSocket)var1).available() < 2) { - return; - } - - ((AbstractSocket)var1).read(var2.array, 0, 2); - var2.offset = 0; - packetWriter.serverPacketLength = var2.readUnsignedShort(); - } - - if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { - ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); - var2.offset = 0; - var28 = packetWriter.serverPacketLength; - timer.method4982(); - Entity.method3228(); - GraphicsObject.updatePlayer(var2); - if (var28 != var2.offset) { - throw new RuntimeException(); - } - } - } else { - ++field656; - if (field656 > 2000) { - if (field841 < 1) { - if (LoginPacket.port3 == WorldMapSection1.port1) { - LoginPacket.port3 = IsaacCipher.port2; - } else { - LoginPacket.port3 = WorldMapSection1.port1; - } - - ++field841; - loginState = 0; - } else { - WorldMapSprite.getLoginError(-3); - } - } - } - } - } - } catch (IOException var21) { - if (field841 < 1) { - if (WorldMapSection1.port1 == LoginPacket.port3) { - LoginPacket.port3 = IsaacCipher.port2; - } else { - LoginPacket.port3 = WorldMapSection1.port1; - } - - ++field841; - loginState = 0; - } else { - WorldMapSprite.getLoginError(-2); - } - } - } - - @ObfuscatedName("ff") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - @Export("doCycleLoggedIn") - final void doCycleLoggedIn() { - if (rebootTimer > 1) { - --rebootTimer; - } - - if (logoutTimer > 0) { - --logoutTimer; - } - - if (field772) { - field772 = false; - class185.method3607(); - } else { - if (!isMenuOpen) { - GraphicsObject.addCancelMenuEntry(); - } - - int var1; - for (var1 = 0; var1 < 100 && this.method1262(packetWriter); ++var1) { - } - - if (gameState == 30) { - while (true) { - ReflectionCheck var2 = (ReflectionCheck)class96.reflectionChecks.last(); - boolean var30; - if (var2 == null) { - var30 = false; - } else { - var30 = true; - } - - int var3; - PacketBufferNode var31; - if (!var30) { - PacketBufferNode var14; - int var15; - if (timer.field3549) { - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2191, packetWriter.isaacCipher); - var14.packetBuffer.writeByte(0); - var15 = var14.packetBuffer.offset; - timer.write(var14.packetBuffer); - var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var15); - packetWriter.addNode(var14); - timer.method4973(); - } - - int var4; - int var5; - int var6; - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - synchronized(ParamDefinition.mouseRecorder.lock) { - if (!field859) { - ParamDefinition.mouseRecorder.index = 0; - } else if (MouseHandler.MouseHandler_lastButton != 0 || ParamDefinition.mouseRecorder.index >= 40) { - var31 = null; - var3 = 0; - var4 = 0; - var5 = 0; - var6 = 0; - - for (var7 = 0; var7 < ParamDefinition.mouseRecorder.index && (var31 == null || var31.packetBuffer.offset - var3 < 246); ++var7) { - var4 = var7; - var8 = ParamDefinition.mouseRecorder.ys[var7]; - if (var8 < -1) { - var8 = -1; - } else if (var8 > 65534) { - var8 = 65534; - } - - var9 = ParamDefinition.mouseRecorder.xs[var7]; - if (var9 < -1) { - var9 = -1; - } else if (var9 > 65534) { - var9 = 65534; - } - - if (var9 != field635 || var8 != field667) { - if (var31 == null) { - var31 = MenuAction.getPacketBufferNode(ClientPacket.field2246, packetWriter.isaacCipher); - var31.packetBuffer.writeByte(0); - var3 = var31.packetBuffer.offset; - PacketBuffer var10000 = var31.packetBuffer; - var10000.offset += 2; - var5 = 0; - var6 = 0; - } - - if (field637 != -1L) { - var10 = var9 - field635; - var11 = var8 - field667; - var12 = (int)((ParamDefinition.mouseRecorder.millis[var7] - field637) / 20L); - var5 = (int)((long)var5 + (ParamDefinition.mouseRecorder.millis[var7] - field637) % 20L); - } else { - var10 = var9; - var11 = var8; - var12 = Integer.MAX_VALUE; - } - - field635 = var9; - field667 = var8; - if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { - var10 += 32; - var11 += 32; - var31.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6)); - } else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) { - var10 += 128; - var11 += 128; - var31.packetBuffer.writeByte(var12 + 128); - var31.packetBuffer.writeShort(var11 + (var10 << 8)); - } else if (var12 < 32) { - var31.packetBuffer.writeByte(var12 + 192); - if (var9 != -1 && var8 != -1) { - var31.packetBuffer.writeInt(var9 | var8 << 16); - } else { - var31.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } else { - var31.packetBuffer.writeShort((var12 & 8191) + 57344); - if (var9 != -1 && var8 != -1) { - var31.packetBuffer.writeInt(var9 | var8 << 16); - } else { - var31.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } - - ++var6; - field637 = ParamDefinition.mouseRecorder.millis[var7]; - } - } - - if (var31 != null) { - var31.packetBuffer.writeLengthByte(var31.packetBuffer.offset - var3); - var7 = var31.packetBuffer.offset; - var31.packetBuffer.offset = var3; - var31.packetBuffer.writeByte(var5 / var6); - var31.packetBuffer.writeByte(var5 % var6); - var31.packetBuffer.offset = var7; - packetWriter.addNode(var31); - } - - if (var4 >= ParamDefinition.mouseRecorder.index) { - ParamDefinition.mouseRecorder.index = 0; - } else { - MouseRecorder var46 = ParamDefinition.mouseRecorder; - var46.index -= var4; - System.arraycopy(ParamDefinition.mouseRecorder.xs, var4, ParamDefinition.mouseRecorder.xs, 0, ParamDefinition.mouseRecorder.index); - System.arraycopy(ParamDefinition.mouseRecorder.ys, var4, ParamDefinition.mouseRecorder.ys, 0, ParamDefinition.mouseRecorder.index); - System.arraycopy(ParamDefinition.mouseRecorder.millis, var4, ParamDefinition.mouseRecorder.millis, 0, ParamDefinition.mouseRecorder.index); - } - } - } - - PacketBufferNode var18; - if (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapSection1.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { - long var16 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis * -1L) / 50L; - if (var16 > 4095L) { - var16 = 4095L; - } - - mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis * -1L; - var3 = MouseHandler.MouseHandler_lastPressedY; - if (var3 < 0) { - var3 = 0; - } else if (var3 > GameShell.canvasHeight) { - var3 = GameShell.canvasHeight; - } - - var4 = MouseHandler.MouseHandler_lastPressedX; - if (var4 < 0) { - var4 = 0; - } else if (var4 > GraphicsDefaults.canvasWidth) { - var4 = GraphicsDefaults.canvasWidth; - } - - var5 = (int)var16; - var18 = MenuAction.getPacketBufferNode(ClientPacket.field2213, packetWriter.isaacCipher); - var18.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); - var18.packetBuffer.writeShort(var4); - var18.packetBuffer.writeShort(var3); - packetWriter.addNode(var18); - } - - if (KeyHandler.field380 > 0) { - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2224, packetWriter.isaacCipher); - var14.packetBuffer.writeShort(0); - var15 = var14.packetBuffer.offset; - long var19 = SoundCache.method2480(); - - for (var5 = 0; var5 < KeyHandler.field380; ++var5) { - long var21 = var19 - field750; - if (var21 > 16777215L) { - var21 = 16777215L; - } - - field750 = var19; - var14.packetBuffer.writeByte(KeyHandler.field379[var5]); - var14.packetBuffer.method5466((int)var21); - } - - var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var15); - packetWriter.addNode(var14); - } - - if (field883 > 0) { - --field883; - } - - if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { - field858 = true; - } - - if (field858 && field883 <= 0) { - field883 = 20; - field858 = false; - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2271, packetWriter.isaacCipher); - var14.packetBuffer.writeIntME(camAngleY); - var14.packetBuffer.writeShort(camAngleX); - packetWriter.addNode(var14); - } - - if (PendingSpawn.hasFocus && !hadFocus) { - hadFocus = true; - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2200, packetWriter.isaacCipher); - var14.packetBuffer.writeByte(1); - packetWriter.addNode(var14); - } - - if (!PendingSpawn.hasFocus && hadFocus) { - hadFocus = false; - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2200, packetWriter.isaacCipher); - var14.packetBuffer.writeByte(0); - packetWriter.addNode(var14); - } - - if (GrandExchangeOfferUnitPriceComparator.worldMap != null) { - GrandExchangeOfferUnitPriceComparator.worldMap.method6291(); - } - - if (InterfaceParent.ClanChat_inClanChat) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.sort(); - } - - WorldMapCacheName.method592(); - InterfaceParent.ClanChat_inClanChat = false; - } - - if (MouseRecorder.plane != field848) { - field848 = MouseRecorder.plane; - class4.method48(MouseRecorder.plane); - } - - if (gameState != 30) { - return; - } - - for (PendingSpawn var37 = (PendingSpawn)pendingSpawns.last(); var37 != null; var37 = (PendingSpawn)pendingSpawns.previous()) { - if (var37.hitpoints > 0) { - --var37.hitpoints; - } - - ObjectDefinition var23; - boolean var38; - if (var37.hitpoints == 0) { - if (var37.objectId >= 0) { - var3 = var37.objectId; - var4 = var37.field903; - var23 = WallDecoration.getObjectDefinition(var3); - if (var4 == 11) { - var4 = 10; - } - - if (var4 >= 5 && var4 <= 8) { - var4 = 4; - } - - var38 = var23.method4599(var4); - if (!var38) { - continue; - } - } - - Message.addPendingSpawnToScene(var37.plane, var37.type, var37.x, var37.y, var37.objectId, var37.field900, var37.field903); - var37.remove(); - } else { - if (var37.delay > 0) { - --var37.delay; - } - - if (var37.delay == 0 && var37.x >= 1 && var37.y >= 1 && var37.x <= 102 && var37.y <= 102) { - if (var37.id >= 0) { - var3 = var37.id; - var4 = var37.field911; - var23 = WallDecoration.getObjectDefinition(var3); - if (var4 == 11) { - var4 = 10; - } - - if (var4 >= 5 && var4 <= 8) { - var4 = 4; - } - - var38 = var23.method4599(var4); - if (!var38) { - continue; - } - } - - Message.addPendingSpawnToScene(var37.plane, var37.type, var37.x, var37.y, var37.id, var37.orientation, var37.field911); - var37.delay = -1; - if (var37.id == var37.objectId && var37.objectId == -1) { - var37.remove(); - } else if (var37.objectId == var37.id && var37.orientation == var37.field900 && var37.field911 == var37.field903) { - var37.remove(); - } - } - } - } - - VerticalAlignment.method4329(); - ++packetWriter.field1283; - if (packetWriter.field1283 > 750) { - class185.method3607(); - return; - } - - class1.method14(); - - for (var1 = 0; var1 < npcCount; ++var1) { - var15 = npcIndices[var1]; - NPC var24 = npcs[var15]; - if (var24 != null) { - Tile.calculateActorPosition(var24, var24.definition.size); - } - } - - ServerPacket.processOverheadText(); - ++field683; - if (mouseCrossColor != 0) { - mouseCrossState = mouseCrossState * 400 + 20; - if (mouseCrossState * 400 >= 400) { - mouseCrossColor = 0; - } - } - - if (Entity.field1835 != null) { - ++field727; - if (field727 >= 15) { - WorldMapID.invalidateWidget(Entity.field1835); - Entity.field1835 = null; - } - } - - Widget var39 = class32.mousedOverWidgetIf1; - Widget var32 = AbstractWorldMapIcon.field292; - class32.mousedOverWidgetIf1 = null; - AbstractWorldMapIcon.field292 = null; - draggedOnWidget = null; - field803 = false; - field800 = false; - field844 = 0; - - while (AbstractUserComparator.isKeyDown() && field844 < 128) { - if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && class43.field361 == 66) { - String var41 = class14.method145(); - Coord.client.clipboardSetString(var41); - } else if (oculusOrbState != 1 || WorldMapIcon_0.field126 <= 0) { - field846[field844] = class43.field361; - field845[field844] = WorldMapIcon_0.field126; - ++field844; - } - } - - if (SecureRandomCallable.method1092() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { - var3 = Varps.localPlayer.plane - mouseWheelRotation; - if (var3 < 0) { - var3 = 0; - } else if (var3 > 3) { - var3 = 3; - } - - if (var3 != Varps.localPlayer.plane) { - var4 = Varps.localPlayer.pathX[0] + class4.baseX * 64; - var5 = Varps.localPlayer.pathY[0] + ScriptEvent.baseY; - var18 = MenuAction.getPacketBufferNode(ClientPacket.field2187, packetWriter.isaacCipher); - var18.packetBuffer.method5500(var4); - var18.packetBuffer.writeShort(var5); - var18.packetBuffer.method5491(var3); - var18.packetBuffer.writeIntLE16(0); - packetWriter.addNode(var18); - } - - mouseWheelRotation = 0; - } - - if (rootInterface != -1) { - TextureProvider.updateRootInterface(rootInterface, 0, 0, GraphicsDefaults.canvasWidth, GameShell.canvasHeight, 0, 0); - } - - ++cycleCntr; - - while (true) { - Widget var25; - Widget var40; - ScriptEvent var42; - do { - var42 = (ScriptEvent)field822.removeLast(); - if (var42 == null) { - while (true) { - do { - var42 = (ScriptEvent)field823.removeLast(); - if (var42 == null) { - while (true) { - do { - var42 = (ScriptEvent)scriptEvents.removeLast(); - if (var42 == null) { - this.method1263(); - AbstractByteArrayCopier.method3922(); - if (clickedWidget != null) { - this.method1268(); - } - - PacketBufferNode var26; - if (class4.dragInventoryWidget != null) { - WorldMapID.invalidateWidget(class4.dragInventoryWidget); - ++itemDragDuration; - if (MouseHandler.MouseHandler_currentButton == 0) { - if (field733) { - if (class4.dragInventoryWidget == World.field996 && dragItemSlotDestination != dragItemSlotSource) { - Widget var45 = class4.dragInventoryWidget; - byte var35 = 0; - if (field787 == 1 && var45.contentType == 206) { - var35 = 1; - } - - if (var45.itemIds[dragItemSlotDestination] <= 0) { - var35 = 0; - } - - var6 = class60.getWidgetClickMask(var45); - boolean var33 = (var6 >> 29 & 1) != 0; - if (var33) { - var7 = dragItemSlotSource; - var8 = dragItemSlotDestination; - var45.itemIds[var8] = var45.itemIds[var7]; - var45.itemQuantities[var8] = var45.itemQuantities[var7]; - var45.itemIds[var7] = -1; - var45.itemQuantities[var7] = 0; - } else if (var35 == 1) { - var7 = dragItemSlotSource; - var8 = dragItemSlotDestination; - - while (var8 != var7) { - if (var7 > var8) { - var45.swapItems(var7 - 1, var7); - --var7; - } else if (var7 < var8) { - var45.swapItems(var7 + 1, var7); - ++var7; - } - } - } else { - var45.swapItems(dragItemSlotDestination, dragItemSlotSource); - } - - var26 = MenuAction.getPacketBufferNode(ClientPacket.field2267, packetWriter.isaacCipher); - var26.packetBuffer.writeIntLE16(class4.dragInventoryWidget.id); - var26.packetBuffer.writeIntME(dragItemSlotDestination); - var26.packetBuffer.method5493(var35); - var26.packetBuffer.writeIntME(dragItemSlotSource); - packetWriter.addNode(var26); - } - } else if (this.shouldLeftClickOpenMenu()) { - this.openMenu(field730, field870); - } else if (menuOptionsCount > 0) { - var3 = field730; - var4 = field870; - MenuAction var43 = SoundCache.tempMenuAction; - EnumDefinition.menuAction(var43.argument1, var43.argument2, var43.opcode, var43.argument0, var43.action, var43.action, var3, var4); - SoundCache.tempMenuAction = null; - } - - field727 = 10; - MouseHandler.MouseHandler_lastButton = 0; - class4.dragInventoryWidget = null; - } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field730 + 5 || MouseHandler.MouseHandler_x < field730 - 5 || MouseHandler.MouseHandler_y > field870 + 5 || MouseHandler.MouseHandler_y < field870 - 5)) { - field733 = true; - } - } - - if (Scene.method3080()) { - var3 = Scene.Scene_selectedX; - var4 = Scene.Scene_selectedY; - PacketBufferNode var44 = MenuAction.getPacketBufferNode(ClientPacket.field2184, packetWriter.isaacCipher); - var44.packetBuffer.writeByte(5); - var44.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); - var44.packetBuffer.writeShort(var4 + ScriptEvent.baseY); - var44.packetBuffer.writeShort(class4.baseX * 64 + var3); - packetWriter.addNode(var44); - Scene.method3117(); - mouseCrossX = MouseHandler.MouseHandler_lastPressedX; - mouseCrossY = MouseHandler.MouseHandler_lastPressedY; - mouseCrossColor = 1; - mouseCrossState = 0; - destinationX = var3; - destinationY = var4; - } - - if (var39 != class32.mousedOverWidgetIf1) { - if (var39 != null) { - WorldMapID.invalidateWidget(var39); - } - - if (class32.mousedOverWidgetIf1 != null) { - WorldMapID.invalidateWidget(class32.mousedOverWidgetIf1); - } - } - - if (var32 != AbstractWorldMapIcon.field292 && field738 == field773) { - if (var32 != null) { - WorldMapID.invalidateWidget(var32); - } - - if (AbstractWorldMapIcon.field292 != null) { - WorldMapID.invalidateWidget(AbstractWorldMapIcon.field292); - } - } - - if (AbstractWorldMapIcon.field292 != null) { - if (field773 < field738) { - ++field773; - if (field773 == field738) { - WorldMapID.invalidateWidget(AbstractWorldMapIcon.field292); - } - } - } else if (field773 > 0) { - --field773; - } - - if (oculusOrbState == 0) { - var3 = Varps.localPlayer.x * -78439701; - var4 = Varps.localPlayer.y; - if (SecureRandomFuture.oculusOrbFocalPointX - var3 < -500 || SecureRandomFuture.oculusOrbFocalPointX - var3 > 500 || AbstractByteArrayCopier.oculusOrbFocalPointY - var4 < -500 || AbstractByteArrayCopier.oculusOrbFocalPointY - var4 > 500) { - SecureRandomFuture.oculusOrbFocalPointX = var3; - AbstractByteArrayCopier.oculusOrbFocalPointY = var4; - } - - if (var3 != SecureRandomFuture.oculusOrbFocalPointX) { - SecureRandomFuture.oculusOrbFocalPointX += (var3 - SecureRandomFuture.oculusOrbFocalPointX) / 16; - } - - if (var4 != AbstractByteArrayCopier.oculusOrbFocalPointY) { - AbstractByteArrayCopier.oculusOrbFocalPointY += (var4 - AbstractByteArrayCopier.oculusOrbFocalPointY) / 16; - } - - var5 = SecureRandomFuture.oculusOrbFocalPointX >> 7; - var6 = AbstractByteArrayCopier.oculusOrbFocalPointY >> 7; - var7 = WorldMapAreaData.getTileHeight(SecureRandomFuture.oculusOrbFocalPointX, AbstractByteArrayCopier.oculusOrbFocalPointY, MouseRecorder.plane); - var8 = 0; - if (var5 > 3 && var6 > 3 && var5 < 100 && var6 < 100) { - for (var9 = var5 - 4; var9 <= var5 + 4; ++var9) { - for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) { - var11 = MouseRecorder.plane; - if (var11 < 3 && (Tiles.Tiles_renderFlags[1][var9][var10] & 2) == 2) { - ++var11; - } - - var12 = var7 - Tiles.Tiles_heights[var11][var9][var10]; - if (var12 > var8) { - var8 = var12; - } - } - } - } - - var9 = var8 * 192; - if (var9 > 98048) { - var9 = 98048; - } - - if (var9 < 32768) { - var9 = 32768; - } - - if (var9 > field707) { - field707 += (var9 - field707) / 24; - } else if (var9 < field707) { - field707 += (var9 - field707) / 80; - } - - class65.field580 = (WorldMapAreaData.getTileHeight(Varps.localPlayer.x * -78439701, Varps.localPlayer.y, MouseRecorder.plane) - 172735687 * camFollowHeight) * -59362433; - } else if (oculusOrbState == 1) { - class268.method4967(); - short var34 = -1; - if (KeyHandler.KeyHandler_pressedKeys[33]) { - var34 = 0; - } else if (KeyHandler.KeyHandler_pressedKeys[49]) { - var34 = 1024; - } - - if (KeyHandler.KeyHandler_pressedKeys[48]) { - if (var34 == 0) { - var34 = 1792; - } else if (var34 == 1024) { - var34 = 1280; - } else { - var34 = 1536; - } - } else if (KeyHandler.KeyHandler_pressedKeys[50]) { - if (var34 == 0) { - var34 = 256; - } else if (var34 == 1024) { - var34 = 768; - } else { - var34 = 512; - } - } - - byte var36 = 0; - if (KeyHandler.KeyHandler_pressedKeys[35]) { - var36 = -1; - } else if (KeyHandler.KeyHandler_pressedKeys[51]) { - var36 = 1; - } - - var5 = 0; - if (var34 >= 0 || var36 != 0) { - var5 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed : oculusOrbNormalSpeed; - var5 *= 16; - field802 = var34; - field700 = var36; - } - - if (field698 < var5) { - field698 += var5 / 8; - if (field698 > var5) { - field698 = var5; - } - } else if (field698 > var5) { - field698 = field698 * 9 / 10; - } - - if (field698 > 0) { - var6 = field698 / 16; - if (field802 >= 0) { - var3 = field802 - Tile.cameraYaw & 2047; - var7 = Rasterizer3D.Rasterizer3D_sine[var3]; - var8 = Rasterizer3D.Rasterizer3D_cosine[var3]; - SecureRandomFuture.oculusOrbFocalPointX += var6 * var7 / 65536; - AbstractByteArrayCopier.oculusOrbFocalPointY += var6 * var8 / 65536; - } - - if (field700 != 0) { - class65.field580 += var6 * field700 * -59362433; - if (class65.field580 * 1615694975 > 0) { - class65.field580 = 0; - } - } - } else { - field802 = -1; - field700 = -1; - } - - if (KeyHandler.KeyHandler_pressedKeys[13]) { - UserComparator6.method3417(); - } - } - - if (MouseHandler.MouseHandler_currentButton == 4 && WorldMapSection1.mouseCam) { - var3 = MouseHandler.MouseHandler_y - mouseCamClickedY; - camAngleDX = var3 * 2; - mouseCamClickedY = var3 != -1 && var3 != 1 ? (MouseHandler.MouseHandler_y + mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y; - var4 = mouseCamClickedX - MouseHandler.MouseHandler_x; - camAngleDY = var4 * 2; - mouseCamClickedX = var4 != -1 && var4 != 1 ? (mouseCamClickedX + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x; - } else { - if (KeyHandler.KeyHandler_pressedKeys[96]) { - camAngleDY += (-24 - camAngleDY) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[97]) { - camAngleDY += (24 - camAngleDY) / 2; - } else { - camAngleDY /= 2; - } - - if (KeyHandler.KeyHandler_pressedKeys[98]) { - camAngleDX += (12 - camAngleDX) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[99]) { - camAngleDX += (-12 - camAngleDX) / 2; - } else { - camAngleDX /= 2; - } - - mouseCamClickedY = MouseHandler.MouseHandler_y; - mouseCamClickedX = MouseHandler.MouseHandler_x; - } - - camAngleY = camAngleDY / 2 + camAngleY & 2047; - camAngleX += camAngleDX / 2; - if (camAngleX < 128) { - camAngleX = 128; - } - - if (camAngleX > 383) { - camAngleX = 383; - } - - if (isCameraLocked) { - var3 = MilliClock.field1990 * 128 + 64; - var4 = FriendSystem.field1037 * 16384 + 64; - var5 = WorldMapAreaData.getTileHeight(var3, var4, MouseRecorder.plane) - FileSystem.field2027; - if (ScriptFrame.cameraX < var3) { - ScriptFrame.cameraX = (var3 - ScriptFrame.cameraX) * WorldMapArea.field211 / 1000 + ScriptFrame.cameraX + WorldMapCacheName.field301; - if (ScriptFrame.cameraX > var3) { - ScriptFrame.cameraX = var3; - } - } - - if (ScriptFrame.cameraX > var3) { - ScriptFrame.cameraX -= WorldMapArea.field211 * (ScriptFrame.cameraX - var3) / 1000 + WorldMapCacheName.field301; - if (ScriptFrame.cameraX < var3) { - ScriptFrame.cameraX = var3; - } - } - - if (GrandExchangeOfferTotalQuantityComparator.cameraY < var5) { - GrandExchangeOfferTotalQuantityComparator.cameraY = (var5 - GrandExchangeOfferTotalQuantityComparator.cameraY) * WorldMapArea.field211 / 1000 + GrandExchangeOfferTotalQuantityComparator.cameraY + WorldMapCacheName.field301; - if (GrandExchangeOfferTotalQuantityComparator.cameraY > var5) { - GrandExchangeOfferTotalQuantityComparator.cameraY = var5; - } - } - - if (GrandExchangeOfferTotalQuantityComparator.cameraY > var5) { - GrandExchangeOfferTotalQuantityComparator.cameraY -= WorldMapArea.field211 * (GrandExchangeOfferTotalQuantityComparator.cameraY - var5) / 1000 + WorldMapCacheName.field301; - if (GrandExchangeOfferTotalQuantityComparator.cameraY < var5) { - GrandExchangeOfferTotalQuantityComparator.cameraY = var5; - } - } - - if (class14.cameraZ < var4) { - class14.cameraZ = (var4 - class14.cameraZ) * WorldMapArea.field211 / 1000 + class14.cameraZ + WorldMapCacheName.field301; - if (class14.cameraZ > var4) { - class14.cameraZ = var4; - } - } - - if (class14.cameraZ > var4) { - class14.cameraZ -= WorldMapArea.field211 * (class14.cameraZ - var4) / 1000 + WorldMapCacheName.field301; - if (class14.cameraZ < var4) { - class14.cameraZ = var4; - } - } - - var3 = class40.field334 * 16384 + 64; - var4 = SecureRandomCallable.field499 * 16384 + 64; - var5 = WorldMapAreaData.getTileHeight(var3, var4, MouseRecorder.plane) - Varcs.field1242; - var6 = var3 - ScriptFrame.cameraX; - var7 = var5 - GrandExchangeOfferTotalQuantityComparator.cameraY; - var8 = var4 - class14.cameraZ; - var9 = (int)Math.sqrt((double)(var8 * var8 + var6 * var6)); - var10 = (int)(Math.atan2((double)var7, (double)var9) * 325.949D) & 2047; - var11 = (int)(Math.atan2((double)var6, (double)var8) * -325.949D) & 2047; - if (var10 < 128) { - var10 = 128; - } - - if (var10 > 383) { - var10 = 383; - } - - if (class319.cameraPitch < var10) { - class319.cameraPitch = (var10 - class319.cameraPitch) * WorldMapSection1.field285 / 1000 + class319.cameraPitch + class65.field581; - if (class319.cameraPitch > var10) { - class319.cameraPitch = var10; - } - } - - if (class319.cameraPitch > var10) { - class319.cameraPitch -= WorldMapSection1.field285 * (class319.cameraPitch - var10) / 1000 + class65.field581; - if (class319.cameraPitch < var10) { - class319.cameraPitch = var10; - } - } - - var12 = var11 - Tile.cameraYaw; - if (var12 > 1024) { - var12 -= 2048; - } - - if (var12 < -1024) { - var12 += 2048; - } - - if (var12 > 0) { - Tile.cameraYaw = var12 * WorldMapSection1.field285 / 1000 + Tile.cameraYaw + class65.field581; - Tile.cameraYaw &= 2047; - } - - if (var12 < 0) { - Tile.cameraYaw -= class65.field581 + -var12 * WorldMapSection1.field285 / 1000; - Tile.cameraYaw &= 2047; - } - - int var27 = var11 - Tile.cameraYaw; - if (var27 > 1024) { - var27 -= 2048; - } - - if (var27 < -1024) { - var27 += 2048; - } - - if (var27 < 0 && var12 > 0 || var27 > 0 && var12 < 0) { - Tile.cameraYaw = var11; - } - } - - for (var3 = 0; var3 < 5; ++var3) { - int var10002 = field799[var3]++; - } - - BoundaryObject.varcs.tryWrite(); - var3 = ++MouseHandler.MouseHandler_idleCycles - 1; - var5 = KeyHandler.KeyHandler_idleCycles; - if (var3 > 15000 && var5 > 15000) { - logoutTimer = 250; - MouseHandler.MouseHandler_idleCycles = 14500; - var26 = MenuAction.getPacketBufferNode(ClientPacket.field2265, packetWriter.isaacCipher); - packetWriter.addNode(var26); - } - - class218.friendSystem.processFriendUpdates(); - ++packetWriter.pendingWrites; - if (packetWriter.pendingWrites > 50) { - var26 = MenuAction.getPacketBufferNode(ClientPacket.field2185, packetWriter.isaacCipher); - packetWriter.addNode(var26); - } - - try { - packetWriter.flush(); - } catch (IOException var28) { - class185.method3607(); - } - - return; - } - - var25 = var42.widget; - if (var25.childIndex < 0) { - break; - } - - var40 = Player.getWidget(var25.parentId); - } while(var40 == null || var40.children == null || var25.childIndex >= var40.children.length || var25 != var40.children[var25.childIndex]); - - SecureRandomFuture.runScriptEvent(var42); - } - } - - var25 = var42.widget; - if (var25.childIndex < 0) { - break; - } - - var40 = Player.getWidget(var25.parentId); - } while(var40 == null || var40.children == null || var25.childIndex >= var40.children.length || var25 != var40.children[var25.childIndex]); - - SecureRandomFuture.runScriptEvent(var42); - } - } - - var25 = var42.widget; - if (var25.childIndex < 0) { - break; - } - - var40 = Player.getWidget(var25.parentId); - } while(var40 == null || var40.children == null || var25.childIndex >= var40.children.length || var25 != var40.children[var25.childIndex]); - - SecureRandomFuture.runScriptEvent(var42); - } - } - - var31 = MenuAction.getPacketBufferNode(ClientPacket.field2272, packetWriter.isaacCipher); - var31.packetBuffer.writeByte(0); - var3 = var31.packetBuffer.offset; - WorldMapSection0.performReflectionCheck(var31.packetBuffer); - var31.packetBuffer.writeLengthByte(var31.packetBuffer.offset - var3); - packetWriter.addNode(var31); - } - } - } - } - - @ObfuscatedName("fg") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-99" - ) - @Export("resizeJS") - void resizeJS() { - int var1 = GraphicsDefaults.canvasWidth; - int var2 = GameShell.canvasHeight; - if (super.contentWidth < var1) { - var1 = super.contentWidth; - } - - if (super.contentHeight < var2) { - var2 = super.contentHeight; - } - - if (Actor.clientPreferences != null) { - try { - Client var3 = Coord.client; - Object[] var4 = new Object[]{class43.getWindowedMode()}; - JSObject.getWindow(var3).call("resize", var4); - } catch (Throwable var5) { - } - } - - } - - @ObfuscatedName("fx") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1715199182" - ) - @Export("drawLoggedIn") - final void drawLoggedIn() { - int var1; - if (rootInterface != -1) { - var1 = rootInterface; - if (TaskHandler.loadInterface(var1)) { - WorldMapDecoration.drawModelComponents(class289.Widget_interfaceComponents[var1], -1); - } - } - - for (var1 = 0; var1 < rootWidgetCount; ++var1) { - if (field827[var1]) { - field828[var1] = true; - } - - field647[var1] = field827[var1]; - field827[var1] = false; - } - - field826 = cycle; - viewportX = -1; - viewportY = -1; - World.field996 = null; - if (rootInterface != -1) { - rootWidgetCount = 0; - AbstractWorldMapIcon.drawWidgets(rootInterface, 0, 0, GraphicsDefaults.canvasWidth, GameShell.canvasHeight, 0, 0, -1); - } - - Rasterizer2D.Rasterizer2D_resetClip(); - if (showMouseCross) { - if (mouseCrossColor == 1) { - class270.crossSprites[mouseCrossState * 400 / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); - } - - if (mouseCrossColor == 2) { - class270.crossSprites[mouseCrossState * 400 / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); - } - } - - if (!isMenuOpen) { - if (viewportX != -1) { - WorldMapData_0.method160(viewportX, viewportY); - } - } else { - WorldMapLabelSize.method173(); - } - - if (gameDrawingMode == 3) { - for (var1 = 0; var1 < rootWidgetCount; ++var1) { - if (field647[var1]) { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); - } else if (field828[var1]) { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); - } - } - } - - WorldMapID.method521(MouseRecorder.plane, Varps.localPlayer.x * -78439701, Varps.localPlayer.y, field683); - field683 = 0; - } - - @ObfuscatedName("gi") - @ObfuscatedSignature( - signature = "(Lcx;I)Z", - garbageValue = "1403409540" - ) - final boolean method1262(PacketWriter var1) { - AbstractSocket var2 = var1.getSocket(); - PacketBuffer var3 = var1.packetBuffer; - if (var2 == null) { - return false; - } else { - int var6; - String var17; - try { - int var5; - if (var1.serverPacket == null) { - if (var1.field1281) { - if (!var2.isAvailable(1)) { - return false; - } - - var2.read(var1.packetBuffer.array, 0, 1); - var1.field1283 = 0; - var1.field1281 = false; - } - - var3.offset = 0; - if (var3.method5417()) { - if (!var2.isAvailable(1)) { - return false; - } - - var2.read(var1.packetBuffer.array, 1, 1); - var1.field1283 = 0; - } - - var1.field1281 = true; - ServerPacket[] var4 = class195.ServerPacket_values(); - var5 = var3.readSmartByteShortIsaac(); - if (var5 < 0 || var5 >= var4.length) { - throw new IOException(var5 + " " + var3.offset); - } - - var1.serverPacket = var4[var5]; - var1.serverPacketLength = var1.serverPacket.length; - } - - if (var1.serverPacketLength == -1) { - if (!var2.isAvailable(1)) { - return false; - } - - var1.getSocket().read(var3.array, 0, 1); - var1.serverPacketLength = var3.array[0] & 255; - } - - if (var1.serverPacketLength == -2) { - if (!var2.isAvailable(2)) { - return false; - } - - var1.getSocket().read(var3.array, 0, 2); - var3.offset = 0; - var1.serverPacketLength = var3.readUnsignedShort(); - } - - if (!var2.isAvailable(var1.serverPacketLength)) { - return false; - } - - var3.offset = 0; - var2.read(var3.array, 0, var1.serverPacketLength); - var1.field1283 = 0; - timer.method4969(); - var1.field1287 = var1.field1286; - var1.field1286 = var1.field1274; - var1.field1274 = var1.serverPacket; - if (ServerPacket.field2172 == var1.serverPacket) { - class192.privateChatMode = GameObject.method3263(var3.readUnsignedByte()); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2104 == var1.serverPacket) { - Canvas.method815(class185.field2297); - var1.serverPacket = null; - return true; - } - - int var48; - if (ServerPacket.field2100 == var1.serverPacket) { - WorldMapSection1.field286 = var3.method5547(); - ArchiveLoader.field508 = var3.readUnsignedByteNegate(); - - for (var48 = WorldMapSection1.field286; var48 < WorldMapSection1.field286 + 8; ++var48) { - for (var5 = ArchiveLoader.field508; var5 < ArchiveLoader.field508 + 8; ++var5) { - if (groundItems[MouseRecorder.plane][var48][var5] != null) { - groundItems[MouseRecorder.plane][var48][var5] = null; - WorldMapCacheName.updateItemPile(var48, var5); - } - } - } - - for (PendingSpawn var40 = (PendingSpawn)pendingSpawns.last(); var40 != null; var40 = (PendingSpawn)pendingSpawns.previous()) { - if (var40.x >= WorldMapSection1.field286 && var40.x < WorldMapSection1.field286 + 8 && var40.y >= ArchiveLoader.field508 && var40.y < ArchiveLoader.field508 + 8 && var40.plane == MouseRecorder.plane) { - var40.hitpoints = 0; - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2113 == var1.serverPacket) { - rebootTimer = var3.method5514() * 30; - field670 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2109 == var1.serverPacket) { - var48 = var3.method5494(); - var17 = var3.readStringCp1252NullTerminated(); - var6 = var3.readUnsignedByteNegate(); - if (var48 >= 1 && var48 <= 8) { - if (var17.equalsIgnoreCase("null")) { - var17 = null; - } - - playerMenuActions[var48 - 1] = var17; - playerOptionsPriorities[var48 - 1] = var6 == 0; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2168 == var1.serverPacket) { - Canvas.method815(class185.field2303); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2150 == var1.serverPacket) { - var48 = var3.readUnsignedByte(); - if (var3.readUnsignedByte() == 0) { - grandExchangeOffers[var48] = new GrandExchangeOffer(); - var3.offset += 18; - } else { - --var3.offset; - grandExchangeOffers[var48] = new GrandExchangeOffer(var3, false); - } - - field866 = cycleCntr; - var1.serverPacket = null; - return true; - } - - Widget var49; - if (ServerPacket.field2162 == var1.serverPacket) { - var48 = var3.method5515(); - var49 = Player.getWidget(var48); - var49.modelType = 3; - var49.modelId = Varps.localPlayer.appearance.getChatHeadId(); - WorldMapID.invalidateWidget(var49); - var1.serverPacket = null; - return true; - } - - InterfaceParent var42; - if (ServerPacket.field2106 == var1.serverPacket) { - var48 = var3.readUnsignedByte(); - var5 = var3.method5503(); - var6 = var3.method5587(); - var42 = (InterfaceParent)interfaceParents.get((long)var6); - if (var42 != null) { - StructDefinition.closeInterface(var42, var5 != var42.group); - } - - GraphicsDefaults.method5875(var6, var5, var48); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2134 == var1.serverPacket) { - Canvas.method815(class185.field2301); - var1.serverPacket = null; - return true; - } - - String var57; - if (ServerPacket.field2163 == var1.serverPacket) { - var48 = var3.readUShortSmart(); - boolean var47 = var3.readUnsignedByte() == 1; - var57 = ""; - boolean var58 = false; - if (var47) { - var57 = var3.readStringCp1252NullTerminated(); - if (class218.friendSystem.isIgnored(new Username(var57, class4.loginType))) { - var58 = true; - } - } - - String var44 = var3.readStringCp1252NullTerminated(); - if (!var58) { - WorldMapCacheName.addGameMessage(var48, var57, var44); - } - - var1.serverPacket = null; - return true; - } - - int var19; - if (ServerPacket.field2130 == var1.serverPacket) { - var48 = var3.readUnsignedByte(); - var5 = var3.readUnsignedByte(); - var6 = var3.readUnsignedByte(); - var19 = var3.readUnsignedByte(); - field749[var48] = true; - field779[var48] = var5; - field887[var48] = var6; - field871[var48] = var19; - field799[var48] = 0; - var1.serverPacket = null; - return true; - } - - Widget var18; - if (ServerPacket.field2122 == var1.serverPacket) { - var48 = var3.readInt(); - var17 = var3.readStringCp1252NullTerminated(); - var18 = Player.getWidget(var48); - if (!var17.equals(var18.text)) { - var18.text = var17; - WorldMapID.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2178 == var1.serverPacket) { - WorldMapRectangle.method257(); - weight = var3.readShort(); - field670 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2153 == var1.serverPacket) { - World var39 = new World(); - var39.host = var3.readStringCp1252NullTerminated(); - var39.id = var3.readUnsignedShort(); - var5 = var3.readInt(); - var39.properties = var5; - WorldMapIcon_0.updateGameState(45); - var2.close(); - var2 = null; - ReflectionCheck.changeWorld(var39); - var1.serverPacket = null; - return false; - } - - int var9; - int var20; - if (ServerPacket.field2180 == var1.serverPacket) { - var48 = var3.method5515(); - var5 = var3.readUnsignedShort(); - var6 = var5 >> 10 & 31; - var19 = var5 >> 5 & 31; - var20 = var5 & 31; - var9 = (var19 << 11) + (var6 << 19) + (var20 << 3); - Widget var45 = Player.getWidget(var48); - if (var9 != var45.color) { - var45.color = var9; - WorldMapID.invalidateWidget(var45); - } - - var1.serverPacket = null; - return true; - } - - boolean var16; - if (ServerPacket.field2179 == var1.serverPacket) { - var16 = var3.method5547() == 1; - var5 = var3.method5580(); - var18 = Player.getWidget(var5); - if (var16 != var18.isHidden) { - var18.isHidden = var16; - WorldMapID.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2152 == var1.serverPacket) { - var48 = var3.readUnsignedShort(); - var5 = var3.readUnsignedByte(); - var6 = var3.readUnsignedShort(); - class192.queueSoundEffect(var48, var5, var6); - var1.serverPacket = null; - return true; - } - - long var12; - int var21; - if (ServerPacket.field2099 == var1.serverPacket) { - var48 = var3.offset + var1.serverPacketLength; - var5 = var3.readUnsignedShort(); - var6 = var3.readUnsignedShort(); - if (var5 != rootInterface) { - rootInterface = var5; - this.resizeRoot(false); - DevicePcmPlayerProvider.Widget_resetModelFrames(rootInterface); - Tile.runWidgetOnLoadListener(rootInterface); - - for (var19 = 0; var19 < 100; ++var19) { - field827[var19] = true; - } - } - - InterfaceParent var10; - for (; var6-- > 0; var10.field538 = true) { - var19 = var3.readInt(); - var20 = var3.readUnsignedShort(); - var9 = var3.readUnsignedByte(); - var10 = (InterfaceParent)interfaceParents.get((long)var19); - if (var10 != null && var20 != var10.group) { - StructDefinition.closeInterface(var10, true); - var10 = null; - } - - if (var10 == null) { - var10 = GraphicsDefaults.method5875(var19, var20, var9); - } - } - - for (var42 = (InterfaceParent)interfaceParents.first(); var42 != null; var42 = (InterfaceParent)interfaceParents.next()) { - if (var42.field538) { - var42.field538 = false; - } else { - StructDefinition.closeInterface(var42, true); - } - } - - widgetClickMasks = new NodeHashTable(512); - - while (var3.offset < var48) { - var19 = var3.readInt(); - var20 = var3.readUnsignedShort(); - var9 = var3.readUnsignedShort(); - var21 = var3.readInt(); - - for (int var11 = var20; var11 <= var9; ++var11) { - var12 = ((long)var19 << 32) + (long)var11; - widgetClickMasks.put(new IntegerNode(var21), var12); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2160 == var1.serverPacket) { - publicChatMode = var3.readUnsignedByte(); - tradeChatMode = var3.method5494(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2123 == var1.serverPacket) { - WorldMapElement.updateNpcs(false, var3); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2096 == var1.serverPacket) { - Canvas.method815(class185.field2299); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2171 == var1.serverPacket) { - minimapState = var3.readUnsignedByte(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2120 == var1.serverPacket) { - ArchiveLoader.field508 = var3.method5494(); - WorldMapSection1.field286 = var3.readUnsignedByte(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2121 == var1.serverPacket) { - Canvas.method815(class185.field2298); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2129 == var1.serverPacket) { - var48 = var3.readInt(); - InterfaceParent var54 = (InterfaceParent)interfaceParents.get((long)var48); - if (var54 != null) { - StructDefinition.closeInterface(var54, true); - } - - if (meslayerContinueWidget != null) { - WorldMapID.invalidateWidget(meslayerContinueWidget); - meslayerContinueWidget = null; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2127 == var1.serverPacket) { - var48 = var3.method5459(); - var5 = var3.method5580(); - Varps.Varps_temp[var48] = var5; - if (Varps.Varps_main[var48] != var5) { - Varps.Varps_main[var48] = var5; - } - - Players.method2123(var48); - field808[++field809 - 1 & 31] = var48; - var1.serverPacket = null; - return true; - } - - Widget var7; - if (ServerPacket.field2158 == var1.serverPacket) { - var48 = var3.method5515(); - var5 = var3.readShort(); - var6 = var3.method5506(); - var7 = Player.getWidget(var48); - if (var5 != var7.rawX || var6 != var7.rawY || var7.xAlignment != 0 || var7.yAlignment != 0) { - var7.rawX = var5; - var7.rawY = var6; - var7.xAlignment = 0; - var7.yAlignment = 0; - WorldMapID.invalidateWidget(var7); - this.alignWidget(var7); - if (var7.type == 0) { - class197.revalidateWidgetScroll(class289.Widget_interfaceComponents[var48 >> 16], var7, false); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2155 == var1.serverPacket) { - destinationX = var3.readUnsignedByte(); - if (destinationX == 255) { - destinationX = 0; - } - - destinationY = var3.readUnsignedByte(); - if (destinationY == 255) { - destinationY = 0; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2157 == var1.serverPacket) { - var48 = var3.method5503(); - if (var48 == 65535) { - var48 = -1; - } - - WorldMapData_1.playSong(var48); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2169 == var1.serverPacket) { - var48 = var3.method5459(); - if (var48 == 65535) { - var48 = -1; - } - - var5 = var3.method5508(); - SecureRandomCallable.playSoundJingle(var48, var5); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2118 == var1.serverPacket) { - var48 = var3.readInt(); - var5 = var3.method5580(); - var6 = var3.method5503(); - if (var6 == 65535) { - var6 = -1; - } - - var7 = Player.getWidget(var48); - ItemDefinition var43; - if (!var7.isIf3) { - if (var6 == -1) { - var7.modelType = 0; - var1.serverPacket = null; - return true; - } - - var43 = Player.ItemDefinition_get(var6); - var7.modelType = 4; - var7.modelId = var6; - var7.modelAngleX = var43.xan2d; - var7.modelAngleY = var43.yan2d; - var7.modelZoom = var43.zoom2d * 100 / var5; - WorldMapID.invalidateWidget(var7); - } else { - var7.itemId = var6; - var7.itemQuantity = var5; - var43 = Player.ItemDefinition_get(var6); - var7.modelAngleX = var43.xan2d; - var7.modelAngleY = var43.yan2d; - var7.modelAngleZ = var43.zan2d; - var7.modelOffsetX = var43.offsetX2d; - var7.modelOffsetY = var43.offsetY2d; - var7.modelZoom = var43.zoom2d; - if (var43.isStackable == 1) { - var7.itemQuantityMode = 1; - } else { - var7.itemQuantityMode = 2; - } - - if (var7.field2582 > 0) { - var7.modelZoom = var7.modelZoom * 32 / var7.field2582; - } else if (var7.rawWidth > 0) { - var7.modelZoom = var7.modelZoom * 32 / var7.rawWidth; - } - - WorldMapID.invalidateWidget(var7); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2161 == var1.serverPacket) { - var3.offset += 28; - if (var3.checkCrc()) { - class195.method3664(var3, var3.offset - 28); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2140 == var1.serverPacket) { - var48 = var3.method5515(); - var5 = var3.method5584(); - var18 = Player.getWidget(var48); - if (var5 != var18.sequenceId || var5 == -1) { - var18.sequenceId = var5; - var18.modelFrame = 0; - var18.modelFrameCycle = 0; - WorldMapID.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2132 == var1.serverPacket) { - WorldMapData_1.readReflectionCheck(var3, var1.serverPacketLength); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2156 == var1.serverPacket) { - byte[] var38 = new byte[var1.serverPacketLength]; - var3.method5419(var38, 0, var38.length); - Buffer var53 = new Buffer(var38); - var57 = var53.readStringCp1252NullTerminated(); - WorldMapIcon_0.openURL(var57, true, false); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2126 == var1.serverPacket) { - Canvas.method815(class185.field2304); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2115 == var1.serverPacket) { - class40.method736(); - var1.serverPacket = null; - return false; - } - - Widget var8; - if (ServerPacket.field2119 == var1.serverPacket) { - var48 = var3.readInt(); - var5 = var3.method5587(); - InterfaceParent var56 = (InterfaceParent)interfaceParents.get((long)var5); - var42 = (InterfaceParent)interfaceParents.get((long)var48); - if (var42 != null) { - StructDefinition.closeInterface(var42, var56 == null || var56.group != var42.group); - } - - if (var56 != null) { - var56.remove(); - interfaceParents.put(var56, (long)var48); - } - - var8 = Player.getWidget(var5); - if (var8 != null) { - WorldMapID.invalidateWidget(var8); - } - - var8 = Player.getWidget(var48); - if (var8 != null) { - WorldMapID.invalidateWidget(var8); - class197.revalidateWidgetScroll(class289.Widget_interfaceComponents[var8.id >>> 16], var8, true); - } - - if (rootInterface != -1) { - WorldMapRectangle.runIntfCloseListeners(rootInterface, 1); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2112 == var1.serverPacket) { - isCameraLocked = true; - MilliClock.field1990 = var3.readUnsignedByte() * 16384; - FriendSystem.field1037 = var3.readUnsignedByte() * 128; - FileSystem.field2027 = var3.readUnsignedShort(); - WorldMapCacheName.field301 = var3.readUnsignedByte(); - WorldMapArea.field211 = var3.readUnsignedByte(); - if (WorldMapArea.field211 >= 100) { - ScriptFrame.cameraX = MilliClock.field1990 * 128 + 64; - class14.cameraZ = FriendSystem.field1037 * 16384 + 64; - GrandExchangeOfferTotalQuantityComparator.cameraY = WorldMapAreaData.getTileHeight(ScriptFrame.cameraX, class14.cameraZ, MouseRecorder.plane) - FileSystem.field2027; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2159 == var1.serverPacket) { - WorldMapSection1.field286 = var3.method5547(); - ArchiveLoader.field508 = var3.readUnsignedByte(); - - while (var3.offset < var1.serverPacketLength) { - var48 = var3.readUnsignedByte(); - class185 var52 = GrandExchangeOfferUnitPriceComparator.method116()[var48]; - Canvas.method815(var52); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2154 == var1.serverPacket) { - class218.friendSystem.method1856(); - field815 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2117 == var1.serverPacket) { - if (var1.serverPacketLength == 0) { - GrandExchangeOfferUnitPriceComparator.clanChat = null; - } else { - if (GrandExchangeOfferUnitPriceComparator.clanChat == null) { - GrandExchangeOfferUnitPriceComparator.clanChat = new ClanChat(class4.loginType, Coord.client); - } - - GrandExchangeOfferUnitPriceComparator.clanChat.readUpdate(var3); - } - - class65.method1176(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2097 == var1.serverPacket) { - Canvas.method815(class185.field2300); - var1.serverPacket = null; - return true; - } - - String var37; - if (ServerPacket.field2105 == var1.serverPacket) { - var37 = var3.readStringCp1252NullTerminated(); - Object[] var51 = new Object[var37.length() + 1]; - - for (var6 = var37.length() - 1; var6 >= 0; --var6) { - if (var37.charAt(var6) == 's') { - var51[var6 + 1] = var3.readStringCp1252NullTerminated(); - } else { - var51[var6 + 1] = new Integer(var3.readInt()); - } - } - - var51[0] = new Integer(var3.readInt()); - ScriptEvent var55 = new ScriptEvent(); - var55.args = var51; - SecureRandomFuture.runScriptEvent(var55); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2181 == var1.serverPacket) { - var48 = var3.readUnsignedShort(); - var5 = var3.readInt(); - var18 = Player.getWidget(var5); - if (var18 != null && var18.type == 0) { - if (var48 > var18.scrollHeight - var18.height) { - var48 = var18.scrollHeight - var18.height; - } - - if (var48 < 0) { - var48 = 0; - } - - if (var48 != var18.scrollY) { - var18.scrollY = var48; - WorldMapID.invalidateWidget(var18); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2107 == var1.serverPacket) { - Canvas.method815(class185.field2302); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2146 == var1.serverPacket) { - for (var48 = 0; var48 < Varps.Varps_main.length; ++var48) { - if (Varps.Varps_temp[var48] != Varps.Varps_main[var48]) { - Varps.Varps_main[var48] = Varps.Varps_temp[var48]; - Players.method2123(var48); - field808[++field809 - 1 & 31] = var48; - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2165 == var1.serverPacket) { - var48 = var3.method5459(); - rootInterface = var48; - this.resizeRoot(false); - DevicePcmPlayerProvider.Widget_resetModelFrames(var48); - Tile.runWidgetOnLoadListener(rootInterface); - - for (var5 = 0; var5 < 100; ++var5) { - field827[var5] = true; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2133 == var1.serverPacket) { - WorldMapElement.updateNpcs(true, var3); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2103 == var1.serverPacket) { - WorldMapRectangle.method257(); - var48 = var3.readUnsignedByte(); - var5 = var3.readUnsignedByte(); - var6 = var3.method5587(); - experience[var5] = var6; - currentLevels[var5] = var48; - levels[var5] = 1; - - for (var19 = 0; var19 < 98; ++var19) { - if (var6 >= Skills.Skills_experienceTable[var19]) { - levels[var5] = var19 + 2; - } - } - - changedSkills[++changedSkillsCount - 1 & 31] = var5; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2164 == var1.serverPacket) { - class218.friendSystem.ignoreList.read(var3, var1.serverPacketLength); - HealthBarUpdate.FriendSystem_invalidateIgnoreds(); - field815 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2176 == var1.serverPacket) { - isCameraLocked = true; - class40.field334 = var3.readUnsignedByte() * 128; - SecureRandomCallable.field499 = var3.readUnsignedByte() * 128; - Varcs.field1242 = var3.readUnsignedShort(); - class65.field581 = var3.readUnsignedByte(); - WorldMapSection1.field285 = var3.readUnsignedByte(); - if (WorldMapSection1.field285 >= 100) { - var48 = class40.field334 * 16384 + 64; - var5 = SecureRandomCallable.field499 * 16384 + 64; - var6 = WorldMapAreaData.getTileHeight(var48, var5, MouseRecorder.plane) - Varcs.field1242; - var19 = var48 - ScriptFrame.cameraX; - var20 = var6 - GrandExchangeOfferTotalQuantityComparator.cameraY; - var9 = var5 - class14.cameraZ; - var21 = (int)Math.sqrt((double)(var9 * var9 + var19 * var19)); - class319.cameraPitch = (int)(Math.atan2((double)var20, (double)var21) * 325.949D) & 2047; - Tile.cameraYaw = (int)(Math.atan2((double)var19, (double)var9) * -325.949D) & 2047; - if (class319.cameraPitch < 128) { - class319.cameraPitch = 128; - } - - if (class319.cameraPitch > 383) { - class319.cameraPitch = 383; - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2175 == var1.serverPacket) { - hintArrowType = var3.readUnsignedByte(); - if (hintArrowType == 1) { - hintArrowNpcIndex = var3.readUnsignedShort(); - } - - if (hintArrowType >= 2 && hintArrowType <= 6) { - if (hintArrowType == 2) { - hintArrowSubX = 4096; - hintArrowSubY = 4096; - } - - if (hintArrowType == 3) { - hintArrowSubX = 0; - hintArrowSubY = 4096; - } - - if (hintArrowType == 4) { - hintArrowSubX = 8192; - hintArrowSubY = 4096; - } - - if (hintArrowType == 5) { - hintArrowSubX = 4096; - hintArrowSubY = 0; - } - - if (hintArrowType == 6) { - hintArrowSubX = 4096; - hintArrowSubY = 8192; - } - - hintArrowType = 2; - hintArrowX = var3.readUnsignedShort(); - hintArrowY = var3.readUnsignedShort(); - hintArrowHeight = var3.readUnsignedByte() * 4; - } - - if (hintArrowType == 10) { - hintArrowPlayerIndex = var3.readUnsignedShort(); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2102 == var1.serverPacket) { - WorldMapRectangle.method257(); - runEnergy = var3.readUnsignedByte(); - field670 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2135 == var1.serverPacket) { - ClientPacket.method3599(var3.readStringCp1252NullTerminated()); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2177 == var1.serverPacket) { - Canvas.loadRegions(true, var1.packetBuffer); - var1.serverPacket = null; - return true; - } - - long var22; - long var24; - if (ServerPacket.field2182 == var1.serverPacket) { - var37 = var3.readStringCp1252NullTerminated(); - var22 = (long)var3.readUnsignedShort(); - var24 = (long)var3.readMedium(); - PlayerType var26 = (PlayerType)ServerPacket.findEnumerated(PlayerAppearance.PlayerType_values(), var3.readUnsignedByte()); - long var27 = var24 + (var22 << 32); - boolean var29 = false; - - for (int var13 = 0; var13 < 100; ++var13) { - if (field842[var13] == var27) { - var29 = true; - break; - } - } - - if (class218.friendSystem.isIgnored(new Username(var37, class4.loginType))) { - var29 = true; - } - - if (!var29 && field735 == 0) { - field842[field843] = var27; - field843 = (field843 + 1) % 100; - String var30 = AbstractFont.escapeBrackets(PacketBufferNode.method3616(GrandExchangeOfferWorldComparator.method60(var3))); - byte var46; - if (var26.isPrivileged) { - var46 = 7; - } else { - var46 = 3; - } - - if (var26.modIcon != -1) { - WorldMapCacheName.addGameMessage(var46, ArchiveDiskAction.method4133(var26.modIcon) + var37, var30); - } else { - WorldMapCacheName.addGameMessage(var46, var37, var30); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2149 == var1.serverPacket) { - Canvas.method815(class185.field2296); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2166 == var1.serverPacket) { - var48 = var3.readUnsignedByte(); - class96.method2258(var48); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2142 == var1.serverPacket) { - byte var59 = var3.method5634(); - var5 = var3.method5459(); - Varps.Varps_temp[var5] = var59; - if (Varps.Varps_main[var5] != var59) { - Varps.Varps_main[var5] = var59; - } - - Players.method2123(var5); - field808[++field809 - 1 & 31] = var5; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2147 == var1.serverPacket) { - var48 = var3.readInt(); - if (var48 != field688) { - field688 = var48; - class14.method144(); - } - - var1.serverPacket = null; - return true; - } - - long var31; - if (ServerPacket.field2108 == var1.serverPacket) { - var37 = var3.readStringCp1252NullTerminated(); - var22 = var3.readLong(); - var24 = (long)var3.readUnsignedShort(); - var31 = (long)var3.readMedium(); - PlayerType var60 = (PlayerType)ServerPacket.findEnumerated(PlayerAppearance.PlayerType_values(), var3.readUnsignedByte()); - var12 = (var24 << 32) + var31; - boolean var14 = false; - - for (int var15 = 0; var15 < 100; ++var15) { - if (var12 == field842[var15]) { - var14 = true; - break; - } - } - - if (var60.isUser && class218.friendSystem.isIgnored(new Username(var37, class4.loginType))) { - var14 = true; - } - - if (!var14 && field735 == 0) { - field842[field843] = var12; - field843 = (field843 + 1) % 100; - String var34 = AbstractFont.escapeBrackets(PacketBufferNode.method3616(GrandExchangeOfferWorldComparator.method60(var3))); - if (var60.modIcon != -1) { - UserComparator9.addChatMessage(9, ArchiveDiskAction.method4133(var60.modIcon) + var37, var34, StudioGame.base37DecodeLong(var22)); - } else { - UserComparator9.addChatMessage(9, var37, var34, StudioGame.base37DecodeLong(var22)); - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2145 == var1.serverPacket) { - for (var48 = 0; var48 < CollisionMap.VarpDefinition_fileCount; ++var48) { - VarpDefinition var50 = class30.method518(var48); - if (var50 != null) { - Varps.Varps_temp[var48] = 0; - Varps.Varps_main[var48] = 0; - } - } - - WorldMapRectangle.method257(); - field809 += 32; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2139 == var1.serverPacket) { - if (rootInterface != -1) { - WorldMapRectangle.runIntfCloseListeners(rootInterface, 0); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2125 == var1.serverPacket) { - class192.updatePlayers(var3, var1.serverPacketLength); - class3.method30(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2124 == var1.serverPacket) { - isCameraLocked = false; - - for (var48 = 0; var48 < 5; ++var48) { - field749[var48] = false; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2137 == var1.serverPacket) { - var48 = var3.readInt(); - var5 = var3.readUnsignedShort(); - if (var48 < -70000) { - var5 += 32768; - } - - if (var48 >= 0) { - var18 = Player.getWidget(var48); - } else { - var18 = null; - } - - if (var18 != null) { - for (var19 = 0; var19 < var18.itemIds.length; ++var19) { - var18.itemIds[var19] = 0; - var18.itemQuantities[var19] = 0; - } - } - - class226.clearItemContainer(var5); - var19 = var3.readUnsignedShort(); - - for (var20 = 0; var20 < var19; ++var20) { - var9 = var3.method5459(); - var21 = var3.readUnsignedByteNegate(); - if (var21 == 255) { - var21 = var3.method5515(); - } - - if (var18 != null && var20 < var18.itemIds.length) { - var18.itemIds[var20] = var9; - var18.itemQuantities[var20] = var21; - } - - WorldMapArea.itemContainerSetItem(var5, var20, var9 - 1, var21); - } - - if (var18 != null) { - WorldMapID.invalidateWidget(var18); - } - - WorldMapRectangle.method257(); - field810[++field811 - 1 & 31] = var5 & 32767; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2141 == var1.serverPacket) { - Canvas.loadRegions(false, var1.packetBuffer); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2174 == var1.serverPacket) { - var48 = var3.readUnsignedByte(); - WorldMapIcon_0.method196(var48); - var1.serverPacket = null; - return false; - } - - if (ServerPacket.field2144 == var1.serverPacket) { - var48 = var3.method5503(); - var5 = var3.method5515(); - var18 = Player.getWidget(var5); - if (var18.modelType != 2 || var48 != var18.modelId) { - var18.modelType = 2; - var18.modelId = var48; - WorldMapID.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2170 == var1.serverPacket) { - var48 = var3.method5459(); - var5 = var3.method5459(); - var6 = var3.readUnsignedShort(); - var19 = var3.method5587(); - var8 = Player.getWidget(var19); - if (var48 != var8.modelAngleX || var6 != var8.modelAngleY || var5 != var8.modelZoom) { - var8.modelAngleX = var48; - var8.modelAngleY = var6; - var8.modelZoom = var5; - WorldMapID.invalidateWidget(var8); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2148 == var1.serverPacket) { - var48 = var3.readInt(); - var5 = var3.readInt(); - var6 = Canvas.getGcDuration(); - PacketBufferNode var41 = MenuAction.getPacketBufferNode(ClientPacket.field2266, packetWriter.isaacCipher); - var41.packetBuffer.method5491(GameShell.fps); - var41.packetBuffer.method5491(var6); - var41.packetBuffer.writeIntLE(var48); - var41.packetBuffer.writeIntLE16(var5); - packetWriter.addNode(var41); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2131 == var1.serverPacket) { - var48 = var3.method5503(); - var5 = var3.readInt(); - var6 = var3.method5503(); - var7 = Player.getWidget(var5); - var7.field2594 = var48 + (var6 << 16); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2128 == var1.serverPacket) { - var48 = var3.method5503(); - if (var48 == 65535) { - var48 = -1; - } - - var5 = var3.method5587(); - var6 = var3.method5514(); - if (var6 == 65535) { - var6 = -1; - } - - var19 = var3.method5515(); - - for (var20 = var6; var20 <= var48; ++var20) { - var31 = (long)var20 + ((long)var19 << 32); - Node var33 = widgetClickMasks.get(var31); - if (var33 != null) { - var33.remove(); - } - - widgetClickMasks.put(new IntegerNode(var5), var31); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2138 == var1.serverPacket) { - Canvas.method815(class185.field2305); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2101 == var1.serverPacket) { - var48 = var3.readInt(); - var5 = var3.readUnsignedShort(); - if (var48 < -70000) { - var5 += 32768; - } - - if (var48 >= 0) { - var18 = Player.getWidget(var48); - } else { - var18 = null; - } - - for (; var3.offset < var1.serverPacketLength; WorldMapArea.itemContainerSetItem(var5, var19, var20 - 1, var9)) { - var19 = var3.readUShortSmart(); - var20 = var3.readUnsignedShort(); - var9 = 0; - if (var20 != 0) { - var9 = var3.readUnsignedByte(); - if (var9 == 255) { - var9 = var3.readInt(); - } - } - - if (var18 != null && var19 >= 0 && var19 < var18.itemIds.length) { - var18.itemIds[var19] = var20; - var18.itemQuantities[var19] = var9; - } - } - - if (var18 != null) { - WorldMapID.invalidateWidget(var18); - } - - WorldMapRectangle.method257(); - field810[++field811 - 1 & 31] = var5 & 32767; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2110 == var1.serverPacket) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.method5217(var3); - } - - class65.method1176(); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2136 == var1.serverPacket) { - var16 = var3.readBoolean(); - if (var16) { - if (MenuAction.field1133 == null) { - MenuAction.field1133 = new class237(); - } - } else { - MenuAction.field1133 = null; - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2098 == var1.serverPacket) { - var48 = var3.method5503(); - UrlRequest.method3276(var48); - field810[++field811 - 1 & 31] = var48 & 32767; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2143 == var1.serverPacket) { - var48 = var3.method5515(); - var5 = var3.method5514(); - var18 = Player.getWidget(var48); - if (var18.modelType != 1 || var5 != var18.modelId) { - var18.modelType = 1; - var18.modelId = var5; - WorldMapID.invalidateWidget(var18); - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2151 == var1.serverPacket) { - class218.friendSystem.readUpdate(var3, var1.serverPacketLength); - field815 = cycleCntr; - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2167 == var1.serverPacket) { - var48 = var3.method5580(); - var49 = Player.getWidget(var48); - - for (var6 = 0; var6 < var49.itemIds.length; ++var6) { - var49.itemIds[var6] = -1; - var49.itemIds[var6] = 0; - } - - WorldMapID.invalidateWidget(var49); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2116 == var1.serverPacket) { - for (var48 = 0; var48 < players.length; ++var48) { - if (players[var48] != null) { - players[var48].sequence = -1; - } - } - - for (var48 = 0; var48 < npcs.length; ++var48) { - if (npcs[var48] != null) { - npcs[var48].sequence = -1; - } - } - - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2111 == var1.serverPacket) { - var37 = var3.readStringCp1252NullTerminated(); - var17 = AbstractFont.escapeBrackets(PacketBufferNode.method3616(GrandExchangeOfferWorldComparator.method60(var3))); - WorldMapCacheName.addGameMessage(6, var37, var17); - var1.serverPacket = null; - return true; - } - - if (ServerPacket.field2173 == var1.serverPacket) { - var16 = var3.readUnsignedByte() == 1; - if (var16) { - GrandExchangeOfferWorldComparator.field25 = SoundCache.method2480() - var3.readLong(); - PacketWriter.grandExchangeEvents = new GrandExchangeEvents(var3, true); - } else { - PacketWriter.grandExchangeEvents = null; - } - - field818 = cycleCntr; - var1.serverPacket = null; - return true; - } - - class188.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1286 != null ? var1.field1286.id : -1) + "," + (var1.field1287 != null ? var1.field1287.id : -1) + "," + var1.serverPacketLength, (Throwable)null); - class40.method736(); - } catch (IOException var35) { - class185.method3607(); - } catch (Exception var36) { - var17 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1286 != null ? var1.field1286.id : -1) + "," + (var1.field1287 != null ? var1.field1287.id : -1) + "," + var1.serverPacketLength + "," + (Varps.localPlayer.pathX[0] + class4.baseX * 64) + "," + (Varps.localPlayer.pathY[0] + ScriptEvent.baseY) + ","; - - for (var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) { - var17 = var17 + var3.array[var6] + ","; - } - - class188.RunException_sendStackTrace(var17, var36); - class40.method736(); - } - - return true; - } - } - - @ObfuscatedName("hf") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "28" - ) - final void method1263() { - boolean var1 = false; - - int var2; - int var5; - while (!var1) { - var1 = true; - - for (var2 = 0; var2 < menuOptionsCount - 1; ++var2) { - if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) { - String var3 = menuTargets[var2]; - menuTargets[var2] = menuTargets[var2 + 1]; - menuTargets[var2 + 1] = var3; - String var4 = menuActions[var2]; - menuActions[var2] = menuActions[var2 + 1]; - menuActions[var2 + 1] = var4; - var5 = menuOpcodes[var2]; - menuOpcodes[var2] = menuOpcodes[var2 + 1]; - menuOpcodes[var2 + 1] = var5; - var5 = menuArguments1[var2]; - menuArguments1[var2] = menuArguments1[var2 + 1]; - menuArguments1[var2 + 1] = var5; - var5 = menuArguments2[var2]; - menuArguments2[var2] = menuArguments2[var2 + 1]; - menuArguments2[var2 + 1] = var5; - var5 = menuIdentifiers[var2]; - menuIdentifiers[var2] = menuIdentifiers[var2 + 1]; - menuIdentifiers[var2 + 1] = var5; - boolean var6 = menuShiftClick[var2]; - menuShiftClick[var2] = menuShiftClick[var2 + 1]; - menuShiftClick[var2 + 1] = var6; - var1 = false; - } - } - } - - if (class4.dragInventoryWidget == null) { - if (clickedWidget == null) { - int var15 = MouseHandler.MouseHandler_lastButton; - int var8; - int var12; - int var13; - int var18; - if (isMenuOpen) { - if (var15 != 1 && (WorldMapSection1.mouseCam || var15 != 4)) { - var2 = MouseHandler.MouseHandler_x; - var12 = MouseHandler.MouseHandler_y; - if (var2 < FileSystem.menuX - 10 || var2 > FileSystem.menuX + class173.menuWidth + 10 || var12 < class83.menuY - 10 || var12 > class83.menuY + FaceNormal.menuHeight + 10) { - isMenuOpen = false; - HealthBar.method2007(FileSystem.menuX, class83.menuY, class173.menuWidth, FaceNormal.menuHeight); - } - } - - if (var15 == 1 || !WorldMapSection1.mouseCam && var15 == 4) { - var2 = FileSystem.menuX; - var12 = class83.menuY; - var13 = class173.menuWidth; - var5 = MouseHandler.MouseHandler_lastPressedX; - int var16 = MouseHandler.MouseHandler_lastPressedY; - int var17 = -1; - - for (var8 = 0; var8 < menuOptionsCount; ++var8) { - var18 = var12 + (menuOptionsCount - 1 - var8) * 15 + 31; - if (var5 > var2 && var5 < var13 + var2 && var16 > var18 - 13 && var16 < var18 + 3) { - var17 = var8; - } - } - - if (var17 != -1) { - AbstractWorldMapIcon.method572(var17); - } - - isMenuOpen = false; - HealthBar.method2007(FileSystem.menuX, class83.menuY, class173.menuWidth, FaceNormal.menuHeight); - } - } else { - var2 = WorldMapCacheName.getNewestMenuIdx(); - if ((var15 == 1 || !WorldMapSection1.mouseCam && var15 == 4) && var2 >= 0) { - var12 = menuOpcodes[var2]; - if (var12 == 39 || var12 == 40 || var12 == 41 || var12 == 42 || var12 == 43 || var12 == 33 || var12 == 34 || var12 == 35 || var12 == 36 || var12 == 37 || var12 == 38 || var12 == 1005) { - label274: { - var13 = menuArguments1[var2]; - var5 = menuArguments2[var2]; - Widget var14 = Player.getWidget(var5); - var8 = class60.getWidgetClickMask(var14); - boolean var7 = (var8 >> 28 & 1) != 0; - int var10; - if (!var7) { - var10 = class60.getWidgetClickMask(var14); - boolean var9 = (var10 >> 29 & 1) != 0; - if (!var9) { - break label274; - } - } - - if (class4.dragInventoryWidget != null && !field733 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { - var18 = field730; - var10 = field870; - MenuAction var11 = SoundCache.tempMenuAction; - EnumDefinition.menuAction(var11.argument1, var11.argument2, var11.opcode, var11.argument0, var11.action, var11.action, var18, var10); - SoundCache.tempMenuAction = null; - } - - field733 = false; - itemDragDuration = 0; - if (class4.dragInventoryWidget != null) { - WorldMapID.invalidateWidget(class4.dragInventoryWidget); - } - - class4.dragInventoryWidget = Player.getWidget(var5); - dragItemSlotSource = var13; - field730 = MouseHandler.MouseHandler_lastPressedX; - field870 = MouseHandler.MouseHandler_lastPressedY; - if (var2 >= 0) { - SoundCache.tempMenuAction = new MenuAction(); - SoundCache.tempMenuAction.argument1 = menuArguments1[var2]; - SoundCache.tempMenuAction.argument2 = menuArguments2[var2]; - SoundCache.tempMenuAction.opcode = menuOpcodes[var2]; - SoundCache.tempMenuAction.argument0 = menuIdentifiers[var2]; - SoundCache.tempMenuAction.action = menuActions[var2]; - } - - WorldMapID.invalidateWidget(class4.dragInventoryWidget); - return; - } - } - } - - if ((var15 == 1 || !WorldMapSection1.mouseCam && var15 == 4) && this.shouldLeftClickOpenMenu()) { - var15 = 2; - } - - if ((var15 == 1 || !WorldMapSection1.mouseCam && var15 == 4) && menuOptionsCount > 0) { - AbstractWorldMapIcon.method572(var2); - } - - if (var15 == 2 && menuOptionsCount > 0) { - this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - } - - } - } - } - - @ObfuscatedName("ha") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "0" - ) - @Export("shouldLeftClickOpenMenu") - final boolean shouldLeftClickOpenMenu() { - int var1 = WorldMapCacheName.getNewestMenuIdx(); - boolean var2 = leftClickOpensMenu == 1 && menuOptionsCount > 2; - if (!var2) { - boolean var3; - if (var1 < 0) { - var3 = false; - } else { - int var4 = menuOpcodes[var1]; - if (var4 >= 2000) { - var4 -= 2000; - } - - if (var4 == 1007) { - var3 = true; - } else { - var3 = false; - } - } - - var2 = var3; - } - - return var2 && !menuShiftClick[var1]; - } - - @ObfuscatedName("hu") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1915079329" - ) - @Export("openMenu") - final void openMenu(int var1, int var2) { - ScriptEvent.calculateMenuBounds(var1, var2); - WorldMapIcon_1.scene.menuOpen(MouseRecorder.plane, var1, var2, false); - isMenuOpen = true; - } - - @ObfuscatedName("im") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-475129533" - ) - @Export("resizeRoot") - final void resizeRoot(boolean var1) { - Occluder.resizeComponents(rootInterface, GraphicsDefaults.canvasWidth, GameShell.canvasHeight, var1); - } - - @ObfuscatedName("il") - @ObfuscatedSignature( - signature = "(Lhy;B)V", - garbageValue = "4" - ) - @Export("alignWidget") - void alignWidget(Widget var1) { - Widget var2 = var1.parentId == -1 ? null : Player.getWidget(var1.parentId); - int var3; - int var4; - if (var2 == null) { - var3 = GraphicsDefaults.canvasWidth; - var4 = GameShell.canvasHeight; - } else { - var3 = var2.width; - var4 = var2.height; - } - - class192.alignWidgetSize(var1, var3, var4, false); - WorldMapEvent.alignWidgetPosition(var1, var3, var4); - } - - @ObfuscatedName("jn") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1922845127" - ) - final void method1268() { - WorldMapID.invalidateWidget(clickedWidget); - ++ArchiveLoader.widgetDragDuration; - if (field803 && field800) { - int var1 = MouseHandler.MouseHandler_x; - int var2 = MouseHandler.MouseHandler_y; - var1 -= widgetClickX; - var2 -= widgetClickY; - if (var1 < field801) { - var1 = field801; - } - - if (var1 + clickedWidget.width > field801 + clickedWidgetParent.width) { - var1 = field801 + clickedWidgetParent.width - clickedWidget.width; - } - - if (var2 < field706) { - var2 = field706; - } - - if (var2 + clickedWidget.height > field706 + clickedWidgetParent.height) { - var2 = field706 + clickedWidgetParent.height - clickedWidget.height; - } - - int var3 = var1 - field804; - int var4 = var2 - field699; - int var5 = clickedWidget.dragZoneSize; - if (ArchiveLoader.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { - isDraggingWidget = true; - } - - int var6 = var1 - field801 + clickedWidgetParent.scrollX; - int var7 = var2 - field706 + clickedWidgetParent.scrollY; - ScriptEvent var8; - if (clickedWidget.onDrag != null && isDraggingWidget) { - var8 = new ScriptEvent(); - var8.widget = clickedWidget; - var8.mouseX = var6; - var8.mouseY = var7; - var8.args = clickedWidget.onDrag; - SecureRandomFuture.runScriptEvent(var8); - } - - if (MouseHandler.MouseHandler_currentButton == 0) { - if (isDraggingWidget) { - if (clickedWidget.onDragComplete != null) { - var8 = new ScriptEvent(); - var8.widget = clickedWidget; - var8.mouseX = var6; - var8.mouseY = var7; - var8.dragTarget = draggedOnWidget; - var8.args = clickedWidget.onDragComplete; - SecureRandomFuture.runScriptEvent(var8); - } - - if (draggedOnWidget != null && FontName.method5290(clickedWidget) != null) { - PacketBufferNode var12 = MenuAction.getPacketBufferNode(ClientPacket.field2242, packetWriter.isaacCipher); - var12.packetBuffer.writeShortLE(draggedOnWidget.id); - var12.packetBuffer.method5500(clickedWidget.itemId); - var12.packetBuffer.method5502(draggedOnWidget.itemId); - var12.packetBuffer.writeIntME(draggedOnWidget.childIndex); - var12.packetBuffer.writeIntME(clickedWidget.childIndex); - var12.packetBuffer.writeIntLE(clickedWidget.id); - packetWriter.addNode(var12); - } - } else if (this.shouldLeftClickOpenMenu()) { - this.openMenu(widgetClickX + field804, field699 + widgetClickY); - } else if (menuOptionsCount > 0) { - int var11 = widgetClickX + field804; - int var9 = field699 + widgetClickY; - MenuAction var10 = SoundCache.tempMenuAction; - EnumDefinition.menuAction(var10.argument1, var10.argument2, var10.opcode, var10.argument0, var10.action, var10.action, var11, var9); - SoundCache.tempMenuAction = null; - } - - clickedWidget = null; - } - - } else { - if (ArchiveLoader.widgetDragDuration > 1) { - clickedWidget = null; - } - - } - } - - @ObfuscatedName("kp") - @ObfuscatedSignature( - signature = "(B)Ljt;", - garbageValue = "1" - ) - @Export("username") - public Username username() { - return Varps.localPlayer != null ? Varps.localPlayer.username : null; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "1135918061" - ) - @Export("isCharAlphabetic") - public static boolean isCharAlphabetic(char var0) { - return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; - } - - static void aab() { - if (field824 && Varps.localPlayer != null) { - int var0 = Varps.localPlayer.pathX[0]; - int var1 = Varps.localPlayer.pathY[0]; - if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { - return; - } - - SecureRandomFuture.oculusOrbFocalPointX = Varps.localPlayer.x * -78439701; - int var2 = WorldMapAreaData.getTileHeight(Varps.localPlayer.x * -78439701, Varps.localPlayer.y, MouseRecorder.plane) - camFollowHeight * 172735687; - if (var2 < class65.field580 * 1615694975) { - class65.field580 = var2 * -59362433; - } - - AbstractByteArrayCopier.oculusOrbFocalPointY = Varps.localPlayer.y; - field824 = false; - } - - } - - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - static void aao(Buffer var0) { - if (randomDatData != null) { - var0.writeBytes(randomDatData, 0, randomDatData.length); - } else { - byte[] var2 = new byte[24]; - - try { - JagexCache.JagexCache_randomDat.seek(0L); - JagexCache.JagexCache_randomDat.readFully(var2); - - int var3; - for (var3 = 0; var3 < 24 && var2[var3] == 0; ++var3) { - } - - if (var3 >= 24) { - throw new IOException(); - } - } catch (Exception var6) { - for (int var4 = 0; var4 < 24; ++var4) { - var2[var4] = -1; - } - } - - var0.writeBytes(var2, 0, var2.length); - } - } - - @ObfuscatedSignature( - signature = "(Lkz;I)V" - ) - static void aav(Buffer var0, int var1) { - byte[] var2 = var0.array; - if (randomDatData == null) { - randomDatData = new byte[24]; - } - - class300.writeRandomDat(var2, var1, randomDatData, 0, 24); - class49.method828(var0, var1); - } - - static void aax() { - if (MenuAction.field1133 != null) { - field892 = cycle; - MenuAction.field1133.method4295(); - - for (int var0 = 0; var0 < players.length; ++var0) { - if (players[var0] != null) { - MenuAction.field1133.method4319(class4.baseX * 64 + (players[var0].x * -78439701 >> 7), ScriptEvent.baseY + (players[var0].y >> 7)); - } - } - } - - } - - static void aaq() { - if (field824 && Varps.localPlayer != null) { - int var0 = Varps.localPlayer.pathX[0]; - int var1 = Varps.localPlayer.pathY[0]; - if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { - return; - } - - SecureRandomFuture.oculusOrbFocalPointX = Varps.localPlayer.x * -78439701; - int var2 = WorldMapAreaData.getTileHeight(Varps.localPlayer.x * -78439701, Varps.localPlayer.y, MouseRecorder.plane) - camFollowHeight * 172735687; - if (var2 < class65.field580 * 1615694975) { - class65.field580 = var2 * -59362433; - } - - AbstractByteArrayCopier.oculusOrbFocalPointY = Varps.localPlayer.y; - field824 = false; - } - - } - - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - static void aad(Buffer var0) { - if (randomDatData != null) { - var0.writeBytes(randomDatData, 0, randomDatData.length); - } else { - byte[] var2 = new byte[24]; - - try { - JagexCache.JagexCache_randomDat.seek(0L); - JagexCache.JagexCache_randomDat.readFully(var2); - - int var3; - for (var3 = 0; var3 < 24 && var2[var3] == 0; ++var3) { - } - - if (var3 >= 24) { - throw new IOException(); - } - } catch (Exception var6) { - for (int var4 = 0; var4 < 24; ++var4) { - var2[var4] = -1; - } - } - - var0.writeBytes(var2, 0, var2.length); - } - } - - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - static void aal(Buffer var0) { - if (randomDatData != null) { - var0.writeBytes(randomDatData, 0, randomDatData.length); - } else { - byte[] var2 = new byte[24]; - - try { - JagexCache.JagexCache_randomDat.seek(0L); - JagexCache.JagexCache_randomDat.readFully(var2); - - int var3; - for (var3 = 0; var3 < 24 && var2[var3] == 0; ++var3) { - } - - if (var3 >= 24) { - throw new IOException(); - } - } catch (Exception var6) { - for (int var4 = 0; var4 < 24; ++var4) { - var2[var4] = -1; - } - } - - var0.writeBytes(var2, 0, var2.length); - } - } - - public static boolean aaw() { - return staffModLevel >= 2; - } - - public static boolean aam() { - return staffModLevel >= 2; - } - - static void aat(int var0) { - oculusOrbState = var0; - } - - static void aah() { - packetWriter.addNode(MenuAction.getPacketBufferNode(ClientPacket.field2254, packetWriter.isaacCipher)); - oculusOrbState = 0; - } - - static void aae() { - packetWriter.addNode(MenuAction.getPacketBufferNode(ClientPacket.field2254, packetWriter.isaacCipher)); - oculusOrbState = 0; - } - - @Export("sortMenuEntries") - @ObfuscatedName("aaz") - static void sortMenuEntries() { - if (oculusOrbState * 1131557898 == 1) { - field824 = true; - } - - } - - static void aau() { - if (field824 && Varps.localPlayer != null) { - int var0 = Varps.localPlayer.pathX[0]; - int var1 = Varps.localPlayer.pathY[0]; - if (var0 < 0 || var1 < 0 || var0 >= -1349199817 || var1 >= 104) { - return; - } - - SecureRandomFuture.oculusOrbFocalPointX = Varps.localPlayer.x * 1039058795; - int var2 = WorldMapAreaData.getTileHeight(Varps.localPlayer.x * -78439701, Varps.localPlayer.y, MouseRecorder.plane) - camFollowHeight * 536343645; - if (var2 < class65.field580 * 1615694975) { - class65.field580 = var2 * -59362433; - } - - AbstractByteArrayCopier.oculusOrbFocalPointY = Varps.localPlayer.y; - field824 = false; - } - - } - - static void aas() { - if (field824 && Varps.localPlayer != null) { - int var0 = Varps.localPlayer.pathX[0]; - int var1 = Varps.localPlayer.pathY[0]; - if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { - return; - } - - SecureRandomFuture.oculusOrbFocalPointX = Varps.localPlayer.x * -78439701; - int var2 = WorldMapAreaData.getTileHeight(Varps.localPlayer.x * -78439701, Varps.localPlayer.y, MouseRecorder.plane) - camFollowHeight * 172735687; - if (var2 < class65.field580 * 1615694975) { - class65.field580 = var2 * -59362433; - } - - AbstractByteArrayCopier.oculusOrbFocalPointY = Varps.localPlayer.y; - field824 = false; - } - - } - - static void aay() { - if (field824 && Varps.localPlayer != null) { - int var0 = Varps.localPlayer.pathX[0]; - int var1 = Varps.localPlayer.pathY[0]; - if (var0 < 0 || var1 < 0 || var0 >= 2074219828 || var1 >= 104) { - return; - } - - SecureRandomFuture.oculusOrbFocalPointX = Varps.localPlayer.x * 79454524; - int var2 = WorldMapAreaData.getTileHeight(Varps.localPlayer.x * -78439701, Varps.localPlayer.y * -224354688, MouseRecorder.plane) - camFollowHeight * -808569797; - if (var2 < class65.field580 * 228658747) { - class65.field580 = var2 * 545155251; - } - - AbstractByteArrayCopier.oculusOrbFocalPointY = Varps.localPlayer.y * 1124445248; - field824 = false; - } - - } - - static String aaf(String var0) { - PlayerType[] var1 = PlayerAppearance.PlayerType_values(); - - for (int var2 = 0; var2 < var1.length; ++var2) { - PlayerType var3 = var1[var2]; - if (var3.modIcon * 2069934243 != -1 && var0.startsWith(ArchiveDiskAction.method4133(var3.modIcon * 250778590))) { - var0 = var0.substring(6 + Integer.toString(var3.modIcon * 1831934627).length()); - break; - } - } - - return var0; - } - - static void aag() { - if (MenuAction.field1133 != null) { - field892 = cycle * -1425026086; - MenuAction.field1133.method4295(); - - for (int var0 = 0; var0 < players.length; ++var0) { - if (players[var0] != null) { - MenuAction.field1133.method4319((players[var0].x * 107503986 >> 7) + class4.baseX * 1793092736, ScriptEvent.baseY * 90968450 + (players[var0].y >> 7)); - } - } - } - - } - - @ObfuscatedName("gj") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "219285186" - ) - static final int method1679() { - if (Actor.clientPreferences.roofsHidden) { - return MouseRecorder.plane; - } else { - int var0 = 3; - if (class319.cameraPitch < 310) { - int var1; - int var2; - if (oculusOrbState == 1) { - var1 = SecureRandomFuture.oculusOrbFocalPointX >> 7; - var2 = AbstractByteArrayCopier.oculusOrbFocalPointY >> 7; - } else { - var1 = Varps.localPlayer.x * -78439701 >> 7; - var2 = Varps.localPlayer.y >> 7; - } - - int var3 = ScriptFrame.cameraX >> 7; - int var4 = class14.cameraZ >> 7; - if (var3 < 0 || var4 < 0 || var3 >= 104 || var4 >= 104) { - return MouseRecorder.plane; - } - - if (var1 < 0 || var2 < 0 || var1 >= 104 || var2 >= 104) { - return MouseRecorder.plane; - } - - if ((Tiles.Tiles_renderFlags[MouseRecorder.plane][var3][var4] & 4) != 0) { - var0 = MouseRecorder.plane; - } - - int var5; - if (var1 > var3) { - var5 = var1 - var3; - } else { - var5 = var3 - var1; - } - - int var6; - if (var2 > var4) { - var6 = var2 - var4; - } else { - var6 = var4 - var2; - } - - int var7; - int var8; - if (var5 > var6) { - var7 = var6 * 65536 / var5; - var8 = 32768; - - while (var1 != var3) { - if (var3 < var1) { - ++var3; - } else if (var3 > var1) { - --var3; - } - - if ((Tiles.Tiles_renderFlags[MouseRecorder.plane][var3][var4] & 4) != 0) { - var0 = MouseRecorder.plane; - } - - var8 += var7; - if (var8 >= 65536) { - var8 -= 65536; - if (var4 < var2) { - ++var4; - } else if (var4 > var2) { - --var4; - } - - if ((Tiles.Tiles_renderFlags[MouseRecorder.plane][var3][var4] & 4) != 0) { - var0 = MouseRecorder.plane; - } - } - } - } else if (var6 > 0) { - var7 = var5 * 65536 / var6; - var8 = 32768; - - while (var4 != var2) { - if (var4 < var2) { - ++var4; - } else if (var4 > var2) { - --var4; - } - - if ((Tiles.Tiles_renderFlags[MouseRecorder.plane][var3][var4] & 4) != 0) { - var0 = MouseRecorder.plane; - } - - var8 += var7; - if (var8 >= 65536) { - var8 -= 65536; - if (var3 < var1) { - ++var3; - } else if (var3 > var1) { - --var3; - } - - if ((Tiles.Tiles_renderFlags[MouseRecorder.plane][var3][var4] & 4) != 0) { - var0 = MouseRecorder.plane; - } - } - } - } - } - - if (Varps.localPlayer.x * -78439701 >= 0 && Varps.localPlayer.y >= 0 && Varps.localPlayer.x * -78439701 < 13312 && Varps.localPlayer.y < 13312) { - if ((Tiles.Tiles_renderFlags[MouseRecorder.plane][Varps.localPlayer.x * -78439701 >> 7][Varps.localPlayer.y >> 7] & 4) != 0) { - var0 = MouseRecorder.plane; - } - - return var0; - } else { - return MouseRecorder.plane; - } - } - } -} +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.net.Socket; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +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.ScriptOpcodes; +import netscape.javascript.JSObject; + +@Implements("Client") +@ObfuscatedName("client") +public final class Client extends GameShell implements Usernamed { + @ObfuscatedName("mk") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("clickedWidget") + static Widget clickedWidget; + @ObfuscatedName("om") + @ObfuscatedGetter( + intValue = -556975935 + ) + @Export("rootWidgetCount") + static int rootWidgetCount; + @ObfuscatedName("ol") + @ObfuscatedGetter( + intValue = -659707133 + ) + static int field638; + @ObfuscatedName("sj") + @ObfuscatedGetter( + intValue = 11492349 + ) + public static int field905; + @ObfuscatedName("og") + @ObfuscatedGetter( + longValue = -2357868230662320483L + ) + static long field754; + @ObfuscatedName("ot") + static boolean[] field841; + @ObfuscatedName("oi") + static boolean[] field847; + @ObfuscatedName("nj") + static boolean field817; + @ObfuscatedName("op") + static boolean[] field842; + @ObfuscatedName("nm") + static boolean field814; + @ObfuscatedName("ox") + @Export("isResizable") + static boolean isResizable; + @ObfuscatedName("nt") + @ObfuscatedGetter( + intValue = 1655703121 + ) + @Export("cycleCntr") + static int cycleCntr; + @ObfuscatedName("ng") + @ObfuscatedGetter( + intValue = -1435027681 + ) + static int field744; + @ObfuscatedName("mb") + @ObfuscatedGetter( + intValue = -1276072491 + ) + @Export("widgetClickX") + static int widgetClickX; + @ObfuscatedName("qr") + static boolean field759; + @ObfuscatedName("mv") + @ObfuscatedGetter( + intValue = 2043143959 + ) + @Export("widgetClickY") + static int widgetClickY; + @ObfuscatedName("na") + @ObfuscatedGetter( + intValue = -868722211 + ) + static int field695; + @ObfuscatedName("me") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("clickedWidgetParent") + static Widget clickedWidgetParent; + @ObfuscatedName("md") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("interfaceParents") + static NodeHashTable interfaceParents; + @ObfuscatedName("nl") + @ObfuscatedGetter( + intValue = 194862223 + ) + static int field816; + @ObfuscatedName("oy") + @Export("rootWidgetXs") + static int[] rootWidgetXs; + @ObfuscatedName("oq") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("widgetClickMasks") + static NodeHashTable widgetClickMasks; + @ObfuscatedName("oe") + @Export("rootWidgetWidths") + static int[] rootWidgetWidths; + @ObfuscatedName("ms") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("viewportWidget") + static Widget viewportWidget; + @ObfuscatedName("oz") + @ObfuscatedGetter( + intValue = 1348758997 + ) + @Export("gameDrawingMode") + static int gameDrawingMode; + @ObfuscatedName("ow") + @Export("rootWidgetHeights") + static int[] rootWidgetHeights; + @ObfuscatedName("my") + @ObfuscatedGetter( + intValue = -2028586371 + ) + @Export("staffModLevel") + public static int staffModLevel; + @ObfuscatedName("ov") + @Export("rootWidgetYs") + static int[] rootWidgetYs; + @ObfuscatedName("nk") + @ObfuscatedGetter( + intValue = -1019005303 + ) + static int field818; + @ObfuscatedName("pl") + @ObfuscatedGetter( + intValue = 858875897 + ) + @Export("destinationX") + static int destinationX; + @ObfuscatedName("tb") + @ObfuscatedSignature( + signature = "Lbu;" + ) + static final class65 field909; + @ObfuscatedName("np") + @ObfuscatedGetter( + intValue = 1046894235 + ) + static int field819; + @ObfuscatedName("px") + @ObfuscatedGetter( + intValue = 242208529 + ) + @Export("destinationY") + static int destinationY; + @ObfuscatedName("oh") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("scriptEvents") + static NodeDeque scriptEvents; + @ObfuscatedName("nq") + @ObfuscatedGetter( + intValue = -861923243 + ) + static int field833; + @ObfuscatedName("tg") + static int[] field910; + @ObfuscatedName("nc") + @Export("isDraggingWidget") + static boolean isDraggingWidget; + @ObfuscatedName("td") + static int[] field911; + @ObfuscatedName("nv") + @ObfuscatedGetter( + intValue = 826785605 + ) + static int field832; + @ObfuscatedName("qz") + @Export("isCameraLocked") + static boolean isCameraLocked; + @ObfuscatedName("mx") + @ObfuscatedGetter( + intValue = -140222153 + ) + @Export("runEnergy") + static int runEnergy; + @ObfuscatedName("qb") + @ObfuscatedGetter( + intValue = -910754411 + ) + static int field666; + @ObfuscatedName("mo") + @ObfuscatedGetter( + intValue = -1946560921 + ) + @Export("weight") + static int weight; + @ObfuscatedName("qa") + @ObfuscatedGetter( + intValue = 892519291 + ) + static int field868; + @ObfuscatedName("no") + static int[] field820; + @ObfuscatedName("nb") + @ObfuscatedGetter( + intValue = -1905651311 + ) + static int field830; + @ObfuscatedName("nw") + @ObfuscatedGetter( + intValue = -330072185 + ) + static int field825; + @ObfuscatedName("mw") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("draggedOnWidget") + static Widget draggedOnWidget; + @ObfuscatedName("sl") + @ObfuscatedGetter( + intValue = -897184099 + ) + static int field900; + @ObfuscatedName("ru") + @ObfuscatedSignature( + signature = "Lhr;" + ) + @Export("playerAppearance") + static PlayerAppearance playerAppearance; + @ObfuscatedName("on") + @ObfuscatedGetter( + intValue = -1310890605 + ) + @Export("mouseWheelRotation") + static int mouseWheelRotation; + @ObfuscatedName("mj") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("meslayerContinueWidget") + static Widget meslayerContinueWidget; + @ObfuscatedName("qm") + @ObfuscatedGetter( + intValue = -1177667309 + ) + @Export("soundEffectCount") + static int soundEffectCount; + @ObfuscatedName("sn") + @ObfuscatedGetter( + intValue = 2123814989 + ) + static int field901; + @ObfuscatedName("qh") + @Export("soundEffectIds") + static int[] soundEffectIds; + @ObfuscatedName("qw") + @Export("queuedSoundEffectLoops") + static int[] queuedSoundEffectLoops; + @ObfuscatedName("sa") + @ObfuscatedSignature( + signature = "[Li;" + ) + @Export("grandExchangeOffers") + static GrandExchangeOffer[] grandExchangeOffers; + @ObfuscatedName("qx") + @Export("queuedSoundEffectDelays") + static int[] queuedSoundEffectDelays; + @ObfuscatedName("qt") + @ObfuscatedSignature( + signature = "[Lcm;" + ) + @Export("soundEffects") + static SoundEffect[] soundEffects; + @ObfuscatedName("ql") + @Export("soundLocations") + static int[] soundLocations; + @ObfuscatedName("nn") + @ObfuscatedGetter( + intValue = 1294400327 + ) + static int field831; + @ObfuscatedName("qf") + @ObfuscatedGetter( + intValue = 1977131521 + ) + @Export("minimapState") + static int minimapState; + @ObfuscatedName("si") + @Export("archiveLoaders") + static ArrayList archiveLoaders; + @ObfuscatedName("se") + @ObfuscatedGetter( + intValue = 426040267 + ) + @Export("archiveLoaderArchive") + static int archiveLoaderArchive; + @ObfuscatedName("rm") + static boolean[] field835; + @ObfuscatedName("pz") + static long[] field889; + @ObfuscatedName("rk") + static int[] field882; + @ObfuscatedName("pi") + @ObfuscatedGetter( + longValue = -2403274902957123209L + ) + static long field860; + @ObfuscatedName("rl") + static int[] field883; + @ObfuscatedName("nu") + static int[] field782; + @ObfuscatedName("rh") + static int[] field884; + @ObfuscatedName("ne") + @ObfuscatedGetter( + intValue = -1128248371 + ) + static int field823; + @ObfuscatedName("rj") + static int[] field885; + @ObfuscatedName("pr") + @ObfuscatedGetter( + intValue = -1812154483 + ) + static int field856; + @ObfuscatedName("su") + @ObfuscatedSignature( + signature = "Lly;" + ) + @Export("platformInfoProvider") + static PlatformInfoProvider platformInfoProvider; + @ObfuscatedName("pt") + @ObfuscatedGetter( + intValue = -1929025607 + ) + static int field643; + @ObfuscatedName("pv") + @ObfuscatedGetter( + intValue = -1079323191 + ) + @Export("mapIconCount") + static int mapIconCount; + @ObfuscatedName("ps") + @Export("mapIconXs") + static int[] mapIconXs; + @ObfuscatedName("qi") + @ObfuscatedGetter( + intValue = -114703177 + ) + static int field761; + @ObfuscatedName("pu") + @Export("mapIconYs") + static int[] mapIconYs; + @ObfuscatedName("rt") + static short field880; + @ObfuscatedName("re") + static short field887; + @ObfuscatedName("rd") + static short field892; + @ObfuscatedName("pg") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("mapIcons") + static Sprite[] mapIcons; + @ObfuscatedName("rr") + static short field893; + @ObfuscatedName("ra") + static short field891; + @ObfuscatedName("rf") + @ObfuscatedGetter( + intValue = 720626183 + ) + @Export("viewportZoom") + static int viewportZoom; + @ObfuscatedName("ri") + static short field686; + @ObfuscatedName("rz") + @ObfuscatedGetter( + intValue = 806304417 + ) + @Export("viewportWidth") + static int viewportWidth; + @ObfuscatedName("nh") + @ObfuscatedGetter( + intValue = 1691099913 + ) + @Export("chatCycle") + static int chatCycle; + @ObfuscatedName("pa") + @ObfuscatedGetter( + intValue = 168765299 + ) + @Export("tradeChatMode") + static int tradeChatMode; + @ObfuscatedName("pw") + @ObfuscatedGetter( + intValue = 253399583 + ) + @Export("publicChatMode") + static int publicChatMode; + @ObfuscatedName("qj") + @ObfuscatedGetter( + intValue = -1492029485 + ) + @Export("soundEffectVolume") + static int soundEffectVolume; + @ObfuscatedName("ro") + @ObfuscatedGetter( + intValue = -1929841361 + ) + @Export("viewportHeight") + static int viewportHeight; + @ObfuscatedName("rc") + @ObfuscatedGetter( + intValue = -1154982749 + ) + @Export("viewportOffsetX") + static int viewportOffsetX; + @ObfuscatedName("nz") + @Export("changedSkills") + static int[] changedSkills; + @ObfuscatedName("rb") + @ObfuscatedGetter( + intValue = -654475437 + ) + @Export("viewportOffsetY") + static int viewportOffsetY; + @ObfuscatedName("nd") + @ObfuscatedGetter( + intValue = -15935377 + ) + @Export("changedSkillsCount") + static int changedSkillsCount; + @ObfuscatedName("rp") + @Export("zoomWidth") + static short zoomWidth; + @ObfuscatedName("ma") + @ObfuscatedGetter( + intValue = 42533643 + ) + @Export("chatEffects") + static int chatEffects; + @ObfuscatedName("rg") + @Export("zoomHeight") + static short zoomHeight; + @ObfuscatedName("mr") + @ObfuscatedGetter( + intValue = -382576035 + ) + static int field873; + @ObfuscatedName("sr") + @ObfuscatedGetter( + intValue = -1773628049 + ) + static int field908; + @ObfuscatedName("pf") + @ObfuscatedGetter( + intValue = -1367796571 + ) + static int field857; + @ObfuscatedName("mq") + @ObfuscatedGetter( + intValue = 494577071 + ) + @Export("followerIndex") + static int followerIndex; + @ObfuscatedName("mt") + @Export("playerMod") + static boolean playerMod; + @ObfuscatedName("pm") + static int[] field859; + @ObfuscatedName("po") + static int[] field858; + @ObfuscatedName("os") + @ObfuscatedSignature( + signature = "Ljv;" + ) + static NodeDeque field836; + @ObfuscatedName("ob") + @ObfuscatedSignature( + signature = "Ljv;" + ) + static NodeDeque field763; + @ObfuscatedName("mc") + @ObfuscatedGetter( + intValue = -1507863629 + ) + static int field798; + @ObfuscatedName("mz") + @ObfuscatedGetter( + intValue = -1296819247 + ) + static int field824; + @ObfuscatedName("ph") + static int[] field851; + @ObfuscatedName("pd") + static String field907; + @ObfuscatedName("sx") + @ObfuscatedSignature( + signature = "Lbb;" + ) + @Export("GrandExchangeEvents_worldComparator") + static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "[Lfa;" + ) + @Export("collisionMaps") + static CollisionMap[] collisionMaps; + @ObfuscatedName("at") + static boolean field802; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = 1846758827 + ) + @Export("worldId") + public static int worldId; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = -1282298749 + ) + @Export("worldProperties") + static int worldProperties; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = -744372313 + ) + @Export("gameBuild") + static int gameBuild; + @ObfuscatedName("bs") + @Export("isMembersWorld") + public static boolean isMembersWorld; + @ObfuscatedName("bz") + @Export("isLowDetail") + static boolean isLowDetail; + @ObfuscatedName("be") + @ObfuscatedGetter( + intValue = -1434422805 + ) + @Export("clientType") + static int clientType; + @ObfuscatedName("bu") + @Export("onMobile") + static boolean onMobile; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = -1513198459 + ) + @Export("gameState") + static int gameState; + @ObfuscatedName("cn") + @Export("isLoading") + static boolean isLoading; + @ObfuscatedName("cd") + @ObfuscatedGetter( + intValue = 1080568465 + ) + @Export("cycle") + static int cycle; + @ObfuscatedName("cy") + @ObfuscatedGetter( + longValue = -5290188514648997903L + ) + @Export("mouseLastLastPressedTimeMillis") + static long mouseLastLastPressedTimeMillis; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = -445977517 + ) + static int field646; + @ObfuscatedName("cr") + @ObfuscatedGetter( + intValue = -624148243 + ) + static int field647; + @ObfuscatedName("ct") + @ObfuscatedGetter( + longValue = -8037513059658187963L + ) + static long field648; + @ObfuscatedName("ci") + @Export("hadFocus") + static boolean hadFocus; + @ObfuscatedName("cu") + @Export("displayFps") + static boolean displayFps; + @ObfuscatedName("ce") + @ObfuscatedGetter( + intValue = -1130052375 + ) + @Export("rebootTimer") + static int rebootTimer; + @ObfuscatedName("cc") + @ObfuscatedGetter( + intValue = 2049608033 + ) + @Export("hintArrowType") + static int hintArrowType; + @ObfuscatedName("cl") + @ObfuscatedGetter( + intValue = 648504057 + ) + @Export("hintArrowNpcIndex") + static int hintArrowNpcIndex; + @ObfuscatedName("cw") + @ObfuscatedGetter( + intValue = 275182897 + ) + @Export("hintArrowPlayerIndex") + static int hintArrowPlayerIndex; + @ObfuscatedName("cq") + @ObfuscatedGetter( + intValue = 1932039353 + ) + @Export("hintArrowX") + static int hintArrowX; + @ObfuscatedName("ca") + @ObfuscatedGetter( + intValue = -204101851 + ) + @Export("hintArrowY") + static int hintArrowY; + @ObfuscatedName("cf") + @ObfuscatedGetter( + intValue = 1548574994 + ) + @Export("hintArrowHeight") + static int hintArrowHeight; + @ObfuscatedName("cx") + @ObfuscatedGetter( + intValue = -759871936 + ) + @Export("hintArrowSubX") + static int hintArrowSubX; + @ObfuscatedName("cm") + @ObfuscatedGetter( + intValue = 99349824 + ) + @Export("hintArrowSubY") + static int hintArrowSubY; + @ObfuscatedName("ch") + @ObfuscatedSignature( + signature = "Lcn;" + ) + @Export("playerAttackOption") + static AttackOption playerAttackOption; + @ObfuscatedName("dt") + @ObfuscatedSignature( + signature = "Lcn;" + ) + @Export("npcAttackOption") + static AttackOption npcAttackOption; + @ObfuscatedName("dm") + @ObfuscatedGetter( + intValue = 963568873 + ) + @Export("titleLoadingStage") + static int titleLoadingStage; + @ObfuscatedName("dy") + @ObfuscatedGetter( + intValue = 584801883 + ) + @Export("js5ConnectState") + static int js5ConnectState; + @ObfuscatedName("de") + @ObfuscatedGetter( + intValue = -900928897 + ) + static int field664; + @ObfuscatedName("dd") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive10") + static Archive archive10; + @ObfuscatedName("ef") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive17") + static Archive archive17; + @ObfuscatedName("ew") + @ObfuscatedGetter( + intValue = 982456973 + ) + @Export("js5Errors") + static int js5Errors; + @ObfuscatedName("eq") + @ObfuscatedGetter( + intValue = -14383853 + ) + @Export("loginState") + static int loginState; + @ObfuscatedName("er") + @ObfuscatedGetter( + intValue = -1286153331 + ) + static int field669; + @ObfuscatedName("eo") + @ObfuscatedGetter( + intValue = 1787272407 + ) + static int field670; + @ObfuscatedName("ee") + @ObfuscatedGetter( + intValue = 460753713 + ) + static int field671; + @ObfuscatedName("ep") + @ObfuscatedSignature( + signature = "Lff;" + ) + static class160 field672; + @ObfuscatedName("ev") + @Export("Login_isUsernameRemembered") + static boolean Login_isUsernameRemembered; + @ObfuscatedName("ez") + @ObfuscatedSignature( + signature = "Lcb;" + ) + @Export("secureRandomFuture") + static SecureRandomFuture secureRandomFuture; + @ObfuscatedName("ed") + @Export("randomDatData") + static byte[] randomDatData; + @ObfuscatedName("et") + @ObfuscatedSignature( + signature = "[Lck;" + ) + @Export("npcs") + static NPC[] npcs; + @ObfuscatedName("eb") + @ObfuscatedGetter( + intValue = -347893507 + ) + @Export("npcCount") + static int npcCount; + @ObfuscatedName("fb") + @Export("npcIndices") + static int[] npcIndices; + @ObfuscatedName("fe") + @ObfuscatedGetter( + intValue = -1928648709 + ) + static int field633; + @ObfuscatedName("fd") + static int[] field681; + @ObfuscatedName("fo") + @ObfuscatedSignature( + signature = "Lcl;" + ) + @Export("packetWriter") + public static final PacketWriter packetWriter; + @ObfuscatedName("fq") + @ObfuscatedGetter( + intValue = -1810258911 + ) + @Export("logoutTimer") + static int logoutTimer; + @ObfuscatedName("fc") + static boolean field730; + @ObfuscatedName("fv") + @Export("useBufferedSocket") + static boolean useBufferedSocket; + @ObfuscatedName("fm") + @ObfuscatedSignature( + signature = "Ljd;" + ) + @Export("timer") + static Timer timer; + @ObfuscatedName("fh") + @ObfuscatedSignature( + signature = "Len;" + ) + @Export("urlRequester") + static UrlRequester urlRequester; + @ObfuscatedName("fa") + @Export("fontsMap") + static HashMap fontsMap; + @ObfuscatedName("fj") + @ObfuscatedGetter( + intValue = 543460729 + ) + static int field689; + @ObfuscatedName("fx") + @ObfuscatedGetter( + intValue = -1697289513 + ) + static int field690; + @ObfuscatedName("fp") + @ObfuscatedGetter( + intValue = -355199335 + ) + static int field691; + @ObfuscatedName("gv") + @ObfuscatedGetter( + intValue = 1416543095 + ) + static int field692; + @ObfuscatedName("gy") + @ObfuscatedGetter( + intValue = 1539626603 + ) + static int field693; + @ObfuscatedName("gl") + @Export("isInInstance") + static boolean isInInstance; + @ObfuscatedName("gs") + @Export("instanceChunkTemplates") + static int[][][] instanceChunkTemplates; + @ObfuscatedName("gm") + static final int[] field697; + @ObfuscatedName("gf") + @ObfuscatedGetter( + intValue = -2045474947 + ) + static int field698; + @ObfuscatedName("hh") + @ObfuscatedGetter( + intValue = -1078673109 + ) + static int field699; + @ObfuscatedName("ht") + @ObfuscatedGetter( + intValue = 1330821821 + ) + static int field700; + @ObfuscatedName("hk") + @ObfuscatedGetter( + intValue = -1693078415 + ) + static int field701; + @ObfuscatedName("hz") + @ObfuscatedGetter( + intValue = -572241931 + ) + static int field702; + @ObfuscatedName("hl") + static boolean field703; + @ObfuscatedName("hb") + @ObfuscatedGetter( + intValue = -1280891227 + ) + @Export("alternativeScrollbarWidth") + static int alternativeScrollbarWidth; + @ObfuscatedName("hm") + @ObfuscatedGetter( + intValue = -851788043 + ) + @Export("camAngleX") + static int camAngleX; + @ObfuscatedName("hu") + @ObfuscatedGetter( + intValue = 1157777555 + ) + @Export("camAngleY") + static int camAngleY; + @ObfuscatedName("hi") + @ObfuscatedGetter( + intValue = 56611529 + ) + @Export("camAngleDY") + static int camAngleDY; + @ObfuscatedName("hx") + @ObfuscatedGetter( + intValue = 594555395 + ) + @Export("camAngleDX") + static int camAngleDX; + @ObfuscatedName("hf") + @ObfuscatedGetter( + intValue = 1391902969 + ) + @Export("mouseCamClickedX") + static int mouseCamClickedX; + @ObfuscatedName("hd") + @ObfuscatedGetter( + intValue = -148858111 + ) + @Export("mouseCamClickedY") + static int mouseCamClickedY; + @ObfuscatedName("hw") + @ObfuscatedGetter( + intValue = 1963305499 + ) + @Export("oculusOrbState") + static int oculusOrbState; + @ObfuscatedName("hj") + @Export("camFollowHeight") + static int camFollowHeight; + @ObfuscatedName("hc") + @ObfuscatedGetter( + intValue = -1192657817 + ) + static int field766; + @ObfuscatedName("hp") + @ObfuscatedGetter( + intValue = -1637520021 + ) + static int field714; + @ObfuscatedName("ih") + @ObfuscatedGetter( + intValue = -1473797019 + ) + static int field715; + @ObfuscatedName("io") + @ObfuscatedGetter( + intValue = -925368297 + ) + @Export("oculusOrbNormalSpeed") + static int oculusOrbNormalSpeed; + @ObfuscatedName("ib") + @ObfuscatedGetter( + intValue = -1611804213 + ) + @Export("oculusOrbSlowedSpeed") + static int oculusOrbSlowedSpeed; + @ObfuscatedName("im") + @ObfuscatedGetter( + intValue = -1513473005 + ) + static int field718; + @ObfuscatedName("ig") + static boolean field879; + @ObfuscatedName("iq") + @ObfuscatedGetter( + intValue = 773031175 + ) + static int field720; + @ObfuscatedName("ij") + static boolean field721; + @ObfuscatedName("is") + @ObfuscatedGetter( + intValue = 130801757 + ) + static int field722; + @ObfuscatedName("ik") + @ObfuscatedGetter( + intValue = -1967946355 + ) + @Export("overheadTextCount") + static int overheadTextCount; + @ObfuscatedName("iu") + @ObfuscatedGetter( + intValue = 2101736993 + ) + @Export("overheadTextLimit") + static int overheadTextLimit; + @ObfuscatedName("iy") + @Export("overheadTextXs") + static int[] overheadTextXs; + @ObfuscatedName("ip") + @Export("overheadTextYs") + static int[] overheadTextYs; + @ObfuscatedName("iw") + @Export("overheadTextAscents") + static int[] overheadTextAscents; + @ObfuscatedName("id") + @Export("overheadTextXOffsets") + static int[] overheadTextXOffsets; + @ObfuscatedName("if") + @Export("overheadTextColors") + static int[] overheadTextColors; + @ObfuscatedName("ir") + @Export("overheadTextEffects") + static int[] overheadTextEffects; + @ObfuscatedName("ia") + @Export("overheadTextCyclesRemaining") + static int[] overheadTextCyclesRemaining; + @ObfuscatedName("iv") + @Export("overheadText") + static String[] overheadText; + @ObfuscatedName("it") + @Export("selectedItemName") + static String selectedItemName; + @ObfuscatedName("in") + @Export("tileLastDrawnActor") + static int[][] tileLastDrawnActor; + @ObfuscatedName("il") + @ObfuscatedGetter( + intValue = -1976595977 + ) + @Export("viewportDrawCount") + static int viewportDrawCount; + @ObfuscatedName("ii") + @ObfuscatedGetter( + intValue = -1627292871 + ) + @Export("viewportTempX") + static int viewportTempX; + @ObfuscatedName("ic") + @ObfuscatedGetter( + intValue = -527920877 + ) + @Export("viewportTempY") + static int viewportTempY; + @ObfuscatedName("js") + @ObfuscatedGetter( + intValue = 978670267 + ) + @Export("mouseCrossX") + static int mouseCrossX; + @ObfuscatedName("jv") + @ObfuscatedGetter( + intValue = -1556961545 + ) + @Export("mouseCrossY") + static int mouseCrossY; + @ObfuscatedName("je") + @ObfuscatedGetter( + intValue = 1573914060 + ) + @Export("mouseCrossState") + static int mouseCrossState; + @ObfuscatedName("jt") + @ObfuscatedGetter( + intValue = -588599615 + ) + @Export("mouseCrossColor") + static int mouseCrossColor; + @ObfuscatedName("jx") + @Export("showMouseCross") + static boolean showMouseCross; + @ObfuscatedName("jf") + @ObfuscatedGetter( + intValue = 2052271037 + ) + static int field750; + @ObfuscatedName("jc") + @ObfuscatedGetter( + intValue = 2007699929 + ) + static int field743; + @ObfuscatedName("jp") + @ObfuscatedGetter( + intValue = -1979890787 + ) + @Export("dragItemSlotSource") + static int dragItemSlotSource; + @ObfuscatedName("jd") + @ObfuscatedGetter( + intValue = -438601773 + ) + static int field745; + @ObfuscatedName("jo") + @ObfuscatedGetter( + intValue = -1643414129 + ) + static int field746; + @ObfuscatedName("jh") + @ObfuscatedGetter( + intValue = 1036462411 + ) + @Export("dragItemSlotDestination") + static int dragItemSlotDestination; + @ObfuscatedName("jr") + static boolean field748; + @ObfuscatedName("jw") + @ObfuscatedGetter( + intValue = -1965230699 + ) + @Export("itemDragDuration") + static int itemDragDuration; + @ObfuscatedName("jb") + @ObfuscatedGetter( + intValue = 1577400495 + ) + static int field634; + @ObfuscatedName("jl") + @Export("showLoadingMessages") + static boolean showLoadingMessages; + @ObfuscatedName("jm") + @ObfuscatedSignature( + signature = "[Lbi;" + ) + @Export("players") + static Player[] players; + @ObfuscatedName("jq") + @ObfuscatedGetter( + intValue = 87159269 + ) + @Export("localPlayerIndex") + static int localPlayerIndex; + @ObfuscatedName("jy") + @ObfuscatedGetter( + intValue = 1781220751 + ) + static int field636; + @ObfuscatedName("jj") + @Export("renderSelf") + static boolean renderSelf; + @ObfuscatedName("ki") + @ObfuscatedGetter( + intValue = -2014818077 + ) + @Export("drawPlayerNames") + static int drawPlayerNames; + @ObfuscatedName("ko") + @ObfuscatedGetter( + intValue = 729085131 + ) + static int field640; + @ObfuscatedName("kr") + static int[] field758; + @ObfuscatedName("kn") + @Export("playerMenuOpcodes") + static final int[] playerMenuOpcodes; + @ObfuscatedName("kh") + @Export("playerMenuActions") + static String[] playerMenuActions; + @ObfuscatedName("kb") + @Export("playerOptionsPriorities") + static boolean[] playerOptionsPriorities; + @ObfuscatedName("kz") + @Export("defaultRotations") + static int[] defaultRotations; + @ObfuscatedName("kf") + @ObfuscatedGetter( + intValue = 722101389 + ) + @Export("combatTargetPlayerIndex") + static int combatTargetPlayerIndex; + @ObfuscatedName("kl") + @ObfuscatedSignature( + signature = "[[[Ljv;" + ) + @Export("groundItems") + static NodeDeque[][][] groundItems; + @ObfuscatedName("ka") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("pendingSpawns") + static NodeDeque pendingSpawns; + @ObfuscatedName("kt") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("projectiles") + static NodeDeque projectiles; + @ObfuscatedName("kj") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("graphicsObjects") + static NodeDeque graphicsObjects; + @ObfuscatedName("km") + @Export("currentLevels") + static int[] currentLevels; + @ObfuscatedName("ky") + @Export("levels") + static int[] levels; + @ObfuscatedName("kd") + @Export("experience") + static int[] experience; + @ObfuscatedName("kv") + @ObfuscatedGetter( + intValue = 421096745 + ) + @Export("leftClickOpensMenu") + static int leftClickOpensMenu; + @ObfuscatedName("kg") + @Export("isMenuOpen") + static boolean isMenuOpen; + @ObfuscatedName("lw") + @ObfuscatedGetter( + intValue = 813297127 + ) + @Export("menuOptionsCount") + static int menuOptionsCount; + @ObfuscatedName("ld") + @Export("menuArguments1") + static int[] menuArguments1; + @ObfuscatedName("lb") + @Export("menuArguments2") + static int[] menuArguments2; + @ObfuscatedName("ls") + @Export("menuOpcodes") + static int[] menuOpcodes; + @ObfuscatedName("lq") + @Export("menuIdentifiers") + static int[] menuIdentifiers; + @ObfuscatedName("ll") + @Export("menuActions") + static String[] menuActions; + @ObfuscatedName("ln") + @Export("menuTargets") + static String[] menuTargets; + @ObfuscatedName("lx") + @Export("menuShiftClick") + static boolean[] menuShiftClick; + @ObfuscatedName("lm") + @Export("followerOpsLowPriority") + static boolean followerOpsLowPriority; + @ObfuscatedName("lp") + @Export("shiftClickDrop") + static boolean shiftClickDrop; + @ObfuscatedName("lf") + @Export("tapToDrop") + static boolean tapToDrop; + @ObfuscatedName("lo") + @Export("showMouseOverText") + static boolean showMouseOverText; + @ObfuscatedName("lh") + @ObfuscatedGetter( + intValue = -1819095265 + ) + @Export("viewportX") + static int viewportX; + @ObfuscatedName("lg") + @ObfuscatedGetter( + intValue = -546279315 + ) + @Export("viewportY") + static int viewportY; + @ObfuscatedName("lj") + @ObfuscatedGetter( + intValue = 509497683 + ) + static int field787; + @ObfuscatedName("la") + @ObfuscatedGetter( + intValue = 1721267483 + ) + static int field788; + @ObfuscatedName("lr") + @ObfuscatedGetter( + intValue = 241697491 + ) + @Export("isItemSelected") + static int isItemSelected; + @ObfuscatedName("lz") + @Export("isSpellSelected") + static boolean isSpellSelected; + @ObfuscatedName("li") + @ObfuscatedGetter( + intValue = -133249451 + ) + @Export("selectedSpellChildIndex") + static int selectedSpellChildIndex; + @ObfuscatedName("mp") + @ObfuscatedGetter( + intValue = -1549196691 + ) + static int field793; + @ObfuscatedName("mf") + @Export("selectedSpellActionName") + static String selectedSpellActionName; + @ObfuscatedName("mm") + @Export("selectedSpellName") + static String selectedSpellName; + @ObfuscatedName("mh") + @ObfuscatedGetter( + intValue = 1431344687 + ) + @Export("rootInterface") + static int rootInterface; + + static { + field802 = true; + worldId = 1; + worldProperties = 0; + gameBuild = 0; + isMembersWorld = false; + isLowDetail = false; + clientType = -1; + onMobile = false; + gameState = 0; + isLoading = true; + cycle = 0; + mouseLastLastPressedTimeMillis = -1L; + field646 = -1; + field647 = -1; + field648 = -1L; + hadFocus = true; + displayFps = false; + rebootTimer = 0; + hintArrowType = 0; + hintArrowNpcIndex = 0; + hintArrowPlayerIndex = 0; + hintArrowX = 0; + hintArrowY = 0; + hintArrowHeight = 0; + hintArrowSubX = 0; + hintArrowSubY = 0; + playerAttackOption = AttackOption.AttackOption_hidden; + npcAttackOption = AttackOption.AttackOption_hidden; + titleLoadingStage = 0; + js5ConnectState = 0; + field664 = 0; + js5Errors = 0; + loginState = 0; + field669 = 0; + field670 = 0; + field671 = 0; + field672 = class160.field1985; + Login_isUsernameRemembered = false; + secureRandomFuture = new SecureRandomFuture(); + randomDatData = null; + npcs = new NPC[32768]; + npcCount = 0; + npcIndices = new int[32768]; + field633 = 0; + field681 = new int[250]; + packetWriter = new PacketWriter(); + logoutTimer = 0; + field730 = false; + useBufferedSocket = true; + timer = new Timer(); + fontsMap = new HashMap(); + field689 = 0; + field690 = 1; + field691 = 0; + field692 = 1; + field693 = 0; + collisionMaps = new CollisionMap[4]; + isInInstance = false; + instanceChunkTemplates = new int[4][13][13]; + field697 = new int[]{0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3}; + field698 = 0; + field699 = 2301979; + field700 = 5063219; + field701 = 3353893; + field702 = 7759444; + field703 = false; + alternativeScrollbarWidth = 0; + camAngleX = 128; + camAngleY = 0; + camAngleDY = 0; + camAngleDX = 0; + mouseCamClickedX = 0; + mouseCamClickedY = 0; + oculusOrbState = 0; + camFollowHeight = 289544614; + field766 = 0; + field714 = 0; + field715 = 0; + oculusOrbNormalSpeed = 12; + oculusOrbSlowedSpeed = 6; + field718 = 0; + field879 = false; + field720 = 0; + field721 = false; + field722 = 0; + overheadTextCount = 0; + overheadTextLimit = 50; + overheadTextXs = new int[overheadTextLimit]; + overheadTextYs = new int[overheadTextLimit]; + overheadTextAscents = new int[overheadTextLimit]; + overheadTextXOffsets = new int[overheadTextLimit]; + overheadTextColors = new int[overheadTextLimit]; + overheadTextEffects = new int[overheadTextLimit]; + overheadTextCyclesRemaining = new int[overheadTextLimit]; + overheadText = new String[overheadTextLimit]; + tileLastDrawnActor = new int[104][104]; + viewportDrawCount = 0; + viewportTempX = -1; + viewportTempY = -1; + mouseCrossX = 0; + mouseCrossY = 0; + mouseCrossState = 0; + mouseCrossColor = 0; + showMouseCross = true; + field750 = 0; + field743 = 0; + dragItemSlotSource = 0; + field745 = 0; + field746 = 0; + dragItemSlotDestination = 0; + field748 = false; + itemDragDuration = 0; + field634 = 0; + showLoadingMessages = true; + players = new Player[2048]; + localPlayerIndex = -1; + field636 = 0; + renderSelf = true; + drawPlayerNames = 0; + field640 = 0; + field758 = new int[1000]; + playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; + playerMenuActions = new String[8]; + playerOptionsPriorities = new boolean[8]; + defaultRotations = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792}; + combatTargetPlayerIndex = -1; + groundItems = new NodeDeque[4][104][104]; + pendingSpawns = new NodeDeque(); + projectiles = new NodeDeque(); + graphicsObjects = new NodeDeque(); + currentLevels = new int[25]; + levels = new int[25]; + experience = new int[25]; + leftClickOpensMenu = 0; + isMenuOpen = false; + menuOptionsCount = 0; + menuArguments1 = new int[500]; + menuArguments2 = new int[500]; + menuOpcodes = new int[500]; + menuIdentifiers = new int[500]; + menuActions = new String[500]; + menuTargets = new String[500]; + menuShiftClick = new boolean[500]; + followerOpsLowPriority = false; + shiftClickDrop = false; + tapToDrop = false; + showMouseOverText = true; + viewportX = -1; + viewportY = -1; + field787 = 0; + field788 = 50; + isItemSelected = 0; + selectedItemName = null; + isSpellSelected = false; + selectedSpellChildIndex = -1; + field793 = -1; + selectedSpellActionName = null; + selectedSpellName = null; + rootInterface = -1; + interfaceParents = new NodeHashTable(8); + field798 = 0; + field824 = -1; + chatEffects = 0; + field873 = 0; + meslayerContinueWidget = null; + runEnergy = 0; + weight = 0; + staffModLevel = 0; + followerIndex = -1; + playerMod = false; + viewportWidget = null; + clickedWidget = null; + clickedWidgetParent = null; + widgetClickX = 0; + widgetClickY = 0; + draggedOnWidget = null; + field814 = false; + field695 = -1; + field816 = -1; + field817 = false; + field818 = -1; + field819 = -1; + isDraggingWidget = false; + cycleCntr = 1; + field782 = new int[32]; + field823 = 0; + field820 = new int[32]; + field825 = 0; + changedSkills = new int[32]; + changedSkillsCount = 0; + chatCycle = 0; + field744 = 0; + field830 = 0; + field831 = 0; + field832 = 0; + field833 = 0; + mouseWheelRotation = 0; + scriptEvents = new NodeDeque(); + field836 = new NodeDeque(); + field763 = new NodeDeque(); + widgetClickMasks = new NodeHashTable(512); + rootWidgetCount = 0; + field638 = -2; + field841 = new boolean[100]; + field842 = new boolean[100]; + field847 = new boolean[100]; + rootWidgetXs = new int[100]; + rootWidgetYs = new int[100]; + rootWidgetWidths = new int[100]; + rootWidgetHeights = new int[100]; + gameDrawingMode = 0; + field754 = 0L; + isResizable = true; + field851 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; + publicChatMode = 0; + tradeChatMode = 0; + field907 = ""; + field889 = new long[100]; + field856 = 0; + field857 = 0; + field858 = new int[128]; + field859 = new int[128]; + field860 = -1L; + field643 = -1; + mapIconCount = 0; + mapIconXs = new int[1000]; + mapIconYs = new int[1000]; + mapIcons = new Sprite[1000]; + destinationX = 0; + destinationY = 0; + minimapState = 0; + field761 = 255; + field666 = -1; + field759 = false; + soundEffectVolume = 127; + field868 = 127; + soundEffectCount = 0; + soundEffectIds = new int[50]; + queuedSoundEffectLoops = new int[50]; + queuedSoundEffectDelays = new int[50]; + soundLocations = new int[50]; + soundEffects = new SoundEffect[50]; + isCameraLocked = false; + field835 = new boolean[5]; + field882 = new int[5]; + field883 = new int[5]; + field884 = new int[5]; + field885 = new int[5]; + field880 = 256; + field887 = 205; + zoomHeight = 256; + zoomWidth = 320; + field686 = 1; + field891 = 32767; + field892 = 1; + field893 = 32767; + viewportOffsetX = 0; + viewportOffsetY = 0; + viewportWidth = 0; + viewportHeight = 0; + viewportZoom = 0; + playerAppearance = new PlayerAppearance(); + field900 = -1; + field901 = -1; + platformInfoProvider = new DesktopPlatformInfoProvider(); + grandExchangeOffers = new GrandExchangeOffer[8]; + GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator(); + field905 = -1; + archiveLoaders = new ArrayList(10); + archiveLoaderArchive = 0; + field908 = 0; + field909 = new class65(); + field910 = new int[50]; + field911 = new int[50]; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2027797509" + ) + @Export("resizeGame") + protected final void resizeGame() { + field754 = class30.method566() + 500L; + this.resizeJS(); + if (rootInterface != -1) { + this.resizeRoot(true); + } + + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "16" + ) + @Export("setUp") + protected final void setUp() { + int[] var1 = new int[]{20, 260, 10000}; + int[] var2 = new int[]{1000, 100, 500}; + if (var1 != null && var2 != null) { + ByteArrayPool.ByteArrayPool_alternativeSizes = var1; + ByteArrayPool.ByteArrayPool_altSizeArrayCounts = new int[var1.length]; + class81.ByteArrayPool_arrays = new byte[var1.length][][]; + + for (int var5 = 0; var5 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var5) { + class81.ByteArrayPool_arrays[var5] = new byte[var2[var5]][]; + } + } else { + ByteArrayPool.ByteArrayPool_alternativeSizes = null; + ByteArrayPool.ByteArrayPool_altSizeArrayCounts = null; + class81.ByteArrayPool_arrays = null; + } + + HitSplatDefinition.port1 = gameBuild == 0 ? 43594 : worldId + 40000; + BZip2State.port2 = gameBuild == 0 ? 443 : worldId + 50000; + NPC.port3 = HitSplatDefinition.port1; + HorizontalAlignment.field3447 = class215.field2531; + PlayerAppearance.field2519 = class215.field2530; + PlayerAppearance.field2525 = class215.field2532; + DevicePcmPlayerProvider.field390 = class215.field2529; + urlRequester = new UrlRequester(); + this.setUpKeyboard(); + this.setUpMouse(); + KeyHandler.mouseWheel = this.mouseWheel(); + WorldMapData_0.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000); + AbstractArchive.clientPreferences = ItemDefinition.method4655(); + this.setUpClipboard(); + String var4 = WorldMapManager.null_string; + class51.applet = this; + if (var4 != null) { + class51.field406 = var4; + } + + if (gameBuild != 0) { + displayFps = true; + } + + UserComparator8.setWindowedMode(AbstractArchive.clientPreferences.windowMode); + Tiles.friendSystem = new FriendSystem(WorldMapSection1.loginType); + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-60" + ) + @Export("doCycle") + protected final void doCycle() { + ++cycle; + this.doCycleJs5(); + + while (true) { + ArchiveDiskAction var1; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + var1 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast(); + } + + if (var1 == null) { + int var5; + try { + if (class197.field2386 == 1) { + var5 = class49.midiPcmStream.method3736(); + if (var5 > 0 && class49.midiPcmStream.isReady()) { + var5 -= MusicPatchNode2.field2382; + if (var5 < 0) { + var5 = 0; + } + + class49.midiPcmStream.method3751(var5); + } else { + class49.midiPcmStream.clear(); + class49.midiPcmStream.removeAll(); + if (class197.musicTrackArchive != null) { + class197.field2386 = 2; + } else { + class197.field2386 = 0; + } + + class197.musicTrack = null; + FriendLoginUpdate.soundCache = null; + } + } + } catch (Exception var9) { + var9.printStackTrace(); + class49.midiPcmStream.clear(); + class197.field2386 = 0; + class197.musicTrack = null; + FriendLoginUpdate.soundCache = null; + class197.musicTrackArchive = null; + } + + WorldMapID.playPcmPlayers(); + synchronized(KeyHandler.KeyHandler_instance) { + ++KeyHandler.KeyHandler_idleCycles; + KeyHandler.field378 = KeyHandler.field380; + KeyHandler.field361 = 0; + int var6; + if (KeyHandler.field373 >= 0) { + while (KeyHandler.field373 != KeyHandler.field372) { + var6 = KeyHandler.field365[KeyHandler.field372]; + KeyHandler.field372 = KeyHandler.field372 + 1 & 127; + if (var6 < 0) { + KeyHandler.KeyHandler_pressedKeys[~var6] = false; + } else { + if (!KeyHandler.KeyHandler_pressedKeys[var6] && KeyHandler.field361 < KeyHandler.field376.length - 1) { + KeyHandler.field376[++KeyHandler.field361 - 1] = var6; + } + + KeyHandler.KeyHandler_pressedKeys[var6] = true; + } + } + } else { + for (var6 = 0; var6 < 112; ++var6) { + KeyHandler.KeyHandler_pressedKeys[var6] = false; + } + + KeyHandler.field373 = KeyHandler.field372; + } + + if (KeyHandler.field361 > 0) { + KeyHandler.KeyHandler_idleCycles = 0; + } + + KeyHandler.field380 = KeyHandler.field371; + } + + VertexNormal.method2955(); + if (KeyHandler.mouseWheel != null) { + var5 = KeyHandler.mouseWheel.useRotation(); + mouseWheelRotation = var5; + } + + if (gameState == 0) { + class189.load(); + WorldMapDecoration.method343(); + } else if (gameState == 5) { + LoginPacket.method3581(this); + class189.load(); + WorldMapDecoration.method343(); + } else if (gameState != 10 && gameState != 11) { + if (gameState == 20) { + LoginPacket.method3581(this); + this.doCycleLoggedOut(); + } else if (gameState == 25) { + KeyHandler.method851(); + } + } else { + LoginPacket.method3581(this); + } + + if (gameState == 30) { + this.doCycleLoggedIn(); + } else if (gameState == 40 || gameState == 45) { + this.doCycleLoggedOut(); + } + + return; + } + + var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false); + } + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-1679134607" + ) + @Export("draw") + protected final void draw(boolean var1) { + boolean var2; + label168: { + try { + if (class197.field2386 == 2) { + if (class197.musicTrack == null) { + class197.musicTrack = MusicTrack.readTrack(class197.musicTrackArchive, class188.musicTrackGroupId, class49.musicTrackFileId); + if (class197.musicTrack == null) { + var2 = false; + break label168; + } + } + + if (FriendLoginUpdate.soundCache == null) { + FriendLoginUpdate.soundCache = new SoundCache(class197.soundEffectsArchive, SecureRandomCallable.musicSamplesArchive); + } + + if (class49.midiPcmStream.loadMusicTrack(class197.musicTrack, class197.musicPatchesArchive, FriendLoginUpdate.soundCache, 22050)) { + class49.midiPcmStream.clearAll(); + class49.midiPcmStream.method3751(TileItem.field1223); + class49.midiPcmStream.setMusicTrack(class197.musicTrack, WorldMapSectionType.musicTrackBoolean); + class197.field2386 = 0; + class197.musicTrack = null; + FriendLoginUpdate.soundCache = null; + class197.musicTrackArchive = null; + var2 = true; + break label168; + } + } + } catch (Exception var6) { + var6.printStackTrace(); + class49.midiPcmStream.clear(); + class197.field2386 = 0; + class197.musicTrack = null; + FriendLoginUpdate.soundCache = null; + class197.musicTrackArchive = null; + } + + var2 = false; + } + + if (var2 && field759 && class219.pcmPlayer0 != null) { + class219.pcmPlayer0.tryDiscard(); + } + + if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field754 && class30.method566() > field754) { + UserComparator8.setWindowedMode(class247.getWindowedMode()); + } + + int var4; + if (var1) { + for (var4 = 0; var4 < 100; ++var4) { + field841[var4] = true; + } + } + + if (gameState == 0) { + this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); + } else if (gameState == 5) { + VarbitDefinition.drawTitle(class173.fontBold12, GrandExchangeOfferOwnWorldComparator.fontPlain11, GraphicsDefaults.fontPlain12); + } else if (gameState != 10 && gameState != 11) { + if (gameState == 20) { + VarbitDefinition.drawTitle(class173.fontBold12, GrandExchangeOfferOwnWorldComparator.fontPlain11, GraphicsDefaults.fontPlain12); + } else if (gameState == 25) { + if (field693 == 1) { + if (field689 > field690) { + field690 = field689; + } + + var4 = (field690 * 50 - field689 * 50) / field690; + WorldMapSprite.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); + } else if (field693 == 2) { + if (field691 > field692) { + field692 = field691; + } + + var4 = (field692 * 50 - field691 * 50) / field692 + 50; + WorldMapSprite.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); + } else { + WorldMapSprite.drawLoadingMessage("Loading - please wait.", false); + } + } else if (gameState == 30) { + this.drawLoggedIn(); + } else if (gameState == 40) { + WorldMapSprite.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false); + } else if (gameState == 45) { + WorldMapSprite.drawLoadingMessage("Please wait...", false); + } + } else { + VarbitDefinition.drawTitle(class173.fontBold12, GrandExchangeOfferOwnWorldComparator.fontPlain11, GraphicsDefaults.fontPlain12); + } + + if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { + for (var4 = 0; var4 < rootWidgetCount; ++var4) { + if (field842[var4]) { + class42.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]); + field842[var4] = false; + } + } + } else if (gameState > 0) { + class42.rasterProvider.drawFull(0, 0); + + for (var4 = 0; var4 < rootWidgetCount; ++var4) { + field842[var4] = false; + } + } + + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "87" + ) + @Export("kill0") + protected final void kill0() { + if (class197.varcs.hasUnwrittenChanges()) { + class197.varcs.write(); + } + + if (WorldMapLabel.mouseRecorder != null) { + WorldMapLabel.mouseRecorder.isRunning = false; + } + + WorldMapLabel.mouseRecorder = null; + packetWriter.close(); + class191.method3631(); + method1565(); + KeyHandler.mouseWheel = null; + if (class219.pcmPlayer0 != null) { + class219.pcmPlayer0.shutdown(); + } + + if (GrandExchangeOfferWorldComparator.pcmPlayer1 != null) { + GrandExchangeOfferWorldComparator.pcmPlayer1.shutdown(); + } + + class80.method2053(); + UrlRequest.method3265(); + if (urlRequester != null) { + urlRequester.close(); + urlRequester = null; + } + + Occluder.method3248(); + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2052837160" + ) + protected final void vmethod1307() { + } + + public final void init() { + try { + if (this.checkHost()) { + for (int var1 = 0; var1 <= 19; ++var1) { + String var2 = this.getParameter(Integer.toString(var1)); + if (var2 != null) { + switch(var1) { + case 1: + useBufferedSocket = Integer.parseInt(var2) != 0; + case 2: + case 11: + case 13: + case 16: + default: + break; + case 3: + if (var2.equalsIgnoreCase("true")) { + isMembersWorld = true; + } else { + isMembersWorld = false; + } + break; + case 4: + if (clientType == -1) { + clientType = Integer.parseInt(var2); + } + break; + case 5: + worldProperties = Integer.parseInt(var2); + break; + case 6: + WorldMapLabelSize.clientLanguage = Language.method3612(Integer.parseInt(var2)); + break; + case 7: + VertexNormal.field1726 = FloorDecoration.method2837(Integer.parseInt(var2)); + break; + case 8: + if (var2.equalsIgnoreCase("true")) { + } + break; + case 9: + class197.field2390 = var2; + break; + case 10: + StudioGame[] var3 = new StudioGame[]{StudioGame.game3, StudioGame.runescape, StudioGame.stellardawn, StudioGame.oldscape, StudioGame.game4, StudioGame.game5}; + class16.field101 = (StudioGame)NetSocket.findEnumerated(var3, Integer.parseInt(var2)); + if (class16.field101 == StudioGame.oldscape) { + WorldMapSection1.loginType = LoginType.oldscape; + } else { + WorldMapSection1.loginType = LoginType.field4032; + } + break; + case 12: + worldId = Integer.parseInt(var2); + break; + case 14: + WorldMapArea.field218 = Integer.parseInt(var2); + break; + case 15: + gameBuild = Integer.parseInt(var2); + break; + case 17: + WorldMapSectionType.field150 = var2; + } + } + } + + GrandExchangeOfferUnitPriceComparator.method139(); + class160.worldHost = this.getCodeBase().getHost(); + String var11 = VertexNormal.field1726.name; + byte var12 = 0; + + try { + JagexCache.idxCount = 21; + BufferedNetSocket.cacheGamebuild = var12; + + try { + HealthBarUpdate.field993 = System.getProperty("os.name"); + } catch (Exception var19) { + HealthBarUpdate.field993 = "Unknown"; + } + + class162.field1990 = HealthBarUpdate.field993.toLowerCase(); + + try { + JagexCache.userHomeDirectory = System.getProperty("user.home"); + if (JagexCache.userHomeDirectory != null) { + JagexCache.userHomeDirectory = JagexCache.userHomeDirectory + "/"; + } + } catch (Exception var18) { + } + + try { + if (class162.field1990.startsWith("win")) { + if (JagexCache.userHomeDirectory == null) { + JagexCache.userHomeDirectory = System.getenv("USERPROFILE"); + } + } else if (JagexCache.userHomeDirectory == null) { + JagexCache.userHomeDirectory = System.getenv("HOME"); + } + + if (JagexCache.userHomeDirectory != null) { + JagexCache.userHomeDirectory = JagexCache.userHomeDirectory + "/"; + } + } catch (Exception var17) { + } + + if (JagexCache.userHomeDirectory == null) { + JagexCache.userHomeDirectory = "~/"; + } + + UserComparator4.field1948 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", JagexCache.userHomeDirectory, "/tmp/", ""}; + class266.field3537 = new String[]{".jagex_cache_" + BufferedNetSocket.cacheGamebuild, ".file_store_" + BufferedNetSocket.cacheGamebuild}; + + int var6; + File var7; + label176: + for (int var13 = 0; var13 < 4; ++var13) { + GrandExchangeOfferOwnWorldComparator.cacheDir = WorldMapRegion.getCacheDir("oldschool", var11, var13); + if (!GrandExchangeOfferOwnWorldComparator.cacheDir.exists()) { + GrandExchangeOfferOwnWorldComparator.cacheDir.mkdirs(); + } + + File[] var4 = GrandExchangeOfferOwnWorldComparator.cacheDir.listFiles(); + if (var4 == null) { + break; + } + + File[] var5 = var4; + var6 = 0; + + while (true) { + if (var6 >= var5.length) { + break label176; + } + + var7 = var5[var6]; + + boolean var8; + try { + RandomAccessFile var9 = new RandomAccessFile(var7, "rw"); + int var10 = var9.read(); + var9.seek(0L); + var9.write(var10); + var9.seek(0L); + var9.close(); + var8 = true; + } catch (Exception var16) { + var8 = false; + } + + if (!var8) { + break; + } + + ++var6; + } + } + + File var23 = GrandExchangeOfferOwnWorldComparator.cacheDir; + FileSystem.FileSystem_cacheDir = var23; + if (!FileSystem.FileSystem_cacheDir.exists()) { + throw new RuntimeException(""); + } + + FileSystem.FileSystem_hasPermissions = true; + + try { + File var24 = new File(JagexCache.userHomeDirectory, "random.dat"); + if (var24.exists()) { + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var24, "rw", 25L), 24, 0); + } else { + label153: + for (int var14 = 0; var14 < class266.field3537.length; ++var14) { + for (var6 = 0; var6 < UserComparator4.field1948.length; ++var6) { + var7 = new File(UserComparator4.field1948[var6] + class266.field3537[var14] + File.separatorChar + "random.dat"); + if (var7.exists()) { + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var7, "rw", 25L), 24, 0); + break label153; + } + } + } + } + + if (JagexCache.JagexCache_randomDat == null) { + RandomAccessFile var25 = new RandomAccessFile(var24, "rw"); + var6 = var25.read(); + var25.seek(0L); + var25.write(var6); + var25.seek(0L); + var25.close(); + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var24, "rw", 25L), 24, 0); + } + } catch (IOException var20) { + } + + JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(UserComparator8.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); + JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(UserComparator8.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); + class189.JagexCache_idxFiles = new BufferedFile[JagexCache.idxCount]; + + for (int var15 = 0; var15 < JagexCache.idxCount; ++var15) { + class189.JagexCache_idxFiles[var15] = new BufferedFile(new AccessFile(UserComparator8.getFile("main_file_cache.idx" + var15), "rw", 1048576L), 6000, 0); + } + } catch (Exception var21) { + class32.RunException_sendStackTrace((String)null, var21); + } + + ViewportMouse.client = this; + class319.field3843 = clientType; + this.startThread(765, 503, 184); + } + } catch (RuntimeException var22) { + throw class14.newRunException(var22, "client.init(" + ')'); + } + } + + @ObfuscatedName("en") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "942594737" + ) + @Export("doCycleJs5") + void doCycleJs5() { + if (gameState != 1000) { + boolean var1 = PlayerAppearance.method3998(); + if (!var1) { + this.doCycleJs5Connect(); + } + + } + } + + @ObfuscatedName("eh") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1951808439" + ) + @Export("doCycleJs5Connect") + void doCycleJs5Connect() { + if (NetCache.NetCache_crcMismatches >= 4) { + this.error("js5crc"); + gameState = 1000; + } else { + if (NetCache.NetCache_ioExceptions >= 4) { + if (gameState <= 5) { + this.error("js5io"); + gameState = 1000; + return; + } + + field664 = 3000; + NetCache.NetCache_ioExceptions = 3; + } + + if (--field664 + 1 <= 0) { + try { + if (js5ConnectState == 0) { + Login.js5SocketTask = GameShell.taskHandler.newSocketTask(class160.worldHost, NPC.port3); + ++js5ConnectState; + } + + if (js5ConnectState == 1) { + if (Login.js5SocketTask.status == 2) { + this.js5Error(-1); + return; + } + + if (Login.js5SocketTask.status == 1) { + ++js5ConnectState; + } + } + + if (js5ConnectState == 2) { + if (useBufferedSocket) { + Socket var2 = (Socket)Login.js5SocketTask.result; + BufferedNetSocket var1 = new BufferedNetSocket(var2, 40000, 5000); + class43.js5Socket = var1; + } else { + class43.js5Socket = new NetSocket((Socket)Login.js5SocketTask.result, GameShell.taskHandler, 5000); + } + + Buffer var5 = new Buffer(5); + var5.writeByte(15); + var5.writeInt(184); + class43.js5Socket.write(var5.array, 0, 5); + ++js5ConnectState; + VerticalAlignment.field3175 = class30.method566(); + } + + if (js5ConnectState == 3) { + if (class43.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { + int var3 = class43.js5Socket.readUnsignedByte(); + if (var3 != 0) { + this.js5Error(var3); + return; + } + + ++js5ConnectState; + } else if (class30.method566() - VerticalAlignment.field3175 > 30000L) { + this.js5Error(-2); + return; + } + } + + if (js5ConnectState == 4) { + MenuAction.method2063(class43.js5Socket, gameState > 20); + Login.js5SocketTask = null; + class43.js5Socket = null; + js5ConnectState = 0; + js5Errors = 0; + } + } catch (IOException var4) { + this.js5Error(-3); + } + + } + } + } + + @ObfuscatedName("em") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "0" + ) + @Export("js5Error") + void js5Error(int var1) { + Login.js5SocketTask = null; + class43.js5Socket = null; + js5ConnectState = 0; + if (NPC.port3 == HitSplatDefinition.port1) { + NPC.port3 = BZip2State.port2; + } else { + NPC.port3 = HitSplatDefinition.port1; + } + + ++js5Errors; + if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) { + if (gameState <= 5) { + this.error("js5connect_full"); + gameState = 1000; + } else { + field664 = 3000; + } + } else if (js5Errors >= 2 && var1 == 6) { + this.error("js5connect_outofdate"); + gameState = 1000; + } else if (js5Errors >= 4) { + if (gameState <= 5) { + this.error("js5connect"); + gameState = 1000; + } else { + field664 = 3000; + } + } + + } + + @ObfuscatedName("ey") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "684778966" + ) + @Export("doCycleLoggedOut") + final void doCycleLoggedOut() { + Object var1 = packetWriter.getSocket(); + PacketBuffer var2 = packetWriter.packetBuffer; + + try { + if (loginState == 0) { + if (GraphicsObject.secureRandom == null && (secureRandomFuture.isDone() || field669 > 250)) { + GraphicsObject.secureRandom = secureRandomFuture.get(); + secureRandomFuture.shutdown(); + secureRandomFuture = null; + } + + if (GraphicsObject.secureRandom != null) { + if (var1 != null) { + ((AbstractSocket)var1).close(); + var1 = null; + } + + LoginPacket.socketTask = null; + field730 = false; + field669 = 0; + loginState = 1; + } + } + + if (loginState == 1) { + if (LoginPacket.socketTask == null) { + LoginPacket.socketTask = GameShell.taskHandler.newSocketTask(class160.worldHost, NPC.port3); + } + + if (LoginPacket.socketTask.status == 2) { + throw new IOException(); + } + + if (LoginPacket.socketTask.status == 1) { + if (useBufferedSocket) { + Socket var4 = (Socket)LoginPacket.socketTask.result; + BufferedNetSocket var3 = new BufferedNetSocket(var4, 40000, 5000); + var1 = var3; + } else { + var1 = new NetSocket((Socket)LoginPacket.socketTask.result, GameShell.taskHandler, 5000); + } + + packetWriter.setSocket((AbstractSocket)var1); + LoginPacket.socketTask = null; + loginState = 2; + } + } + + if (loginState == 2) { + packetWriter.clearBuffer(); + PacketBufferNode var22 = Tile.method2845(); + var22.packetBuffer.writeByte(LoginPacket.field2289.id); + packetWriter.addNode(var22); + packetWriter.flush(); + var2.offset = 0; + loginState = 3; + } + + boolean var13; + int var14; + if (loginState == 3) { + if (class219.pcmPlayer0 != null) { + class219.pcmPlayer0.method2393(); + } + + if (GrandExchangeOfferWorldComparator.pcmPlayer1 != null) { + GrandExchangeOfferWorldComparator.pcmPlayer1.method2393(); + } + + var13 = true; + if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { + var13 = false; + } + + if (var13) { + var14 = ((AbstractSocket)var1).readUnsignedByte(); + if (class219.pcmPlayer0 != null) { + class219.pcmPlayer0.method2393(); + } + + if (GrandExchangeOfferWorldComparator.pcmPlayer1 != null) { + GrandExchangeOfferWorldComparator.pcmPlayer1.method2393(); + } + + if (var14 != 0) { + ArchiveDisk.getLoginError(var14); + return; + } + + var2.offset = 0; + loginState = 4; + } + } + + int var33; + if (loginState == 4) { + if (var2.offset < 8) { + var33 = ((AbstractSocket)var1).available(); + if (var33 > 8 - var2.offset) { + var33 = 8 - var2.offset; + } + + if (var33 > 0) { + ((AbstractSocket)var1).read(var2.array, var2.offset, var33); + var2.offset += var33; + } + } + + if (var2.offset == 8) { + var2.offset = 0; + Tiles.field495 = var2.readLong(); + loginState = 5; + } + } + + int var6; + if (loginState == 5) { + packetWriter.packetBuffer.offset = 0; + packetWriter.clearBuffer(); + PacketBuffer var23 = new PacketBuffer(500); + int[] var25 = new int[]{GraphicsObject.secureRandom.nextInt(), GraphicsObject.secureRandom.nextInt(), GraphicsObject.secureRandom.nextInt(), GraphicsObject.secureRandom.nextInt()}; + var23.offset = 0; + var23.writeByte(1); + var23.writeInt(var25[0]); + var23.writeInt(var25[1]); + var23.writeInt(var25[2]); + var23.writeInt(var25[3]); + var23.writeLong(Tiles.field495); + if (gameState == 40) { + var23.writeInt(DirectByteArrayCopier.field2482[0]); + var23.writeInt(DirectByteArrayCopier.field2482[1]); + var23.writeInt(DirectByteArrayCopier.field2482[2]); + var23.writeInt(DirectByteArrayCopier.field2482[3]); + } else { + var23.writeByte(field672.rsOrdinal()); + switch(field672.field1984) { + case 0: + case 1: + var23.writeMedium(class185.field2305); + ++var23.offset; + break; + case 2: + var23.offset += 4; + break; + case 3: + var23.writeInt((Integer)AbstractArchive.clientPreferences.parameters.get(class288.method5209(Login.Login_username))); + } + + var23.writeByte(class312.field3818.rsOrdinal()); + var23.writeStringCp1252NullTerminated(Login.Login_password); + } + + var23.encryptRsa(class83.field1148, class83.field1149); + DirectByteArrayCopier.field2482 = var25; + PacketBufferNode var5 = Tile.method2845(); + var5.packetBuffer.offset = 0; + if (gameState == 40) { + var5.packetBuffer.writeByte(LoginPacket.field2290.id); + } else { + var5.packetBuffer.writeByte(LoginPacket.field2287.id); + } + + var5.packetBuffer.writeShort(0); + var6 = var5.packetBuffer.offset; + var5.packetBuffer.writeInt(184); + var5.packetBuffer.writeInt(1); + var5.packetBuffer.writeByte(clientType); + var5.packetBuffer.writeBytes(var23.array, 0, var23.offset); + int var7 = var5.packetBuffer.offset; + var5.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); + var5.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); + var5.packetBuffer.writeShort(FloorDecoration.canvasWidth); + var5.packetBuffer.writeShort(WallDecoration.canvasHeight); + PacketBuffer var8 = var5.packetBuffer; + int var11; + if (randomDatData != null) { + var8.writeBytes(randomDatData, 0, randomDatData.length); + } else { + byte[] var10 = new byte[24]; + + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.readFully(var10); + + for (var11 = 0; var11 < 24 && var10[var11] == 0; ++var11) { + } + + if (var11 >= 24) { + throw new IOException(); + } + } catch (Exception var20) { + for (int var12 = 0; var12 < 24; ++var12) { + var10[var12] = -1; + } + } + + var8.writeBytes(var10, 0, var10.length); + } + + var5.packetBuffer.writeStringCp1252NullTerminated(class197.field2390); + var5.packetBuffer.writeInt(WorldMapArea.field218); + Buffer var9 = new Buffer(class269.platformInfo.size()); + class269.platformInfo.write(var9); + var5.packetBuffer.writeBytes(var9.array, 0, var9.array.length); + var5.packetBuffer.writeByte(clientType); + var5.packetBuffer.writeInt(0); + var5.packetBuffer.writeInt(class1.archive0.hash); + var5.packetBuffer.writeInt(WorldMapLabelSize.archive1.hash); + var5.packetBuffer.writeInt(FaceNormal.archive2.hash); + var5.packetBuffer.writeInt(BoundaryObject.archive3.hash); + var5.packetBuffer.writeInt(GrandExchangeOfferAgeComparator.archive4.hash); + var5.packetBuffer.writeInt(class3.archive5.hash); + var5.packetBuffer.writeInt(class225.archive6.hash); + var5.packetBuffer.writeInt(Language.archive7.hash); + var5.packetBuffer.writeInt(GrandExchangeOfferAgeComparator.archive8.hash); + var5.packetBuffer.writeInt(AttackOption.archive9.hash); + var5.packetBuffer.writeInt(archive10.hash); + var5.packetBuffer.writeInt(ClanMate.archive11.hash); + var5.packetBuffer.writeInt(GrandExchangeOfferOwnWorldComparator.archive12.hash); + var5.packetBuffer.writeInt(Tile.archive13.hash); + var5.packetBuffer.writeInt(WorldMapData_1.archive14.hash); + var5.packetBuffer.writeInt(Script.archive15.hash); + var5.packetBuffer.writeInt(0); + var5.packetBuffer.writeInt(archive17.hash); + var5.packetBuffer.writeInt(VarcInt.archive18.hash); + var5.packetBuffer.writeInt(WorldMapLabel.archive19.hash); + var5.packetBuffer.writeInt(WorldMapEvent.archive20.hash); + var5.packetBuffer.xteaEncrypt(var25, var7, var5.packetBuffer.offset); + var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var6); + packetWriter.addNode(var5); + packetWriter.flush(); + packetWriter.isaacCipher = new IsaacCipher(var25); + int[] var32 = new int[4]; + + for (var11 = 0; var11 < 4; ++var11) { + var32[var11] = var25[var11] + 50; + } + + var2.newIsaacCipher(var32); + loginState = 6; + } + + if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { + var33 = ((AbstractSocket)var1).readUnsignedByte(); + if (var33 == 21 && gameState == 20) { + loginState = 9; + } else if (var33 == 2) { + loginState = 11; + } else if (var33 == 15 && gameState == 40) { + packetWriter.serverPacketLength = -1; + loginState = 16; + } else if (var33 == 64) { + loginState = 7; + } else if (var33 == 23 && field670 < 1) { + ++field670; + loginState = 0; + } else { + if (var33 != 29) { + ArchiveDisk.getLoginError(var33); + return; + } + + loginState = 14; + } + } + + if (loginState == 7 && ((AbstractSocket)var1).available() > 0) { + Message.field592 = ((AbstractSocket)var1).readUnsignedByte(); + loginState = 8; + } + + if (loginState == 8 && ((AbstractSocket)var1).available() >= Message.field592) { + ((AbstractSocket)var1).read(var2.array, 0, Message.field592); + var2.offset = 0; + loginState = 6; + } + + if (loginState == 9 && ((AbstractSocket)var1).available() > 0) { + field671 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; + loginState = 10; + } + + if (loginState == 10) { + field669 = 0; + PlayerType.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field671 / 60 + " seconds."); + if (--field671 <= 0) { + loginState = 0; + } + + } else { + if (loginState == 11 && ((AbstractSocket)var1).available() >= 1) { + World.field1012 = ((AbstractSocket)var1).readUnsignedByte(); + loginState = 12; + } + + int var16; + if (loginState == 12 && ((AbstractSocket)var1).available() >= World.field1012) { + var13 = ((AbstractSocket)var1).readUnsignedByte() == 1; + ((AbstractSocket)var1).read(var2.array, 0, 4); + var2.offset = 0; + boolean var34 = false; + if (var13) { + var14 = var2.readByteIsaac() << 24; + var14 |= var2.readByteIsaac() << 16; + var14 |= var2.readByteIsaac() << 8; + var14 |= var2.readByteIsaac(); + var16 = class288.method5209(Login.Login_username); + if (AbstractArchive.clientPreferences.parameters.size() >= 10 && !AbstractArchive.clientPreferences.parameters.containsKey(var16)) { + Iterator var17 = AbstractArchive.clientPreferences.parameters.entrySet().iterator(); + var17.next(); + var17.remove(); + } + + AbstractArchive.clientPreferences.parameters.put(var16, var14); + } + + if (Login_isUsernameRemembered) { + AbstractArchive.clientPreferences.rememberedUsername = Login.Login_username; + } else { + AbstractArchive.clientPreferences.rememberedUsername = null; + } + + Language.savePreferences(); + staffModLevel = ((AbstractSocket)var1).readUnsignedByte(); + playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1; + localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); + localPlayerIndex <<= 8; + localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); + field636 = ((AbstractSocket)var1).readUnsignedByte(); + ((AbstractSocket)var1).read(var2.array, 0, 1); + var2.offset = 0; + ServerPacket[] var29 = class96.ServerPacket_values(); + var6 = var2.readSmartByteShortIsaac(); + if (var6 < 0 || var6 >= var29.length) { + throw new IOException(var6 + " " + var2.offset); + } + + packetWriter.serverPacket = var29[var6]; + packetWriter.serverPacketLength = packetWriter.serverPacket.length; + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + packetWriter.serverPacketLength = var2.readUnsignedShort(); + + try { + class47.method881(ViewportMouse.client, "zap"); + } catch (Throwable var19) { + } + + loginState = 13; + } + + if (loginState == 13) { + if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); + timer.method4927(); + mouseLastLastPressedTimeMillis = -1L; + WorldMapLabel.mouseRecorder.index = 0; + TaskHandler.hasFocus = true; + hadFocus = true; + field860 = -1L; + class96.reflectionChecks = new IterableNodeDeque(); + packetWriter.clearBuffer(); + packetWriter.packetBuffer.offset = 0; + packetWriter.serverPacket = null; + packetWriter.field1300 = null; + packetWriter.field1291 = null; + packetWriter.field1301 = null; + packetWriter.serverPacketLength = 0; + packetWriter.field1297 = 0; + rebootTimer = 0; + logoutTimer = 0; + hintArrowType = 0; + ScriptEvent.method1205(); + MouseHandler.MouseHandler_idleCycles = 0; + WorldMapDecoration.method349(); + isItemSelected = 0; + isSpellSelected = false; + soundEffectCount = 0; + camAngleY = 0; + oculusOrbState = 0; + StudioGame.field3086 = null; + minimapState = 0; + field643 = -1; + destinationX = 0; + destinationY = 0; + playerAttackOption = AttackOption.AttackOption_hidden; + npcAttackOption = AttackOption.AttackOption_hidden; + npcCount = 0; + ClientPreferences.method1857(); + + for (var33 = 0; var33 < 2048; ++var33) { + players[var33] = null; + } + + for (var33 = 0; var33 < 32768; ++var33) { + npcs[var33] = null; + } + + combatTargetPlayerIndex = -1; + projectiles.clear(); + graphicsObjects.clear(); + + for (var33 = 0; var33 < 4; ++var33) { + for (var14 = 0; var14 < 104; ++var14) { + for (var16 = 0; var16 < 104; ++var16) { + groundItems[var33][var14][var16] = null; + } + } + } + + pendingSpawns = new NodeDeque(); + Tiles.friendSystem.clear(); + + for (var33 = 0; var33 < VarpDefinition.VarpDefinition_fileCount; ++var33) { + VarpDefinition var28 = AbstractWorldMapData.method288(var33); + if (var28 != null) { + Varps.Varps_temp[var33] = 0; + Varps.Varps_main[var33] = 0; + } + } + + class197.varcs.clearTransient(); + followerIndex = -1; + if (rootInterface != -1) { + InterfaceParent.method1192(rootInterface); + } + + for (InterfaceParent var26 = (InterfaceParent)interfaceParents.first(); var26 != null; var26 = (InterfaceParent)interfaceParents.next()) { + FontName.closeInterface(var26, true); + } + + rootInterface = -1; + interfaceParents = new NodeHashTable(8); + meslayerContinueWidget = null; + ScriptEvent.method1205(); + playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1); + + for (var33 = 0; var33 < 8; ++var33) { + playerMenuActions[var33] = null; + playerOptionsPriorities[var33] = false; + } + + FontName.method5251(); + isLoading = true; + + for (var33 = 0; var33 < 100; ++var33) { + field841[var33] = true; + } + + class210.method3939(); + Varps.clanChat = null; + + for (var33 = 0; var33 < 8; ++var33) { + grandExchangeOffers[var33] = new GrandExchangeOffer(); + } + + TileItem.grandExchangeEvents = null; + AttackOption.updatePlayer(var2); + ServerPacket.field2131 = -1; + PlayerType.loadRegions(false, var2); + packetWriter.serverPacket = null; + } + + } else { + if (loginState == 14 && ((AbstractSocket)var1).available() >= 2) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + class40.field329 = var2.readUnsignedShort(); + loginState = 15; + } + + if (loginState == 15 && ((AbstractSocket)var1).available() >= class40.field329) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, class40.field329); + var2.offset = 0; + String var24 = var2.readStringCp1252NullTerminated(); + String var27 = var2.readStringCp1252NullTerminated(); + String var30 = var2.readStringCp1252NullTerminated(); + PlayerType.setLoginResponseString(var24, var27, var30); + MouseRecorder.updateGameState(10); + } + + if (loginState != 16) { + ++field669; + if (field669 > 2000) { + if (field670 < 1) { + if (HitSplatDefinition.port1 == NPC.port3) { + NPC.port3 = BZip2State.port2; + } else { + NPC.port3 = HitSplatDefinition.port1; + } + + ++field670; + loginState = 0; + } else { + ArchiveDisk.getLoginError(-3); + } + } + } else { + if (packetWriter.serverPacketLength == -1) { + if (((AbstractSocket)var1).available() < 2) { + return; + } + + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + packetWriter.serverPacketLength = var2.readUnsignedShort(); + } + + if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { + ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); + var2.offset = 0; + var33 = packetWriter.serverPacketLength; + timer.method4929(); + packetWriter.clearBuffer(); + packetWriter.packetBuffer.offset = 0; + packetWriter.serverPacket = null; + packetWriter.field1300 = null; + packetWriter.field1291 = null; + packetWriter.field1301 = null; + packetWriter.serverPacketLength = 0; + packetWriter.field1297 = 0; + rebootTimer = 0; + ScriptEvent.method1205(); + minimapState = 0; + destinationX = 0; + + for (var14 = 0; var14 < 2048; ++var14) { + players[var14] = null; + } + + class223.localPlayer = null; + + for (var14 = 0; var14 < npcs.length; ++var14) { + NPC var31 = npcs[var14]; + if (var31 != null) { + var31.targetIndex = -1; + var31.false0 = false; + } + } + + FontName.method5251(); + MouseRecorder.updateGameState(30); + + for (var14 = 0; var14 < 100; ++var14) { + field841[var14] = true; + } + + class210.method3939(); + AttackOption.updatePlayer(var2); + if (var33 != var2.offset) { + throw new RuntimeException(); + } + } + } + } + } + } catch (IOException var21) { + if (field670 < 1) { + if (NPC.port3 == HitSplatDefinition.port1) { + NPC.port3 = BZip2State.port2; + } else { + NPC.port3 = HitSplatDefinition.port1; + } + + ++field670; + loginState = 0; + } else { + ArchiveDisk.getLoginError(-2); + } + } + } + + @ObfuscatedName("fd") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1173156947" + ) + @Export("doCycleLoggedIn") + final void doCycleLoggedIn() { + if (rebootTimer > 1) { + --rebootTimer; + } + + if (logoutTimer > 0) { + --logoutTimer; + } + + if (field730) { + field730 = false; + MouseRecorder.method1213(); + } else { + if (!isMenuOpen) { + KeyHandler.addCancelMenuEntry(); + } + + for (int var1 = 0; var1 < 100 && this.method1606(packetWriter); ++var1) { + } + + if (gameState == 30) { + while (true) { + ReflectionCheck var2 = (ReflectionCheck)class96.reflectionChecks.last(); + boolean var29; + if (var2 == null) { + var29 = false; + } else { + var29 = true; + } + + int var3; + PacketBufferNode var30; + if (!var29) { + PacketBufferNode var14; + int var15; + if (timer.field3563) { + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2187, packetWriter.isaacCipher); + var14.packetBuffer.writeByte(0); + var15 = var14.packetBuffer.offset; + timer.write(var14.packetBuffer); + var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var15); + packetWriter.addNode(var14); + timer.method4928(); + } + + int var4; + int var5; + int var6; + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + synchronized(WorldMapLabel.mouseRecorder.lock) { + if (!field802) { + WorldMapLabel.mouseRecorder.index = 0; + } else if (MouseHandler.MouseHandler_lastButton != 0 || WorldMapLabel.mouseRecorder.index >= 40) { + var30 = null; + var3 = 0; + var4 = 0; + var5 = 0; + var6 = 0; + + for (var7 = 0; var7 < WorldMapLabel.mouseRecorder.index && (var30 == null || var30.packetBuffer.offset - var3 < 246); ++var7) { + var4 = var7; + var8 = WorldMapLabel.mouseRecorder.ys[var7]; + if (var8 < -1) { + var8 = -1; + } else if (var8 > 65534) { + var8 = 65534; + } + + var9 = WorldMapLabel.mouseRecorder.xs[var7]; + if (var9 < -1) { + var9 = -1; + } else if (var9 > 65534) { + var9 = 65534; + } + + if (var9 != field646 || var8 != field647) { + if (var30 == null) { + var30 = InterfaceParent.getPacketBufferNode(ClientPacket.field2188, packetWriter.isaacCipher); + var30.packetBuffer.writeByte(0); + var3 = var30.packetBuffer.offset; + PacketBuffer var10000 = var30.packetBuffer; + var10000.offset += 2; + var5 = 0; + var6 = 0; + } + + if (field648 != -1L) { + var10 = var9 - field646; + var11 = var8 - field647; + var12 = (int)((WorldMapLabel.mouseRecorder.millis[var7] - field648) / 20L); + var5 = (int)((long)var5 + (WorldMapLabel.mouseRecorder.millis[var7] - field648) % 20L); + } else { + var10 = var9; + var11 = var8; + var12 = Integer.MAX_VALUE; + } + + field646 = var9; + field647 = var8; + if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { + var10 += 32; + var11 += 32; + var30.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6)); + } else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) { + var10 += 128; + var11 += 128; + var30.packetBuffer.writeByte(var12 + 128); + var30.packetBuffer.writeShort(var11 + (var10 << 8)); + } else if (var12 < 32) { + var30.packetBuffer.writeByte(var12 + 192); + if (var9 != -1 && var8 != -1) { + var30.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var30.packetBuffer.writeInt(Integer.MIN_VALUE); + } + } else { + var30.packetBuffer.writeShort((var12 & 8191) + 57344); + if (var9 != -1 && var8 != -1) { + var30.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var30.packetBuffer.writeInt(Integer.MIN_VALUE); + } + } + + ++var6; + field648 = WorldMapLabel.mouseRecorder.millis[var7]; + } + } + + if (var30 != null) { + var30.packetBuffer.writeLengthByte(var30.packetBuffer.offset - var3); + var7 = var30.packetBuffer.offset; + var30.packetBuffer.offset = var3; + var30.packetBuffer.writeByte(var5 / var6); + var30.packetBuffer.writeByte(var5 % var6); + var30.packetBuffer.offset = var7; + packetWriter.addNode(var30); + } + + if (var4 >= WorldMapLabel.mouseRecorder.index) { + WorldMapLabel.mouseRecorder.index = 0; + } else { + MouseRecorder var42 = WorldMapLabel.mouseRecorder; + var42.index -= var4; + System.arraycopy(WorldMapLabel.mouseRecorder.xs, var4, WorldMapLabel.mouseRecorder.xs, 0, WorldMapLabel.mouseRecorder.index); + System.arraycopy(WorldMapLabel.mouseRecorder.ys, var4, WorldMapLabel.mouseRecorder.ys, 0, WorldMapLabel.mouseRecorder.index); + System.arraycopy(WorldMapLabel.mouseRecorder.millis, var4, WorldMapLabel.mouseRecorder.millis, 0, WorldMapLabel.mouseRecorder.index); + } + } + } + + PacketBufferNode var18; + if (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { + long var16 = (MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis) / 50L; + if (var16 > 4095L) { + var16 = 4095L; + } + + mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis; + var3 = MouseHandler.MouseHandler_lastPressedY; + if (var3 < 0) { + var3 = 0; + } else if (var3 > WallDecoration.canvasHeight) { + var3 = WallDecoration.canvasHeight; + } + + var4 = MouseHandler.MouseHandler_lastPressedX; + if (var4 < 0) { + var4 = 0; + } else if (var4 > FloorDecoration.canvasWidth) { + var4 = FloorDecoration.canvasWidth; + } + + var5 = (int)var16; + var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2210, packetWriter.isaacCipher); + var18.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); + var18.packetBuffer.writeShort(var4); + var18.packetBuffer.writeShort(var3); + packetWriter.addNode(var18); + } + + if (KeyHandler.field361 > 0) { + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2224, packetWriter.isaacCipher); + var14.packetBuffer.writeShort(0); + var15 = var14.packetBuffer.offset; + long var19 = class30.method566(); + + for (var5 = 0; var5 < KeyHandler.field361; ++var5) { + long var21 = var19 - field860; + if (var21 > 16777215L) { + var21 = 16777215L; + } + + field860 = var19; + var14.packetBuffer.method5470((int)var21); + var14.packetBuffer.method5446(KeyHandler.field376[var5]); + } + + var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var15); + packetWriter.addNode(var14); + } + + if (field720 > 0) { + --field720; + } + + if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { + field721 = true; + } + + if (field721 && field720 <= 0) { + field720 = 20; + field721 = false; + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2209, packetWriter.isaacCipher); + var14.packetBuffer.writeShortLE(camAngleX); + var14.packetBuffer.method5461(camAngleY); + packetWriter.addNode(var14); + } + + if (TaskHandler.hasFocus && !hadFocus) { + hadFocus = true; + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2186, packetWriter.isaacCipher); + var14.packetBuffer.writeByte(1); + packetWriter.addNode(var14); + } + + if (!TaskHandler.hasFocus && hadFocus) { + hadFocus = false; + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2186, packetWriter.isaacCipher); + var14.packetBuffer.writeByte(0); + packetWriter.addNode(var14); + } + + if (Tiles.worldMap != null) { + Tiles.worldMap.method6291(); + } + + if (GrandExchangeOfferAgeComparator.ClanChat_inClanChat) { + if (Varps.clanChat != null) { + Varps.clanChat.sort(); + } + + Archive.method4266(); + GrandExchangeOfferAgeComparator.ClanChat_inClanChat = false; + } + + class60.method1191(); + if (gameState != 30) { + return; + } + + class160.method3413(); + HealthBarUpdate.method1765(); + ++packetWriter.field1297; + if (packetWriter.field1297 > 750) { + MouseRecorder.method1213(); + return; + } + + class32.method571(); + WallDecoration.method3251(); + int[] var36 = Players.Players_indices; + + for (var15 = 0; var15 < Players.Players_count; ++var15) { + Player var23 = players[var36[var15]]; + if (var23 != null && var23.overheadTextCyclesRemaining > 0) { + --var23.overheadTextCyclesRemaining; + if (var23.overheadTextCyclesRemaining == 0) { + var23.overheadText = null; + } + } + } + + for (var15 = 0; var15 < npcCount; ++var15) { + var3 = npcIndices[var15]; + NPC var24 = npcs[var3]; + if (var24 != null && var24.overheadTextCyclesRemaining > 0) { + --var24.overheadTextCyclesRemaining; + if (var24.overheadTextCyclesRemaining == 0) { + var24.overheadText = null; + } + } + } + + ++field698; + if (mouseCrossColor != 0) { + mouseCrossState = mouseCrossState * 400 + 400; + if (mouseCrossState * 20 >= 400) { + mouseCrossColor = 0; + } + } + + if (GrandExchangeOfferOwnWorldComparator.field628 != null) { + ++field750; + if (field750 >= 15) { + WorldMapSectionType.invalidateWidget(GrandExchangeOfferOwnWorldComparator.field628); + GrandExchangeOfferOwnWorldComparator.field628 = null; + } + } + + Widget var37 = NetSocket.mousedOverWidgetIf1; + Widget var31 = Strings.field2767; + NetSocket.mousedOverWidgetIf1 = null; + Strings.field2767 = null; + draggedOnWidget = null; + field817 = false; + field814 = false; + field857 = 0; + + while (DynamicObject.isKeyDown() && field857 < 128) { + if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && SecureRandomFuture.field1230 == 66) { + String var39 = Entity.method3221(); + ViewportMouse.client.clipboardSetString(var39); + } else if (oculusOrbState != 1 || KeyHandler.field381 <= 0) { + field859[field857] = SecureRandomFuture.field1230; + field858[field857] = KeyHandler.field381; + ++field857; + } + } + + boolean var32 = staffModLevel >= 2; + if (var32 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { + var4 = class223.localPlayer.plane - mouseWheelRotation; + if (var4 < 0) { + var4 = 0; + } else if (var4 > 3) { + var4 = 3; + } + + if (var4 != class223.localPlayer.plane) { + class287.method5205(class223.localPlayer.pathX[0] + class223.baseX * 64, class223.localPlayer.pathY[0] + class286.baseY * 64, var4, false); + } + + mouseWheelRotation = 0; + } + + if (rootInterface != -1) { + AbstractWorldMapData.updateRootInterface(rootInterface, 0, 0, FloorDecoration.canvasWidth, WallDecoration.canvasHeight, 0, 0); + } + + ++cycleCntr; + + while (true) { + Widget var25; + Widget var38; + ScriptEvent var40; + do { + var40 = (ScriptEvent)field836.removeLast(); + if (var40 == null) { + while (true) { + do { + var40 = (ScriptEvent)field763.removeLast(); + if (var40 == null) { + while (true) { + do { + var40 = (ScriptEvent)scriptEvents.removeLast(); + if (var40 == null) { + this.method1323(); + if (Tiles.worldMap != null) { + Tiles.worldMap.method6249(WorldMapRectangle.plane, class223.baseX * 64 + (class223.localPlayer.x >> 7), class286.baseY * 64 + (class223.localPlayer.y * 682054857 >> 7), false); + Tiles.worldMap.loadCache(); + } + + if (clickedWidget != null) { + this.method1327(); + } + + if (Frames.dragInventoryWidget != null) { + WorldMapSectionType.invalidateWidget(Frames.dragInventoryWidget); + ++itemDragDuration; + if (MouseHandler.MouseHandler_currentButton == 0) { + if (field748) { + if (Frames.dragInventoryWidget == DevicePcmPlayerProvider.field391 && dragItemSlotDestination != dragItemSlotSource) { + Widget var41 = Frames.dragInventoryWidget; + byte var33 = 0; + if (field873 == 1 && var41.contentType == 206) { + var33 = 1; + } + + if (var41.itemIds[dragItemSlotDestination] <= 0) { + var33 = 0; + } + + if (WorldMapSection0.method249(class2.getWidgetClickMask(var41))) { + var6 = dragItemSlotSource; + var7 = dragItemSlotDestination; + var41.itemIds[var7] = var41.itemIds[var6]; + var41.itemQuantities[var7] = var41.itemQuantities[var6]; + var41.itemIds[var6] = -1; + var41.itemQuantities[var6] = 0; + } else if (var33 == 1) { + var6 = dragItemSlotSource; + var7 = dragItemSlotDestination; + + while (var7 != var6) { + if (var6 > var7) { + var41.swapItems(var6 - 1, var6); + --var6; + } else if (var6 < var7) { + var41.swapItems(var6 + 1, var6); + ++var6; + } + } + } else { + var41.swapItems(dragItemSlotDestination, dragItemSlotSource); + } + + var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2222, packetWriter.isaacCipher); + var18.packetBuffer.method5615(Frames.dragInventoryWidget.id); + var18.packetBuffer.writeShort(dragItemSlotDestination); + var18.packetBuffer.writeByte(var33); + var18.packetBuffer.method5461(dragItemSlotSource); + packetWriter.addNode(var18); + } + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(field745, field746); + } else if (menuOptionsCount > 0) { + class3.method47(field745, field746); + } + + field750 = 10; + MouseHandler.MouseHandler_lastButton = 0; + Frames.dragInventoryWidget = null; + } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > field745 + 5 || MouseHandler.MouseHandler_x < field745 - 5 || MouseHandler.MouseHandler_y > field746 + 5 || MouseHandler.MouseHandler_y < field746 - 5)) { + field748 = true; + } + } + + if (Scene.method3081()) { + var4 = Scene.Scene_selectedX; + var5 = Scene.Scene_selectedY; + var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2281, packetWriter.isaacCipher); + var18.packetBuffer.writeByte(5); + var18.packetBuffer.writeShortLE(class223.baseX * 64 + var4); + var18.packetBuffer.method5461(class286.baseY * 64 + var5); + var18.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + packetWriter.addNode(var18); + Scene.method3082(); + mouseCrossX = MouseHandler.MouseHandler_lastPressedX; + mouseCrossY = MouseHandler.MouseHandler_lastPressedY; + mouseCrossColor = 1; + mouseCrossState = 0; + destinationX = var4; + destinationY = var5; + } + + if (var37 != NetSocket.mousedOverWidgetIf1) { + if (var37 != null) { + WorldMapSectionType.invalidateWidget(var37); + } + + if (NetSocket.mousedOverWidgetIf1 != null) { + WorldMapSectionType.invalidateWidget(NetSocket.mousedOverWidgetIf1); + } + } + + if (var31 != Strings.field2767 && field788 == field787) { + if (var31 != null) { + WorldMapSectionType.invalidateWidget(var31); + } + + if (Strings.field2767 != null) { + WorldMapSectionType.invalidateWidget(Strings.field2767); + } + } + + if (Strings.field2767 != null) { + if (field787 < field788) { + ++field787; + if (field787 == field788) { + WorldMapSectionType.invalidateWidget(Strings.field2767); + } + } + } else if (field787 > 0) { + --field787; + } + + if (oculusOrbState == 0) { + var4 = class223.localPlayer.x; + var5 = class223.localPlayer.y * 682054857; + if (ObjectSound.oculusOrbFocalPointX - var4 < -500 || ObjectSound.oculusOrbFocalPointX - var4 > 500 || class14.oculusOrbFocalPointY - var5 < -500 || class14.oculusOrbFocalPointY - var5 > 500) { + ObjectSound.oculusOrbFocalPointX = var4; + class14.oculusOrbFocalPointY = var5; + } + + if (var4 != ObjectSound.oculusOrbFocalPointX) { + ObjectSound.oculusOrbFocalPointX += (var4 - ObjectSound.oculusOrbFocalPointX) / 16; + } + + if (var5 != class14.oculusOrbFocalPointY) { + class14.oculusOrbFocalPointY += (var5 - class14.oculusOrbFocalPointY) / 16; + } + + var6 = ObjectSound.oculusOrbFocalPointX >> 7; + var7 = class14.oculusOrbFocalPointY >> 7; + var8 = MusicPatchPcmStream.getTileHeight(ObjectSound.oculusOrbFocalPointX, class14.oculusOrbFocalPointY, WorldMapRectangle.plane); + var9 = 0; + if (var6 > 3 && var7 > 3 && var6 < 100 && var7 < 100) { + for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) { + for (var11 = var7 - 4; var11 <= var7 + 4; ++var11) { + var12 = WorldMapRectangle.plane; + if (var12 < 3 && (Tiles.Tiles_renderFlags[1][var10][var11] & 2) == 2) { + ++var12; + } + + int var26 = var8 - Tiles.Tiles_heights[var12][var10][var11]; + if (var26 > var9) { + var9 = var26; + } + } + } + } + + var10 = var9 * 192; + if (var10 > 98048) { + var10 = 98048; + } + + if (var10 < 32768) { + var10 = 32768; + } + + if (var10 > field722) { + field722 += (var10 - field722) / 24; + } else if (var10 < field722) { + field722 += (var10 - field722) / 80; + } + + ModelData0.field1840 = (MusicPatchPcmStream.getTileHeight(class223.localPlayer.x, 682054857 * class223.localPlayer.y, WorldMapRectangle.plane) - -844153885 * camFollowHeight) * -506989123; + } else if (oculusOrbState == 1) { + class1.method15(); + short var34 = -1; + if (KeyHandler.KeyHandler_pressedKeys[33]) { + var34 = 0; + } else if (KeyHandler.KeyHandler_pressedKeys[49]) { + var34 = 1024; + } + + if (KeyHandler.KeyHandler_pressedKeys[48]) { + if (var34 == 0) { + var34 = 1792; + } else if (var34 == 1024) { + var34 = 1280; + } else { + var34 = 1536; + } + } else if (KeyHandler.KeyHandler_pressedKeys[50]) { + if (var34 == 0) { + var34 = 256; + } else if (var34 == 1024) { + var34 = 768; + } else { + var34 = 512; + } + } + + byte var35 = 0; + if (KeyHandler.KeyHandler_pressedKeys[35]) { + var35 = -1; + } else if (KeyHandler.KeyHandler_pressedKeys[51]) { + var35 = 1; + } + + var6 = 0; + if (var34 >= 0 || var35 != 0) { + var6 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed : oculusOrbNormalSpeed; + var6 *= 16; + field714 = var34; + field715 = var35; + } + + if (field766 < var6) { + field766 += var6 / 8; + if (field766 > var6) { + field766 = var6; + } + } else if (field766 > var6) { + field766 = field766 * 9 / 10; + } + + if (field766 > 0) { + var7 = field766 / 16; + if (field714 >= 0) { + var4 = field714 - WorldMapSection2.cameraYaw & 2047; + var8 = Rasterizer3D.Rasterizer3D_sine[var4]; + var9 = Rasterizer3D.Rasterizer3D_cosine[var4]; + ObjectSound.oculusOrbFocalPointX += var8 * var7 / 65536; + class14.oculusOrbFocalPointY += var7 * var9 / 65536; + } + + if (field715 != 0) { + ModelData0.field1840 += var7 * field715 * -506989123; + if (ModelData0.field1840 * -1351160427 > 0) { + ModelData0.field1840 = 0; + } + } + } else { + field714 = -1; + field715 = -1; + } + + if (KeyHandler.KeyHandler_pressedKeys[13]) { + packetWriter.addNode(InterfaceParent.getPacketBufferNode(ClientPacket.field2283, packetWriter.isaacCipher)); + oculusOrbState = 0; + } + } + + if (MouseHandler.MouseHandler_currentButton == 4 && WorldMapIcon_1.mouseCam) { + var4 = MouseHandler.MouseHandler_y - mouseCamClickedY; + camAngleDX = var4 * 2; + mouseCamClickedY = var4 != -1 && var4 != 1 ? (mouseCamClickedY + MouseHandler.MouseHandler_y) / 2 : MouseHandler.MouseHandler_y; + var5 = mouseCamClickedX - MouseHandler.MouseHandler_x; + camAngleDY = var5 * 2; + mouseCamClickedX = var5 != -1 && var5 != 1 ? (MouseHandler.MouseHandler_x + mouseCamClickedX) / 2 : MouseHandler.MouseHandler_x; + } else { + if (KeyHandler.KeyHandler_pressedKeys[96]) { + camAngleDY += (-24 - camAngleDY) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[97]) { + camAngleDY += (24 - camAngleDY) / 2; + } else { + camAngleDY /= 2; + } + + if (KeyHandler.KeyHandler_pressedKeys[98]) { + camAngleDX += (12 - camAngleDX) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[99]) { + camAngleDX += (-12 - camAngleDX) / 2; + } else { + camAngleDX /= 2; + } + + mouseCamClickedY = MouseHandler.MouseHandler_y; + mouseCamClickedX = MouseHandler.MouseHandler_x; + } + + camAngleY = camAngleDY / 2 + camAngleY & 2047; + camAngleX += camAngleDX / 2; + if (camAngleX < 128) { + camAngleX = 128; + } + + if (camAngleX > 383) { + camAngleX = 383; + } + + if (isCameraLocked) { + ChatChannel.method2233(); + } + + for (var4 = 0; var4 < 5; ++var4) { + int var10002 = field885[var4]++; + } + + class197.varcs.tryWrite(); + var4 = WorldMapLabelSize.method197(); + var5 = SecureRandomCallable.method1166(); + if (var4 > 15000 && var5 > 15000) { + logoutTimer = 250; + MouseHandler.MouseHandler_idleCycles = 14500; + var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2225, packetWriter.isaacCipher); + packetWriter.addNode(var18); + } + + Tiles.friendSystem.processFriendUpdates(); + ++packetWriter.pendingWrites; + if (packetWriter.pendingWrites > 50) { + var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2207, packetWriter.isaacCipher); + packetWriter.addNode(var18); + } + + try { + packetWriter.flush(); + } catch (IOException var27) { + MouseRecorder.method1213(); + } + + return; + } + + var25 = var40.widget; + if (var25.childIndex < 0) { + break; + } + + var38 = Canvas.getWidget(var25.parentId); + } while(var38 == null || var38.children == null || var25.childIndex >= var38.children.length || var25 != var38.children[var25.childIndex]); + + ParamDefinition.runScriptEvent(var40); + } + } + + var25 = var40.widget; + if (var25.childIndex < 0) { + break; + } + + var38 = Canvas.getWidget(var25.parentId); + } while(var38 == null || var38.children == null || var25.childIndex >= var38.children.length || var25 != var38.children[var25.childIndex]); + + ParamDefinition.runScriptEvent(var40); + } + } + + var25 = var40.widget; + if (var25.childIndex < 0) { + break; + } + + var38 = Canvas.getWidget(var25.parentId); + } while(var38 == null || var38.children == null || var25.childIndex >= var38.children.length || var25 != var38.children[var25.childIndex]); + + ParamDefinition.runScriptEvent(var40); + } + } + + var30 = InterfaceParent.getPacketBufferNode(ClientPacket.field2196, packetWriter.isaacCipher); + var30.packetBuffer.writeByte(0); + var3 = var30.packetBuffer.offset; + class189.performReflectionCheck(var30.packetBuffer); + var30.packetBuffer.writeLengthByte(var30.packetBuffer.offset - var3); + packetWriter.addNode(var30); + } + } + } + } + + @ObfuscatedName("fs") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-6" + ) + @Export("resizeJS") + void resizeJS() { + int var1 = FloorDecoration.canvasWidth; + int var2 = WallDecoration.canvasHeight; + if (super.contentWidth < var1) { + var1 = super.contentWidth; + } + + if (super.contentHeight < var2) { + var2 = super.contentHeight; + } + + if (AbstractArchive.clientPreferences != null) { + try { + Client var3 = ViewportMouse.client; + Object[] var4 = new Object[]{class247.getWindowedMode()}; + JSObject.getWindow(var3).call("resize", var4); + } catch (Throwable var5) { + } + } + + } + + @ObfuscatedName("fj") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1430506238" + ) + @Export("drawLoggedIn") + final void drawLoggedIn() { + int var1; + if (rootInterface != -1) { + var1 = rootInterface; + if (WorldMapData_0.loadInterface(var1)) { + ChatChannel.drawModelComponents(UserComparator5.Widget_interfaceComponents[var1], -1); + } + } + + for (var1 = 0; var1 < rootWidgetCount; ++var1) { + if (field841[var1]) { + field842[var1] = true; + } + + field847[var1] = field841[var1]; + field841[var1] = false; + } + + field638 = cycle; + viewportX = -1; + viewportY = -1; + DevicePcmPlayerProvider.field391 = null; + if (rootInterface != -1) { + rootWidgetCount = 0; + ItemContainer.drawWidgets(rootInterface, 0, 0, FloorDecoration.canvasWidth, WallDecoration.canvasHeight, 0, 0, -1); + } + + Rasterizer2D.Rasterizer2D_resetClip(); + if (showMouseCross) { + if (mouseCrossColor == 1) { + UrlRequest.crossSprites[mouseCrossState * 20 / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); + } + + if (mouseCrossColor == 2) { + UrlRequest.crossSprites[mouseCrossState * 20 / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); + } + } + + int var2; + int var3; + if (!isMenuOpen) { + if (viewportX != -1) { + var1 = viewportX; + var2 = viewportY; + if ((menuOptionsCount >= 2 || isItemSelected != 0 || isSpellSelected) && showMouseOverText) { + var3 = BuddyRankComparator.getNewestMenuIdx(); + String var4; + if (isItemSelected == 1 && menuOptionsCount < 2) { + var4 = "Use" + " " + selectedItemName + " " + "->"; + } else if (isSpellSelected && menuOptionsCount < 2) { + var4 = selectedSpellActionName + " " + selectedSpellName + " " + "->"; + } else { + var4 = class40.method799(var3); + } + + if (menuOptionsCount > 2) { + var4 = var4 + World.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options"; + } + + class173.fontBold12.drawRandomAlphaAndSpacing(var4, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000); + } + } + } else { + var1 = UrlRequester.menuX; + var2 = class51.menuY; + var3 = FriendSystem.menuWidth; + int var13 = WorldMapDecoration.menuHeight; + int var5 = 6116423; + Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var13, var5); + Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var13 - 19, 0); + class173.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var5, -1); + int var6 = MouseHandler.MouseHandler_x; + int var7 = MouseHandler.MouseHandler_y; + + int var8; + int var9; + int var10; + for (var8 = 0; var8 < menuOptionsCount; ++var8) { + var9 = var2 + (menuOptionsCount - 1 - var8) * 15 + 31; + var10 = 16777215; + if (var6 > var1 && var6 < var3 + var1 && var7 > var9 - 13 && var7 < var9 + 3) { + var10 = 16776960; + } + + class173.fontBold12.draw(class40.method799(var8), var1 + 3, var9, var10, 0); + } + + var8 = UrlRequester.menuX; + var9 = class51.menuY; + var10 = FriendSystem.menuWidth; + int var11 = WorldMapDecoration.menuHeight; + + for (int var12 = 0; var12 < rootWidgetCount; ++var12) { + if (rootWidgetXs[var12] + rootWidgetWidths[var12] > var8 && rootWidgetXs[var12] < var10 + var8 && rootWidgetHeights[var12] + rootWidgetYs[var12] > var9 && rootWidgetYs[var12] < var9 + var11) { + field842[var12] = true; + } + } + } + + if (gameDrawingMode == 3) { + for (var1 = 0; var1 < rootWidgetCount; ++var1) { + if (field847[var1]) { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); + } else if (field842[var1]) { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); + } + } + } + + class3.method51(WorldMapRectangle.plane, class223.localPlayer.x, class223.localPlayer.y * 682054857, field698); + field698 = 0; + } + + @ObfuscatedName("gh") + @ObfuscatedSignature( + signature = "(Lcl;I)Z", + garbageValue = "-1809167955" + ) + final boolean method1606(PacketWriter var1) { + AbstractSocket var2 = var1.getSocket(); + PacketBuffer var3 = var1.packetBuffer; + if (var2 == null) { + return false; + } else { + int var6; + String var31; + try { + int var5; + if (var1.serverPacket == null) { + if (var1.field1290) { + if (!var2.isAvailable(1)) { + return false; + } + + var2.read(var1.packetBuffer.array, 0, 1); + var1.field1297 = 0; + var1.field1290 = false; + } + + var3.offset = 0; + if (var3.method5380()) { + if (!var2.isAvailable(1)) { + return false; + } + + var2.read(var1.packetBuffer.array, 1, 1); + var1.field1297 = 0; + } + + var1.field1290 = true; + ServerPacket[] var4 = class96.ServerPacket_values(); + var5 = var3.readSmartByteShortIsaac(); + if (var5 < 0 || var5 >= var4.length) { + throw new IOException(var5 + " " + var3.offset); + } + + var1.serverPacket = var4[var5]; + var1.serverPacketLength = var1.serverPacket.length; + } + + if (var1.serverPacketLength == -1) { + if (!var2.isAvailable(1)) { + return false; + } + + var1.getSocket().read(var3.array, 0, 1); + var1.serverPacketLength = var3.array[0] & 255; + } + + if (var1.serverPacketLength == -2) { + if (!var2.isAvailable(2)) { + return false; + } + + var1.getSocket().read(var3.array, 0, 2); + var3.offset = 0; + var1.serverPacketLength = var3.readUnsignedShort(); + } + + if (!var2.isAvailable(var1.serverPacketLength)) { + return false; + } + + var3.offset = 0; + var2.read(var3.array, 0, var1.serverPacketLength); + var1.field1297 = 0; + timer.method4924(); + var1.field1301 = var1.field1291; + var1.field1291 = var1.field1300; + var1.field1300 = var1.serverPacket; + if (ServerPacket.field2121 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2295); + var1.serverPacket = null; + return true; + } + + int var7; + int var8; + long var9; + int var16; + if (ServerPacket.field2122 == var1.serverPacket) { + var16 = var3.method5464(); + if (var16 == 65535) { + var16 = -1; + } + + var5 = var3.readUnsignedShort(); + if (var5 == 65535) { + var5 = -1; + } + + var6 = var3.method5467(); + var7 = var3.method5467(); + + for (var8 = var16; var8 <= var5; ++var8) { + var9 = ((long)var7 << 32) + (long)var8; + Node var42 = widgetClickMasks.get(var9); + if (var42 != null) { + var42.remove(); + } + + widgetClickMasks.put(new IntegerNode(var6), var9); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2167 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + NetCache.method4267(var16); + var1.serverPacket = null; + return true; + } + + Widget var46; + if (ServerPacket.field2095 == var1.serverPacket) { + var16 = var3.method5469(); + var5 = var3.method5469(); + var6 = var3.method5467(); + var46 = Canvas.getWidget(var6); + if (var5 != var46.rawX || var16 != var46.rawY || var46.xAlignment != 0 || var46.yAlignment != 0) { + var46.rawX = var5; + var46.rawY = var16; + var46.xAlignment = 0; + var46.yAlignment = 0; + WorldMapSectionType.invalidateWidget(var46); + this.alignWidget(var46); + if (var46.type == 0) { + GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var6 >> 16], var46, false); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2155 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2296); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2143 == var1.serverPacket) { + rebootTimer = var3.method5464() * 30; + field833 = cycleCntr; + var1.serverPacket = null; + return true; + } + + boolean var45; + if (ServerPacket.field2109 == var1.serverPacket) { + var45 = var3.readUnsignedByte() == 1; + if (var45) { + class81.field1135 = class30.method566() - var3.readLong(); + TileItem.grandExchangeEvents = new GrandExchangeEvents(var3, true); + } else { + TileItem.grandExchangeEvents = null; + } + + field832 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2118 == var1.serverPacket) { + Occluder.method3247(var3.readStringCp1252NullTerminated()); + var1.serverPacket = null; + return true; + } + + int var10; + Widget var18; + int var19; + if (ServerPacket.field2144 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var16 < -70000) { + var5 += 32768; + } + + if (var16 >= 0) { + var18 = Canvas.getWidget(var16); + } else { + var18 = null; + } + + if (var18 != null) { + for (var7 = 0; var7 < var18.itemIds.length; ++var7) { + var18.itemIds[var7] = 0; + var18.itemQuantities[var7] = 0; + } + } + + class162.clearItemContainer(var5); + var7 = var3.readUnsignedShort(); + + for (var8 = 0; var8 < var7; ++var8) { + var19 = var3.method5464(); + var10 = var3.method5455(); + if (var10 == 255) { + var10 = var3.method5467(); + } + + if (var18 != null && var8 < var18.itemIds.length) { + var18.itemIds[var8] = var19; + var18.itemQuantities[var8] = var10; + } + + class4.itemContainerSetItem(var5, var8, var19 - 1, var10); + } + + if (var18 != null) { + WorldMapSectionType.invalidateWidget(var18); + } + + class325.method6167(); + field820[++field825 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2126 == var1.serverPacket) { + isCameraLocked = true; + class225.field3045 = var3.readUnsignedByte() * 128; + Clock.field2039 = var3.readUnsignedByte() * 16384; + GrandExchangeOfferOwnWorldComparator.field627 = var3.readUnsignedShort(); + MouseRecorder.field572 = var3.readUnsignedByte(); + Messages.field1262 = var3.readUnsignedByte(); + if (Messages.field1262 >= 100) { + GrandExchangeOfferOwnWorldComparator.cameraX = class225.field3045 * 16384 + 64; + WorldMapIcon_1.cameraZ = Clock.field2039 * 128 + 64; + Varcs.cameraY = MusicPatchPcmStream.getTileHeight(GrandExchangeOfferOwnWorldComparator.cameraX, WorldMapIcon_1.cameraZ, WorldMapRectangle.plane) - GrandExchangeOfferOwnWorldComparator.field627; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2149 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2302); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2142 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readInt(); + var6 = class4.getGcDuration(); + PacketBufferNode var48 = InterfaceParent.getPacketBufferNode(ClientPacket.field2199, packetWriter.isaacCipher); + var48.packetBuffer.method5453(var6); + var48.packetBuffer.writeInt(var16); + var48.packetBuffer.method5474(var5); + var48.packetBuffer.method5446(GameShell.fps); + packetWriter.addNode(var48); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2164 == var1.serverPacket) { + class325.method6167(); + weight = var3.readShort(); + field833 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2157 == var1.serverPacket) { + var16 = var3.readInt(); + if (var16 != field718) { + field718 = var16; + UserComparator4.method3346(); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2115 == var1.serverPacket) { + if (Varps.clanChat != null) { + Varps.clanChat.method5151(var3); + } + + class185.method3587(); + var1.serverPacket = null; + return true; + } + + InterfaceParent var17; + Widget var20; + if (ServerPacket.field2166 == var1.serverPacket) { + var16 = var3.method5467(); + var5 = var3.readInt(); + InterfaceParent var52 = (InterfaceParent)interfaceParents.get((long)var5); + var17 = (InterfaceParent)interfaceParents.get((long)var16); + if (var17 != null) { + FontName.closeInterface(var17, var52 == null || var17.group != var52.group); + } + + if (var52 != null) { + var52.remove(); + interfaceParents.put(var52, (long)var16); + } + + var20 = Canvas.getWidget(var5); + if (var20 != null) { + WorldMapSectionType.invalidateWidget(var20); + } + + var20 = Canvas.getWidget(var16); + if (var20 != null) { + WorldMapSectionType.invalidateWidget(var20); + GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var20.id >>> 16], var20, true); + } + + if (rootInterface != -1) { + class40.runIntfCloseListeners(rootInterface, 1); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2156 == var1.serverPacket) { + Tiles.friendSystem.readUpdate(var3, var1.serverPacketLength); + field744 = cycleCntr; + var1.serverPacket = null; + return true; + } + + long var12; + long var21; + long var23; + String var36; + if (ServerPacket.field2139 == var1.serverPacket) { + var36 = var3.readStringCp1252NullTerminated(); + var21 = var3.readLong(); + var23 = (long)var3.readUnsignedShort(); + var9 = (long)var3.readMedium(); + PlayerType var11 = (PlayerType)NetSocket.findEnumerated(class226.PlayerType_values(), var3.readUnsignedByte()); + var12 = var9 + (var23 << 32); + boolean var44 = false; + + for (int var15 = 0; var15 < 100; ++var15) { + if (field889[var15] == var12) { + var44 = true; + break; + } + } + + if (var11.isUser && Tiles.friendSystem.isIgnored(new Username(var36, WorldMapSection1.loginType))) { + var44 = true; + } + + if (!var44 && field634 == 0) { + field889[field856] = var12; + field856 = (field856 + 1) % 100; + String var25 = AbstractFont.escapeBrackets(NetSocket.method3467(class65.method1250(var3))); + if (var11.modIcon != -1) { + WorldMapData_1.addChatMessage(9, class247.method4443(var11.modIcon) + var36, var25, World.base37DecodeLong(var21)); + } else { + WorldMapData_1.addChatMessage(9, var36, var25, World.base37DecodeLong(var21)); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2165 == var1.serverPacket) { + var3.offset += 28; + if (var3.checkCrc()) { + ArchiveDisk.method5781(var3, var3.offset - 28); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2145 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + if (var3.readUnsignedByte() == 0) { + grandExchangeOffers[var16] = new GrandExchangeOffer(); + var3.offset += 18; + } else { + --var3.offset; + grandExchangeOffers[var16] = new GrandExchangeOffer(var3, false); + } + + field831 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2106 == var1.serverPacket) { + var16 = var3.method5489(); + var5 = var3.method5477(); + var18 = Canvas.getWidget(var5); + if (var16 != var18.sequenceId || var16 == -1) { + var18.sequenceId = var16; + var18.modelFrame = 0; + var18.modelFrameCycle = 0; + WorldMapSectionType.invalidateWidget(var18); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2170 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.method5467(); + var6 = var3.method5464(); + if (var6 == 65535) { + var6 = -1; + } + + var46 = Canvas.getWidget(var16); + ItemDefinition var50; + if (!var46.isIf3) { + if (var6 == -1) { + var46.modelType = 0; + var1.serverPacket = null; + return true; + } + + var50 = Occluder.ItemDefinition_get(var6); + var46.modelType = 4; + var46.modelId = var6; + var46.modelAngleX = var50.xan2d; + var46.modelAngleY = var50.yan2d; + var46.modelZoom = var50.zoom2d * 100 / var5; + WorldMapSectionType.invalidateWidget(var46); + } else { + var46.itemId = var6; + var46.itemQuantity = var5; + var50 = Occluder.ItemDefinition_get(var6); + var46.modelAngleX = var50.xan2d; + var46.modelAngleY = var50.yan2d; + var46.modelAngleZ = var50.zan2d; + var46.modelOffsetX = var50.offsetX2d; + var46.modelOffsetY = var50.offsetY2d; + var46.modelZoom = var50.zoom2d; + if (var50.isStackable == 1) { + var46.itemQuantityMode = 1; + } else { + var46.itemQuantityMode = 2; + } + + if (var46.field2667 > 0) { + var46.modelZoom = var46.modelZoom * 32 / var46.field2667; + } else if (var46.rawWidth > 0) { + var46.modelZoom = var46.modelZoom * 32 / var46.rawWidth; + } + + WorldMapSectionType.invalidateWidget(var46); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2141 == var1.serverPacket) { + var16 = var3.method5477(); + var5 = var3.method5465(); + var18 = Canvas.getWidget(var16); + if (var18.modelType != 2 || var5 != var18.modelId) { + var18.modelType = 2; + var18.modelId = var5; + WorldMapSectionType.invalidateWidget(var18); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2114 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2301); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2129 == var1.serverPacket) { + var36 = var3.readStringCp1252NullTerminated(); + var21 = (long)var3.readUnsignedShort(); + var23 = (long)var3.readMedium(); + PlayerType var26 = (PlayerType)NetSocket.findEnumerated(class226.PlayerType_values(), var3.readUnsignedByte()); + long var27 = (var21 << 32) + var23; + boolean var29 = false; + + for (int var13 = 0; var13 < 100; ++var13) { + if (field889[var13] == var27) { + var29 = true; + break; + } + } + + if (Tiles.friendSystem.isIgnored(new Username(var36, WorldMapSection1.loginType))) { + var29 = true; + } + + if (!var29 && field634 == 0) { + field889[field856] = var27; + field856 = (field856 + 1) % 100; + String var30 = AbstractFont.escapeBrackets(NetSocket.method3467(class65.method1250(var3))); + byte var14; + if (var26.isPrivileged) { + var14 = 7; + } else { + var14 = 3; + } + + if (var26.modIcon != -1) { + class210.addGameMessage(var14, class247.method4443(var26.modIcon) + var36, var30); + } else { + class210.addGameMessage(var14, var36, var30); + } + } + + var1.serverPacket = null; + return true; + } + + Widget var55; + if (ServerPacket.field2103 == var1.serverPacket) { + var16 = var3.method5467(); + var55 = Canvas.getWidget(var16); + + for (var6 = 0; var6 < var55.itemIds.length; ++var6) { + var55.itemIds[var6] = -1; + var55.itemIds[var6] = 0; + } + + WorldMapSectionType.invalidateWidget(var55); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2159 == var1.serverPacket) { + InterfaceParent.updateNpcs(true, var3); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2137 == var1.serverPacket) { + var16 = var3.method5546(); + var5 = var3.method5464(); + Varps.Varps_temp[var5] = var16; + if (Varps.Varps_main[var5] != var16) { + Varps.Varps_main[var5] = var16; + } + + NetSocket.method3468(var5); + field782[++field823 - 1 & 31] = var5; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2124 == var1.serverPacket) { + class40.field326 = var3.method5456(); + WorldMapSection2.field195 = var3.readUnsignedByte(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2146 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + var5 = var3.readUnsignedByte(); + var6 = var3.readUnsignedByte(); + var7 = var3.readUnsignedByte(); + field835[var16] = true; + field882[var16] = var5; + field883[var16] = var6; + field884[var16] = var7; + field885[var16] = 0; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2175 == var1.serverPacket) { + var16 = var3.method5496(); + var31 = var3.readStringCp1252NullTerminated(); + var6 = var3.method5455(); + if (var6 >= 1 && var6 <= 8) { + if (var31.equalsIgnoreCase("null")) { + var31 = null; + } + + playerMenuActions[var6 - 1] = var31; + playerOptionsPriorities[var6 - 1] = var16 == 0; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2177 == var1.serverPacket) { + World var39 = new World(); + var39.host = var3.readStringCp1252NullTerminated(); + var39.id = var3.readUnsignedShort(); + var5 = var3.readInt(); + var39.properties = var5; + MouseRecorder.updateGameState(45); + var2.close(); + var2 = null; + class4.changeWorld(var39); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2162 == var1.serverPacket) { + Tiles.friendSystem.method1860(); + field744 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2130 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + SequenceDefinition.method4744(var16); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2171 == var1.serverPacket) { + isCameraLocked = false; + + for (var16 = 0; var16 < 5; ++var16) { + field835[var16] = false; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2173 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2297); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2168 == var1.serverPacket) { + if (var1.serverPacketLength == 0) { + Varps.clanChat = null; + } else { + if (Varps.clanChat == null) { + Varps.clanChat = new ClanChat(WorldMapSection1.loginType, ViewportMouse.client); + } + + Varps.clanChat.readUpdate(var3); + } + + class185.method3587(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2174 == var1.serverPacket) { + hintArrowType = var3.readUnsignedByte(); + if (hintArrowType == 1) { + hintArrowNpcIndex = var3.readUnsignedShort(); + } + + if (hintArrowType >= 2 && hintArrowType <= 6) { + if (hintArrowType == 2) { + hintArrowSubX = 4096; + hintArrowSubY = 4096; + } + + if (hintArrowType == 3) { + hintArrowSubX = 0; + hintArrowSubY = 4096; + } + + if (hintArrowType == 4) { + hintArrowSubX = 8192; + hintArrowSubY = 4096; + } + + if (hintArrowType == 5) { + hintArrowSubX = 4096; + hintArrowSubY = 0; + } + + if (hintArrowType == 6) { + hintArrowSubX = 4096; + hintArrowSubY = 8192; + } + + hintArrowType = 2; + hintArrowX = var3.readUnsignedShort(); + hintArrowY = var3.readUnsignedShort(); + hintArrowHeight = var3.readUnsignedByte() * 2; + } + + if (hintArrowType == 10) { + hintArrowPlayerIndex = var3.readUnsignedShort(); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2152 == var1.serverPacket) { + var16 = var3.method5465(); + WorldMapAreaData.method717(var16); + field820[++field825 - 1 & 31] = var16 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2183 == var1.serverPacket) { + var16 = var3.method5465(); + rootInterface = var16; + this.resizeRoot(false); + WorldMapManager.Widget_resetModelFrames(var16); + class186.runWidgetOnLoadListener(rootInterface); + + for (var5 = 0; var5 < 100; ++var5) { + field841[var5] = true; + } + + var1.serverPacket = null; + return true; + } + + String var51; + if (ServerPacket.field2097 == var1.serverPacket) { + var16 = var3.readUShortSmart(); + boolean var43 = var3.readUnsignedByte() == 1; + var51 = ""; + boolean var41 = false; + if (var43) { + var51 = var3.readStringCp1252NullTerminated(); + if (Tiles.friendSystem.isIgnored(new Username(var51, WorldMapSection1.loginType))) { + var41 = true; + } + } + + String var49 = var3.readStringCp1252NullTerminated(); + if (!var41) { + class210.addGameMessage(var16, var51, var49); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2161 == var1.serverPacket) { + PlayerType.loadRegions(false, var1.packetBuffer); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2098 == var1.serverPacket) { + byte[] var38 = new byte[var1.serverPacketLength]; + var3.method5385(var38, 0, var38.length); + Buffer var59 = new Buffer(var38); + var51 = var59.readStringCp1252NullTerminated(); + ArchiveDiskActionHandler.openURL(var51, true, false); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2132 == var1.serverPacket) { + var45 = var3.readUnsignedByte() == 1; + var5 = var3.method5467(); + var18 = Canvas.getWidget(var5); + if (var45 != var18.isHidden) { + var18.isHidden = var45; + WorldMapSectionType.invalidateWidget(var18); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2134 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var16 < -70000) { + var5 += 32768; + } + + if (var16 >= 0) { + var18 = Canvas.getWidget(var16); + } else { + var18 = null; + } + + for (; var3.offset < var1.serverPacketLength; class4.itemContainerSetItem(var5, var7, var8 - 1, var19)) { + var7 = var3.readUShortSmart(); + var8 = var3.readUnsignedShort(); + var19 = 0; + if (var8 != 0) { + var19 = var3.readUnsignedByte(); + if (var19 == 255) { + var19 = var3.readInt(); + } + } + + if (var18 != null && var7 >= 0 && var7 < var18.itemIds.length) { + var18.itemIds[var7] = var8; + var18.itemQuantities[var7] = var19; + } + } + + if (var18 != null) { + WorldMapSectionType.invalidateWidget(var18); + } + + class325.method6167(); + field820[++field825 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2158 == var1.serverPacket) { + var16 = var3.method5546(); + var5 = var3.method5465(); + var18 = Canvas.getWidget(var16); + if (var18.modelType != 1 || var5 != var18.modelId) { + var18.modelType = 1; + var18.modelId = var5; + WorldMapSectionType.invalidateWidget(var18); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2135 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + var5 = var3.method5467(); + var6 = var16 >> 10 & 31; + var7 = var16 >> 5 & 31; + var8 = var16 & 31; + var19 = (var7 << 11) + (var6 << 19) + (var8 << 3); + Widget var57 = Canvas.getWidget(var5); + if (var19 != var57.color) { + var57.color = var19; + WorldMapSectionType.invalidateWidget(var57); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2102 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + var5 = var3.method5465(); + var6 = var3.method5632(); + var7 = var3.readInt(); + var20 = Canvas.getWidget(var7); + if (var5 != var20.modelAngleX || var6 != var20.modelAngleY || var16 != var20.modelZoom) { + var20.modelAngleX = var5; + var20.modelAngleY = var6; + var20.modelZoom = var16; + WorldMapSectionType.invalidateWidget(var20); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2101 == var1.serverPacket) { + tradeChatMode = var3.method5496(); + publicChatMode = var3.method5455(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2140 == var1.serverPacket) { + class325.method6167(); + var16 = var3.method5546(); + var5 = var3.method5455(); + var6 = var3.method5496(); + experience[var5] = var16; + currentLevels[var5] = var6; + levels[var5] = 1; + + for (var7 = 0; var7 < 98; ++var7) { + if (var16 >= Skills.Skills_experienceTable[var7]) { + levels[var5] = var7 + 2; + } + } + + changedSkills[++changedSkillsCount - 1 & 31] = var5; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2150 == var1.serverPacket) { + minimapState = var3.readUnsignedByte(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2107 == var1.serverPacket) { + var16 = var3.method5465(); + var5 = var3.method5477(); + var6 = var3.method5632(); + var46 = Canvas.getWidget(var5); + var46.field2601 = var16 + (var6 << 16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2151 == var1.serverPacket) { + var36 = var3.readStringCp1252NullTerminated(); + Object[] var58 = new Object[var36.length() + 1]; + + for (var6 = var36.length() - 1; var6 >= 0; --var6) { + if (var36.charAt(var6) == 's') { + var58[var6 + 1] = var3.readStringCp1252NullTerminated(); + } else { + var58[var6 + 1] = new Integer(var3.readInt()); + } + } + + var58[0] = new Integer(var3.readInt()); + ScriptEvent var47 = new ScriptEvent(); + var47.args = var58; + ParamDefinition.runScriptEvent(var47); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2163 == var1.serverPacket) { + isCameraLocked = true; + GameShell.field455 = var3.readUnsignedByte() * 16384; + SecureRandomFuture.field1228 = var3.readUnsignedByte() * 128; + class14.field90 = var3.readUnsignedShort(); + class80.field1126 = var3.readUnsignedByte(); + ScriptEvent.field570 = var3.readUnsignedByte(); + if (ScriptEvent.field570 >= 100) { + var16 = GameShell.field455 * 128 + 64; + var5 = SecureRandomFuture.field1228 * 16384 + 64; + var6 = MusicPatchPcmStream.getTileHeight(var16, var5, WorldMapRectangle.plane) - class14.field90; + var7 = var16 - GrandExchangeOfferOwnWorldComparator.cameraX; + var8 = var6 - Varcs.cameraY; + var19 = var5 - WorldMapIcon_1.cameraZ; + var10 = (int)Math.sqrt((double)(var19 * var19 + var7 * var7)); + IgnoreList.cameraPitch = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047; + WorldMapSection2.cameraYaw = (int)(Math.atan2((double)var7, (double)var19) * -325.949D) & 2047; + if (IgnoreList.cameraPitch < 128) { + IgnoreList.cameraPitch = 128; + } + + if (IgnoreList.cameraPitch > 383) { + IgnoreList.cameraPitch = 383; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2136 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2300); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2125 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedByte(); + var6 = var3.readUnsignedShort(); + var17 = (InterfaceParent)interfaceParents.get((long)var16); + if (var17 != null) { + FontName.closeInterface(var17, var6 != var17.group); + } + + WorldMapManager.method679(var16, var6, var5); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2172 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2299); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2180 == var1.serverPacket) { + var16 = var3.readInt(); + InterfaceParent var56 = (InterfaceParent)interfaceParents.get((long)var16); + if (var56 != null) { + FontName.closeInterface(var56, true); + } + + if (meslayerContinueWidget != null) { + WorldMapSectionType.invalidateWidget(meslayerContinueWidget); + meslayerContinueWidget = null; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2117 == var1.serverPacket) { + var16 = var3.method5465(); + byte var40 = var3.readByte(); + Varps.Varps_temp[var16] = var40; + if (Varps.Varps_main[var16] != var40) { + Varps.Varps_main[var16] = var40; + } + + NetSocket.method3468(var16); + field782[++field823 - 1 & 31] = var16; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2182 == var1.serverPacket) { + class325.method6167(); + runEnergy = var3.readUnsignedByte(); + field833 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2176 == var1.serverPacket) { + var16 = var3.method5467(); + var55 = Canvas.getWidget(var16); + var55.modelType = 3; + var55.modelId = class223.localPlayer.appearance.getChatHeadId(); + WorldMapSectionType.invalidateWidget(var55); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2160 == var1.serverPacket) { + WorldMapSection2.field195 = var3.method5496(); + class40.field326 = var3.method5456(); + + for (var16 = class40.field326; var16 < class40.field326 + 8; ++var16) { + for (var5 = WorldMapSection2.field195; var5 < WorldMapSection2.field195 + 8; ++var5) { + if (groundItems[WorldMapRectangle.plane][var16][var5] != null) { + groundItems[WorldMapRectangle.plane][var16][var5] = null; + WorldMapCacheName.updateItemPile(var16, var5); + } + } + } + + for (PendingSpawn var37 = (PendingSpawn)pendingSpawns.last(); var37 != null; var37 = (PendingSpawn)pendingSpawns.previous()) { + if (var37.x >= class40.field326 && var37.x < class40.field326 + 8 && var37.y >= WorldMapSection2.field195 && var37.y < WorldMapSection2.field195 + 8 && var37.plane == WorldMapRectangle.plane) { + var37.hitpoints = 0; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2123 == var1.serverPacket) { + class185.readReflectionCheck(var3, var1.serverPacketLength); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2169 == var1.serverPacket) { + for (var16 = 0; var16 < Varps.Varps_main.length; ++var16) { + if (Varps.Varps_temp[var16] != Varps.Varps_main[var16]) { + Varps.Varps_main[var16] = Varps.Varps_temp[var16]; + NetSocket.method3468(var16); + field782[++field823 - 1 & 31] = var16; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2154 == var1.serverPacket) { + Tiles.friendSystem.ignoreList.read(var3, var1.serverPacketLength); + class195.FriendSystem_invalidateIgnoreds(); + field744 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2148 == var1.serverPacket) { + InterfaceParent.updateNpcs(false, var3); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2116 == var1.serverPacket) { + PlayerType.loadRegions(true, var1.packetBuffer); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2127 == var1.serverPacket) { + var16 = var3.method5467(); + var31 = var3.readStringCp1252NullTerminated(); + var18 = Canvas.getWidget(var16); + if (!var31.equals(var18.text)) { + var18.text = var31; + WorldMapSectionType.invalidateWidget(var18); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2100 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + if (var16 == 65535) { + var16 = -1; + } + + MusicPatchNode2.playSong(var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2178 == var1.serverPacket) { + var16 = var3.method5632(); + if (var16 == 65535) { + var16 = -1; + } + + var5 = var3.method5473(); + ClientPacket.playSoundJingle(var16, var5); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2096 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2298); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2099 == var1.serverPacket) { + for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) { + VarpDefinition var54 = AbstractWorldMapData.method288(var16); + if (var54 != null) { + Varps.Varps_temp[var16] = 0; + Varps.Varps_main[var16] = 0; + } + } + + class325.method6167(); + field823 += 32; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2104 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2304); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2133 == var1.serverPacket) { + var16 = var3.offset + var1.serverPacketLength; + var5 = var3.readUnsignedShort(); + var6 = var3.readUnsignedShort(); + if (var5 != rootInterface) { + rootInterface = var5; + this.resizeRoot(false); + WorldMapManager.Widget_resetModelFrames(rootInterface); + class186.runWidgetOnLoadListener(rootInterface); + + for (var7 = 0; var7 < 100; ++var7) { + field841[var7] = true; + } + } + + InterfaceParent var32; + for (; var6-- > 0; var32.field552 = true) { + var7 = var3.readInt(); + var8 = var3.readUnsignedShort(); + var19 = var3.readUnsignedByte(); + var32 = (InterfaceParent)interfaceParents.get((long)var7); + if (var32 != null && var8 != var32.group) { + FontName.closeInterface(var32, true); + var32 = null; + } + + if (var32 == null) { + var32 = WorldMapManager.method679(var7, var8, var19); + } + } + + for (var17 = (InterfaceParent)interfaceParents.first(); var17 != null; var17 = (InterfaceParent)interfaceParents.next()) { + if (var17.field552) { + var17.field552 = false; + } else { + FontName.closeInterface(var17, true); + } + } + + widgetClickMasks = new NodeHashTable(512); + + while (var3.offset < var16) { + var7 = var3.readInt(); + var8 = var3.readUnsignedShort(); + var19 = var3.readUnsignedShort(); + var10 = var3.readInt(); + + for (int var33 = var8; var33 <= var19; ++var33) { + var12 = (long)var33 + ((long)var7 << 32); + widgetClickMasks.put(new IntegerNode(var10), var12); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2179 == var1.serverPacket) { + var36 = var3.readStringCp1252NullTerminated(); + var31 = AbstractFont.escapeBrackets(NetSocket.method3467(class65.method1250(var3))); + class210.addGameMessage(6, var36, var31); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2111 == var1.serverPacket) { + DynamicObject.method2219(); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2128 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + var5 = var3.readUnsignedByte(); + var6 = var3.readUnsignedShort(); + Message.queueSoundEffect(var16, var5, var6); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2113 == var1.serverPacket) { + WorldMapManager.updatePlayers(var3, var1.serverPacketLength); + Archive.method4238(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2105 == var1.serverPacket) { + GrandExchangeOfferTotalQuantityComparator.method105(class185.field2303); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2153 == var1.serverPacket) { + if (rootInterface != -1) { + class40.runIntfCloseListeners(rootInterface, 0); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2110 == var1.serverPacket) { + class40.field326 = var3.method5456(); + WorldMapSection2.field195 = var3.readUnsignedByte(); + + while (var3.offset < var1.serverPacketLength) { + var16 = var3.readUnsignedByte(); + class185 var53 = WorldMapDecoration.method348()[var16]; + GrandExchangeOfferTotalQuantityComparator.method105(var53); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2147 == var1.serverPacket) { + for (var16 = 0; var16 < players.length; ++var16) { + if (players[var16] != null) { + players[var16].sequence = -1; + } + } + + for (var16 = 0; var16 < npcs.length; ++var16) { + if (npcs[var16] != null) { + npcs[var16].sequence = -1; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2120 == var1.serverPacket) { + destinationX = var3.readUnsignedByte(); + if (destinationX == 255) { + destinationX = 0; + } + + destinationY = var3.readUnsignedByte(); + if (destinationY == 255) { + destinationY = 0; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2112 == var1.serverPacket) { + class219.privateChatMode = Fonts.method5258(var3.readUnsignedByte()); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2138 == var1.serverPacket) { + var45 = var3.readBoolean(); + if (var45) { + if (StudioGame.field3086 == null) { + StudioGame.field3086 = new class237(); + } + } else { + StudioGame.field3086 = null; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2119 == var1.serverPacket) { + var16 = var3.method5467(); + var5 = var3.method5632(); + var18 = Canvas.getWidget(var16); + if (var18 != null && var18.type == 0) { + if (var5 > var18.scrollHeight - var18.height) { + var5 = var18.scrollHeight - var18.height; + } + + if (var5 < 0) { + var5 = 0; + } + + if (var5 != var18.scrollY) { + var18.scrollY = var5; + WorldMapSectionType.invalidateWidget(var18); + } + } + + var1.serverPacket = null; + return true; + } + + class32.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1291 != null ? var1.field1291.id : -1) + "," + (var1.field1301 != null ? var1.field1301.id : -1) + "," + var1.serverPacketLength, (Throwable)null); + DynamicObject.method2219(); + } catch (IOException var34) { + MouseRecorder.method1213(); + } catch (Exception var35) { + var31 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1291 != null ? var1.field1291.id : -1) + "," + (var1.field1301 != null ? var1.field1301.id : -1) + "," + var1.serverPacketLength + "," + (class223.localPlayer.pathX[0] + class223.baseX * 64) + "," + (class223.localPlayer.pathY[0] + class286.baseY * 64) + ","; + + for (var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) { + var31 = var31 + var3.array[var6] + ","; + } + + class32.RunException_sendStackTrace(var31, var35); + DynamicObject.method2219(); + } + + return true; + } + } + + @ObfuscatedName("he") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "255" + ) + final void method1323() { + boolean var1 = false; + + int var2; + int var5; + while (!var1) { + var1 = true; + + for (var2 = 0; var2 < menuOptionsCount - 1; ++var2) { + if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) { + String var3 = menuTargets[var2]; + menuTargets[var2] = menuTargets[var2 + 1]; + menuTargets[var2 + 1] = var3; + String var4 = menuActions[var2]; + menuActions[var2] = menuActions[var2 + 1]; + menuActions[var2 + 1] = var4; + var5 = menuOpcodes[var2]; + menuOpcodes[var2] = menuOpcodes[var2 + 1]; + menuOpcodes[var2 + 1] = var5; + var5 = menuArguments1[var2]; + menuArguments1[var2] = menuArguments1[var2 + 1]; + menuArguments1[var2 + 1] = var5; + var5 = menuArguments2[var2]; + menuArguments2[var2] = menuArguments2[var2 + 1]; + menuArguments2[var2 + 1] = var5; + var5 = menuIdentifiers[var2]; + menuIdentifiers[var2] = menuIdentifiers[var2 + 1]; + menuIdentifiers[var2 + 1] = var5; + boolean var6 = menuShiftClick[var2]; + menuShiftClick[var2] = menuShiftClick[var2 + 1]; + menuShiftClick[var2 + 1] = var6; + var1 = false; + } + } + } + + if (Frames.dragInventoryWidget == null) { + if (clickedWidget == null) { + int var16 = MouseHandler.MouseHandler_lastButton; + int var13; + int var14; + if (isMenuOpen) { + int var7; + int var8; + int var17; + if (var16 != 1 && (WorldMapIcon_1.mouseCam || var16 != 4)) { + var2 = MouseHandler.MouseHandler_x; + var13 = MouseHandler.MouseHandler_y; + if (var2 < UrlRequester.menuX - 10 || var2 > FriendSystem.menuWidth + UrlRequester.menuX + 10 || var13 < class51.menuY - 10 || var13 > class51.menuY + WorldMapDecoration.menuHeight + 10) { + isMenuOpen = false; + var14 = UrlRequester.menuX; + var5 = class51.menuY; + var17 = FriendSystem.menuWidth; + var7 = WorldMapDecoration.menuHeight; + + for (var8 = 0; var8 < rootWidgetCount; ++var8) { + if (rootWidgetWidths[var8] + rootWidgetXs[var8] > var14 && rootWidgetXs[var8] < var17 + var14 && rootWidgetHeights[var8] + rootWidgetYs[var8] > var5 && rootWidgetYs[var8] < var5 + var7) { + field841[var8] = true; + } + } + } + } + + if (var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) { + var2 = UrlRequester.menuX; + var13 = class51.menuY; + var14 = FriendSystem.menuWidth; + var5 = MouseHandler.MouseHandler_lastPressedX; + var17 = MouseHandler.MouseHandler_lastPressedY; + var7 = -1; + + int var9; + for (var8 = 0; var8 < menuOptionsCount; ++var8) { + var9 = (menuOptionsCount - 1 - var8) * 15 + var13 + 31; + if (var5 > var2 && var5 < var14 + var2 && var17 > var9 - 13 && var17 < var9 + 3) { + var7 = var8; + } + } + + if (var7 != -1) { + ModelData0.method3210(var7); + } + + isMenuOpen = false; + var8 = UrlRequester.menuX; + var9 = class51.menuY; + int var10 = FriendSystem.menuWidth; + int var11 = WorldMapDecoration.menuHeight; + + for (int var12 = 0; var12 < rootWidgetCount; ++var12) { + if (rootWidgetXs[var12] + rootWidgetWidths[var12] > var8 && rootWidgetXs[var12] < var8 + var10 && rootWidgetHeights[var12] + rootWidgetYs[var12] > var9 && rootWidgetYs[var12] < var11 + var9) { + field841[var12] = true; + } + } + } + } else { + var2 = BuddyRankComparator.getNewestMenuIdx(); + if ((var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) && var2 >= 0) { + var13 = menuOpcodes[var2]; + if (var13 == 39 || var13 == 40 || var13 == 41 || var13 == 42 || var13 == 43 || var13 == 33 || var13 == 34 || var13 == 35 || var13 == 36 || var13 == 37 || var13 == 38 || var13 == 1005) { + var14 = menuArguments1[var2]; + var5 = menuArguments2[var2]; + Widget var15 = Canvas.getWidget(var5); + if (ModelData0.method3211(class2.getWidgetClickMask(var15)) || WorldMapSection0.method249(class2.getWidgetClickMask(var15))) { + if (Frames.dragInventoryWidget != null && !field748 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { + class3.method47(field745, field746); + } + + field748 = false; + itemDragDuration = 0; + if (Frames.dragInventoryWidget != null) { + WorldMapSectionType.invalidateWidget(Frames.dragInventoryWidget); + } + + Frames.dragInventoryWidget = Canvas.getWidget(var5); + dragItemSlotSource = var14; + field745 = MouseHandler.MouseHandler_lastPressedX; + field746 = MouseHandler.MouseHandler_lastPressedY; + if (var2 >= 0) { + ChatChannel.method2225(var2); + } + + WorldMapSectionType.invalidateWidget(Frames.dragInventoryWidget); + return; + } + } + } + + if ((var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) && this.shouldLeftClickOpenMenu()) { + var16 = 2; + } + + if ((var16 == 1 || !WorldMapIcon_1.mouseCam && var16 == 4) && menuOptionsCount > 0) { + ModelData0.method3210(var2); + } + + if (var16 == 2 && menuOptionsCount > 0) { + this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + } + + } + } + } + + @ObfuscatedName("hq") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-5" + ) + @Export("shouldLeftClickOpenMenu") + final boolean shouldLeftClickOpenMenu() { + int var1 = BuddyRankComparator.getNewestMenuIdx(); + return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || ParamDefinition.method4468(var1)) && !menuShiftClick[var1]; + } + + @ObfuscatedName("ho") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1638335073" + ) + @Export("openMenu") + final void openMenu(int var1, int var2) { + UserComparator6.calculateMenuBounds(var1, var2); + PacketWriter.scene.menuOpen(WorldMapRectangle.plane, var1, var2, false); + isMenuOpen = true; + } + + @ObfuscatedName("ij") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "313560965" + ) + @Export("resizeRoot") + final void resizeRoot(boolean var1) { + class247.resizeComponents(rootInterface, FloorDecoration.canvasWidth, WallDecoration.canvasHeight, var1); + } + + @ObfuscatedName("is") + @ObfuscatedSignature( + signature = "(Lho;B)V", + garbageValue = "1" + ) + @Export("alignWidget") + void alignWidget(Widget var1) { + Widget var2 = var1.parentId == -1 ? null : Canvas.getWidget(var1.parentId); + int var3; + int var4; + if (var2 == null) { + var3 = FloorDecoration.canvasWidth; + var4 = WallDecoration.canvasHeight; + } else { + var3 = var2.width; + var4 = var2.height; + } + + TileItem.alignWidgetSize(var1, var3, var4, false); + class30.alignWidgetPosition(var1, var3, var4); + } + + @ObfuscatedName("jt") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-808375331" + ) + final void method1327() { + WorldMapSectionType.invalidateWidget(clickedWidget); + ++ViewportMouse.widgetDragDuration; + if (field817 && field814) { + int var1 = MouseHandler.MouseHandler_x; + int var2 = MouseHandler.MouseHandler_y; + var1 -= widgetClickX; + var2 -= widgetClickY; + if (var1 < field695) { + var1 = field695; + } + + if (var1 + clickedWidget.width > field695 + clickedWidgetParent.width) { + var1 = field695 + clickedWidgetParent.width - clickedWidget.width; + } + + if (var2 < field816) { + var2 = field816; + } + + if (var2 + clickedWidget.height > field816 + clickedWidgetParent.height) { + var2 = field816 + clickedWidgetParent.height - clickedWidget.height; + } + + int var3 = var1 - field818; + int var4 = var2 - field819; + int var5 = clickedWidget.dragZoneSize; + if (ViewportMouse.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { + isDraggingWidget = true; + } + + int var6 = var1 - field695 + clickedWidgetParent.scrollX; + int var7 = var2 - field816 + clickedWidgetParent.scrollY; + ScriptEvent var8; + if (clickedWidget.onDrag != null && isDraggingWidget) { + var8 = new ScriptEvent(); + var8.widget = clickedWidget; + var8.mouseX = var6; + var8.mouseY = var7; + var8.args = clickedWidget.onDrag; + ParamDefinition.runScriptEvent(var8); + } + + if (MouseHandler.MouseHandler_currentButton == 0) { + if (isDraggingWidget) { + if (clickedWidget.onDragComplete != null) { + var8 = new ScriptEvent(); + var8.widget = clickedWidget; + var8.mouseX = var6; + var8.mouseY = var7; + var8.dragTarget = draggedOnWidget; + var8.args = clickedWidget.onDragComplete; + ParamDefinition.runScriptEvent(var8); + } + + if (draggedOnWidget != null && GrandExchangeEvents.method81(clickedWidget) != null) { + PacketBufferNode var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2278, packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(draggedOnWidget.childIndex); + var9.packetBuffer.writeShortLE(draggedOnWidget.itemId); + var9.packetBuffer.method5461(clickedWidget.childIndex); + var9.packetBuffer.method5615(draggedOnWidget.id); + var9.packetBuffer.writeIntME(clickedWidget.itemId); + var9.packetBuffer.writeInt(clickedWidget.id); + packetWriter.addNode(var9); + } + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(field818 + widgetClickX, widgetClickY + field819); + } else if (menuOptionsCount > 0) { + class3.method47(field818 + widgetClickX, field819 + widgetClickY); + } + + clickedWidget = null; + } + + } else { + if (ViewportMouse.widgetDragDuration > 1) { + clickedWidget = null; + } + + } + } + + @ObfuscatedName("kz") + @ObfuscatedSignature( + signature = "(S)Ljq;", + garbageValue = "9955" + ) + @Export("username") + public Username username() { + return class223.localPlayer != null ? class223.localPlayer.username : null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "431297908" + ) + public static void method1565() { + if (MouseHandler.MouseHandler_instance != null) { + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_instance = null; + } + } + + } + + @ObfuscatedName("q") + static int method1707(long var0) { + return (int)(var0 >>> 14 & 3L); + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1109826367" + ) + static int method1746(int var0, Script var1, boolean var2) { + Widget var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETSCROLLX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTEXT) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTRANSTOP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTRANSBOT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETFILLMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else { + return 2; + } + } + + static void aaf() { + if (field879 && class223.localPlayer != null) { + int var0 = class223.localPlayer.pathX[0]; + int var1 = class223.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { + return; + } + + ObjectSound.oculusOrbFocalPointX = class223.localPlayer.x; + int var2 = MusicPatchPcmStream.getTileHeight(class223.localPlayer.x * 1389855768, class223.localPlayer.y * -1163478977, WorldMapRectangle.plane) - camFollowHeight * 341280813; + if (var2 < ModelData0.field1840 * -1351160427) { + ModelData0.field1840 = var2 * 376443893; + } + + class14.oculusOrbFocalPointY = class223.localPlayer.y * 682054857; + field879 = false; + } + + } + + static void aaw() { + if (field879 && class223.localPlayer != null) { + int var0 = class223.localPlayer.pathX[0]; + int var1 = class223.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { + return; + } + + ObjectSound.oculusOrbFocalPointX = class223.localPlayer.x; + int var2 = MusicPatchPcmStream.getTileHeight(class223.localPlayer.x, class223.localPlayer.y * 682054857, WorldMapRectangle.plane) - camFollowHeight * -844153885; + if (var2 < ModelData0.field1840 * -1351160427) { + ModelData0.field1840 = var2 * -506989123; + } + + class14.oculusOrbFocalPointY = class223.localPlayer.y * 682054857; + field879 = false; + } + + } + + static void aac() { + if (field879 && class223.localPlayer != null) { + int var0 = class223.localPlayer.pathX[0]; + int var1 = class223.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 638955859 || var1 >= 104) { + return; + } + + ObjectSound.oculusOrbFocalPointX = class223.localPlayer.x; + int var2 = MusicPatchPcmStream.getTileHeight(class223.localPlayer.x * -646834471, class223.localPlayer.y * 1282427502, WorldMapRectangle.plane * -75268835) - camFollowHeight * -844153885; + if (var2 < ModelData0.field1840 * -1351160427) { + ModelData0.field1840 = var2 * -506989123; + } + + class14.oculusOrbFocalPointY = class223.localPlayer.y * 471723272; + field879 = false; + } + + } + + static void aad() { + if (StudioGame.field3086 != null) { + field905 = cycle; + StudioGame.field3086.method4288(); + + for (int var0 = 0; var0 < players.length; ++var0) { + if (players[var0] != null) { + StudioGame.field3086.method4289(class223.baseX * 64 + (players[var0].x * 152504076 >> 7), class286.baseY * 64 + (players[var0].y * 682054857 >> 7)); + } + } + } + + } +} diff --git a/runescape-client/src/main/java/ClientPacket.java b/runescape-client/src/main/java/ClientPacket.java index da5aa1054c..dd396fe404 100644 --- a/runescape-client/src/main/java/ClientPacket.java +++ b/runescape-client/src/main/java/ClientPacket.java @@ -1,704 +1,713 @@ -import java.net.URL; -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 netscape.javascript.JSObject; - -@ObfuscatedName("gw") -@Implements("ClientPacket") -public class ClientPacket implements class181 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2214; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2222; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2200; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2187; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2275; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lgw;" - ) - static final ClientPacket field2189; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2190; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2191; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2192; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2193; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2267; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lgw;" - ) - static final ClientPacket field2195; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2229; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2283; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2198; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2199; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2185; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2250; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2202; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2203; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2258; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2205; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2206; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2207; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2208; - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2270; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2210; - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2211; - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2212; - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2213; - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2188; - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2215; - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2282; - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2243; - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2269; - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2219; - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2220; - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2228; - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2217; - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2223; - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2224; - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2225; - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2226; - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2227; - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2209; - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2196; - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2245; - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2231; - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2232; - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2233; - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2234; - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2251; - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2236; - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2218; - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2253; - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2239; - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2240; - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2241; - @ObfuscatedName("bv") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2242; - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2256; - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2244; - @ObfuscatedName("bw") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2194; - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2261; - @ObfuscatedName("bt") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2247; - @ObfuscatedName("bj") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2248; - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2249; - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2238; - @ObfuscatedName("bh") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2286; - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2254; - @ObfuscatedName("be") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2230; - @ObfuscatedName("bl") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2201; - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2255; - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2246; - @ObfuscatedName("bz") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2257; - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2235; - @ObfuscatedName("br") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2259; - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2260; - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2221; - @ObfuscatedName("cb") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2262; - @ObfuscatedName("ct") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2263; - @ObfuscatedName("ch") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2264; - @ObfuscatedName("cc") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2265; - @ObfuscatedName("cv") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2266; - @ObfuscatedName("cr") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2252; - @ObfuscatedName("cl") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2268; - @ObfuscatedName("ca") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2204; - @ObfuscatedName("ck") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2278; - @ObfuscatedName("cm") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2271; - @ObfuscatedName("ce") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2272; - @ObfuscatedName("cn") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2273; - @ObfuscatedName("cj") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2274; - @ObfuscatedName("cw") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2216; - @ObfuscatedName("cu") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2276; - @ObfuscatedName("cd") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2277; - @ObfuscatedName("cs") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2281; - @ObfuscatedName("cx") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2279; - @ObfuscatedName("ci") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2280; - @ObfuscatedName("cf") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2186; - @ObfuscatedName("cq") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2184; - @ObfuscatedName("co") - @ObfuscatedSignature( - signature = "Lgw;" - ) - public static final ClientPacket field2237; - @ObfuscatedName("cz") - @ObfuscatedSignature( - signature = "Lgw;" - ) - static final ClientPacket field2284; - @ObfuscatedName("cp") - @ObfuscatedGetter( - intValue = -187776259 - ) - @Export("id") - final int id; - @ObfuscatedName("cy") - @ObfuscatedGetter( - intValue = 351029623 - ) - @Export("length") - final int length; - - static { - field2214 = new ClientPacket(0, 3); - field2222 = new ClientPacket(1, 2); - field2200 = new ClientPacket(2, 1); - field2187 = new ClientPacket(3, 9); - field2275 = new ClientPacket(4, 3); - field2189 = new ClientPacket(5, 7); - field2190 = new ClientPacket(6, -1); - field2191 = new ClientPacket(7, -1); - field2192 = new ClientPacket(8, 8); - field2193 = new ClientPacket(9, -1); - field2267 = new ClientPacket(10, 9); - field2195 = new ClientPacket(11, -1); - field2229 = new ClientPacket(12, 16); - field2283 = new ClientPacket(13, 4); - field2198 = new ClientPacket(14, 7); - field2199 = new ClientPacket(15, 8); - field2185 = new ClientPacket(16, 0); - field2250 = new ClientPacket(17, 3); - field2202 = new ClientPacket(18, 8); - field2203 = new ClientPacket(19, 8); - field2258 = new ClientPacket(20, 8); - field2205 = new ClientPacket(21, 2); - field2206 = new ClientPacket(22, 7); - field2207 = new ClientPacket(23, 8); - field2208 = new ClientPacket(24, -2); - field2270 = new ClientPacket(25, 5); - field2210 = new ClientPacket(26, 11); - field2211 = new ClientPacket(27, 3); - field2212 = new ClientPacket(28, 3); - field2213 = new ClientPacket(29, 6); - field2188 = new ClientPacket(30, 7); - field2215 = new ClientPacket(31, 3); - field2282 = new ClientPacket(32, 8); - field2243 = new ClientPacket(33, 8); - field2269 = new ClientPacket(34, 8); - field2219 = new ClientPacket(35, 14); - field2220 = new ClientPacket(36, 3); - field2228 = new ClientPacket(37, 8); - field2217 = new ClientPacket(38, 8); - field2223 = new ClientPacket(39, 4); - field2224 = new ClientPacket(40, -2); - field2225 = new ClientPacket(41, 11); - field2226 = new ClientPacket(42, 7); - field2227 = new ClientPacket(43, 7); - field2209 = new ClientPacket(44, 7); - field2196 = new ClientPacket(45, 13); - field2245 = new ClientPacket(46, -1); - field2231 = new ClientPacket(47, 8); - field2232 = new ClientPacket(48, 2); - field2233 = new ClientPacket(49, 13); - field2234 = new ClientPacket(50, 8); - field2251 = new ClientPacket(51, 8); - field2236 = new ClientPacket(52, -2); - field2218 = new ClientPacket(53, -1); - field2253 = new ClientPacket(54, 7); - field2239 = new ClientPacket(55, 4); - field2240 = new ClientPacket(56, 3); - field2241 = new ClientPacket(57, 3); - field2242 = new ClientPacket(58, 16); - field2256 = new ClientPacket(59, 8); - field2244 = new ClientPacket(60, 15); - field2194 = new ClientPacket(61, 9); - field2261 = new ClientPacket(62, 8); - field2247 = new ClientPacket(63, 8); - field2248 = new ClientPacket(64, 3); - field2249 = new ClientPacket(65, -1); - field2238 = new ClientPacket(66, 15); - field2286 = new ClientPacket(67, 3); - field2254 = new ClientPacket(68, 0); - field2230 = new ClientPacket(69, 2); - field2201 = new ClientPacket(70, -1); - field2255 = new ClientPacket(71, -1); - field2246 = new ClientPacket(72, -1); - field2257 = new ClientPacket(73, -1); - field2235 = new ClientPacket(74, 4); - field2259 = new ClientPacket(75, 7); - field2260 = new ClientPacket(76, 16); - field2221 = new ClientPacket(77, 7); - field2262 = new ClientPacket(78, 0); - field2263 = new ClientPacket(79, 13); - field2264 = new ClientPacket(80, 8); - field2265 = new ClientPacket(81, 0); - field2266 = new ClientPacket(82, 10); - field2252 = new ClientPacket(83, -1); - field2268 = new ClientPacket(84, 3); - field2204 = new ClientPacket(85, 3); - field2278 = new ClientPacket(86, -1); - field2271 = new ClientPacket(87, 4); - field2272 = new ClientPacket(88, -1); - field2273 = new ClientPacket(89, -1); - field2274 = new ClientPacket(90, -1); - field2216 = new ClientPacket(91, 0); - field2276 = new ClientPacket(92, 6); - field2277 = new ClientPacket(93, 8); - field2281 = new ClientPacket(94, -1); - field2279 = new ClientPacket(95, 8); - field2280 = new ClientPacket(96, 9); - field2186 = new ClientPacket(97, 7); - field2184 = new ClientPacket(98, -1); - field2237 = new ClientPacket(99, 3); - field2284 = new ClientPacket(100, 2); - } - - ClientPacket(int var1, int var2) { - this.id = var1; - this.length = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-2036891673" - ) - @Export("loadWorlds") - static boolean loadWorlds() { - try { - if (RouteStrategy.World_request == null) { - RouteStrategy.World_request = RouteStrategy.urlRequester.request(new URL(MouseHandler.field464)); - } else if (RouteStrategy.World_request.isDone()) { - byte[] var0 = RouteStrategy.World_request.getResponse(); - Buffer var1 = new Buffer(var0); - var1.readInt(); - World.World_count = var1.readUnsignedShort(); - World.World_worlds = new World[World.World_count]; - - World var3; - for (int var2 = 0; var2 < World.World_count; var3.index = var2++) { - var3 = World.World_worlds[var2] = new World(); - var3.id = var1.readUnsignedShort(); - var3.properties = var1.readInt(); - var3.host = var1.readStringCp1252NullTerminated(); - var3.activity = var1.readStringCp1252NullTerminated(); - var3.location = var1.readUnsignedByte(); - var3.population = var1.readShort(); - } - - AbstractWorldMapData.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); - RouteStrategy.World_request = null; - return true; - } - } catch (Exception var4) { - var4.printStackTrace(); - RouteStrategy.World_request = null; - } - - return false; - } - - @ObfuscatedName("km") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1750480729" - ) - static void method3599(String var0) { - WorldMapArea.field217 = var0; - - try { - String var1 = Coord.client.getParameter(Integer.toString(18)); - String var2 = Coord.client.getParameter(Integer.toString(13)); - String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2; - if (var0.length() == 0) { - var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; - } else { - var3 = var3 + "; Expires=" + WorldMapID.method522(SoundCache.method2480() + 94608000000L) + "; Max-Age=" + 94608000L; - } - - Client var4 = Coord.client; - String var5 = "document.cookie=\"" + var3 + "\""; - JSObject.getWindow(var4).eval(var5); - } catch (Throwable var6) { - } - - } -} +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.ScriptOpcodes; + +@ObfuscatedName("gy") +@Implements("ClientPacket") +public class ClientPacket implements class181 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2208; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2185; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2285; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2187; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2188; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2189; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2190; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2191; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2238; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2248; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2194; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2195; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2196; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2229; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2198; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2186; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2200; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2201; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2240; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2203; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2204; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2233; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2215; + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2207; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2192; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2209; + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2210; + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2205; + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2212; + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2213; + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2259; + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2272; + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2216; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2217; + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2218; + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2219; + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2220; + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2221; + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2222; + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2202; + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2224; + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2225; + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2226; + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2227; + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2228; + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "Lgy;" + ) + static final ClientPacket field2184; + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2230; + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2282; + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2232; + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2283; + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2234; + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2235; + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2214; + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2237; + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2245; + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2239; + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2268; + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2241; + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2242; + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2243; + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2244; + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2206; + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2246; + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2265; + @ObfuscatedName("be") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2236; + @ObfuscatedName("bu") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2249; + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2250; + @ObfuscatedName("bb") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2254; + @ObfuscatedName("bt") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2252; + @ObfuscatedName("by") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2253; + @ObfuscatedName("bq") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2255; + @ObfuscatedName("bo") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2271; + @ObfuscatedName("br") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2256; + @ObfuscatedName("bl") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2257; + @ObfuscatedName("bf") + @ObfuscatedSignature( + signature = "Lgy;" + ) + static final ClientPacket field2258; + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2199; + @ObfuscatedName("bw") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2247; + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2260; + @ObfuscatedName("cz") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2262; + @ObfuscatedName("ck") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2263; + @ObfuscatedName("cv") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2264; + @ObfuscatedName("co") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2231; + @ObfuscatedName("cs") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2197; + @ObfuscatedName("cg") + @ObfuscatedSignature( + signature = "Lgy;" + ) + static final ClientPacket field2267; + @ObfuscatedName("cn") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2279; + @ObfuscatedName("cd") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2269; + @ObfuscatedName("cy") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2270; + @ObfuscatedName("cj") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2251; + @ObfuscatedName("cb") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2211; + @ObfuscatedName("cr") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2273; + @ObfuscatedName("ct") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2274; + @ObfuscatedName("ci") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2275; + @ObfuscatedName("cu") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2276; + @ObfuscatedName("ce") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2193; + @ObfuscatedName("cc") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2278; + @ObfuscatedName("cl") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2266; + @ObfuscatedName("cw") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2280; + @ObfuscatedName("cq") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2277; + @ObfuscatedName("ca") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2281; + @ObfuscatedName("cf") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2261; + @ObfuscatedName("cx") + @ObfuscatedSignature( + signature = "Lgy;" + ) + public static final ClientPacket field2284; + @ObfuscatedName("cm") + @ObfuscatedGetter( + intValue = 1560897385 + ) + @Export("id") + final int id; + @ObfuscatedName("cp") + @ObfuscatedGetter( + intValue = 171085629 + ) + @Export("length") + final int length; + + static { + field2208 = new ClientPacket(0, 4); + field2185 = new ClientPacket(1, 6); + field2285 = new ClientPacket(2, 8); + field2187 = new ClientPacket(3, -1); + field2188 = new ClientPacket(4, -1); + field2189 = new ClientPacket(5, 8); + field2190 = new ClientPacket(6, 7); + field2191 = new ClientPacket(7, 9); + field2238 = new ClientPacket(8, 4); + field2248 = new ClientPacket(9, 2); + field2194 = new ClientPacket(10, 8); + field2195 = new ClientPacket(11, 11); + field2196 = new ClientPacket(12, -1); + field2229 = new ClientPacket(13, 0); + field2198 = new ClientPacket(14, 8); + field2186 = new ClientPacket(15, 1); + field2200 = new ClientPacket(16, 8); + field2201 = new ClientPacket(17, -1); + field2240 = new ClientPacket(18, 7); + field2203 = new ClientPacket(19, 8); + field2204 = new ClientPacket(20, 8); + field2233 = new ClientPacket(21, 3); + field2215 = new ClientPacket(22, -1); + field2207 = new ClientPacket(23, 0); + field2192 = new ClientPacket(24, 7); + field2209 = new ClientPacket(25, 4); + field2210 = new ClientPacket(26, 6); + field2205 = new ClientPacket(27, 7); + field2212 = new ClientPacket(28, 2); + field2213 = new ClientPacket(29, 8); + field2259 = new ClientPacket(30, 8); + field2272 = new ClientPacket(31, 8); + field2216 = new ClientPacket(32, -1); + field2217 = new ClientPacket(33, 8); + field2218 = new ClientPacket(34, 13); + field2219 = new ClientPacket(35, 3); + field2220 = new ClientPacket(36, 2); + field2221 = new ClientPacket(37, 3); + field2222 = new ClientPacket(38, 9); + field2202 = new ClientPacket(39, -1); + field2224 = new ClientPacket(40, -2); + field2225 = new ClientPacket(41, 0); + field2226 = new ClientPacket(42, 7); + field2227 = new ClientPacket(43, 3); + field2228 = new ClientPacket(44, 13); + field2184 = new ClientPacket(45, -1); + field2230 = new ClientPacket(46, 15); + field2282 = new ClientPacket(47, 8); + field2232 = new ClientPacket(48, -1); + field2283 = new ClientPacket(49, 0); + field2234 = new ClientPacket(50, 7); + field2235 = new ClientPacket(51, 7); + field2214 = new ClientPacket(52, 3); + field2237 = new ClientPacket(53, -1); + field2245 = new ClientPacket(54, 2); + field2239 = new ClientPacket(55, 9); + field2268 = new ClientPacket(56, -1); + field2241 = new ClientPacket(57, 0); + field2242 = new ClientPacket(58, 3); + field2243 = new ClientPacket(59, 11); + field2244 = new ClientPacket(60, 8); + field2206 = new ClientPacket(61, 3); + field2246 = new ClientPacket(62, 14); + field2265 = new ClientPacket(63, 7); + field2236 = new ClientPacket(64, 16); + field2249 = new ClientPacket(65, 8); + field2250 = new ClientPacket(66, 8); + field2254 = new ClientPacket(67, -1); + field2252 = new ClientPacket(68, 13); + field2253 = new ClientPacket(69, 4); + field2255 = new ClientPacket(70, 8); + field2271 = new ClientPacket(71, 3); + field2256 = new ClientPacket(72, 5); + field2257 = new ClientPacket(73, 8); + field2258 = new ClientPacket(74, 7); + field2199 = new ClientPacket(75, 10); + field2247 = new ClientPacket(76, 8); + field2260 = new ClientPacket(77, 9); + field2262 = new ClientPacket(78, 3); + field2263 = new ClientPacket(79, 3); + field2264 = new ClientPacket(80, -1); + field2231 = new ClientPacket(81, 3); + field2197 = new ClientPacket(82, 15); + field2267 = new ClientPacket(83, 2); + field2279 = new ClientPacket(84, -1); + field2269 = new ClientPacket(85, 16); + field2270 = new ClientPacket(86, -2); + field2251 = new ClientPacket(87, 8); + field2211 = new ClientPacket(88, 8); + field2273 = new ClientPacket(89, 3); + field2274 = new ClientPacket(90, 3); + field2275 = new ClientPacket(91, -1); + field2276 = new ClientPacket(92, -1); + field2193 = new ClientPacket(93, -2); + field2278 = new ClientPacket(94, 16); + field2266 = new ClientPacket(95, 7); + field2280 = new ClientPacket(96, 3); + field2277 = new ClientPacket(97, 7); + field2281 = new ClientPacket(98, -1); + field2261 = new ClientPacket(99, 4); + field2284 = new ClientPacket(100, -1); + } + + ClientPacket(int var1, int var2) { + this.id = var1; + this.length = var2; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "470229947" + ) + static void method3575() { + for (ObjectSound var0 = (ObjectSound)ObjectSound.objectSounds.last(); var0 != null; var0 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var0.stream1 != null) { + WorldMapLabelSize.pcmStreamMixer.removeSubStream(var0.stream1); + var0.stream1 = null; + } + + if (var0.stream2 != null) { + WorldMapLabelSize.pcmStreamMixer.removeSubStream(var0.stream2); + var0.stream2 = null; + } + } + + ObjectSound.objectSounds.clear(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(ZZI)Llp;", + garbageValue = "-1999354479" + ) + static IndexedSprite method3572(boolean var0, boolean var1) { + return var0 ? (var1 ? Login.field1163 : class42.options_buttons_2Sprite) : (var1 ? ClientPreferences.field1046 : class195.options_buttons_0Sprite); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-2131546736" + ) + static int method3573(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else { + var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + } + + if (var0 == ScriptOpcodes.CC_CALLONRESIZE) { + if (Interpreter.field1089 >= 10) { + throw new RuntimeException(); + } else if (var3.onResize == null) { + return 0; + } else { + ScriptEvent var4 = new ScriptEvent(); + var4.widget = var3; + var4.args = var3.onResize; + var4.field568 = Interpreter.field1089 + 1; + Client.scriptEvents.addFirst(var4); + return 1; + } + } else { + return 2; + } + } + + @ObfuscatedName("fc") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1614691379" + ) + @Export("playSoundJingle") + static void playSoundJingle(int var0, int var1) { + if (Client.field761 != 0 && var0 != -1) { + class83.method2064(ClanMate.archive11, var0, 0, Client.field761, false); + Client.field759 = true; + } + + } +} diff --git a/runescape-client/src/main/java/ClientPreferences.java b/runescape-client/src/main/java/ClientPreferences.java index 6a9f7d5e91..544fbe9b4f 100644 --- a/runescape-client/src/main/java/ClientPreferences.java +++ b/runescape-client/src/main/java/ClientPreferences.java @@ -1,141 +1,284 @@ -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.Map.Entry; -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("bz") -@Implements("ClientPreferences") -public class ClientPreferences { - @ObfuscatedName("qz") - @ObfuscatedSignature( - signature = "Ldh;" - ) - @Export("pcmPlayer1") - static PcmPlayer pcmPlayer1; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -312136501 - ) - @Export("ClientPreferences_optionCount") - static int ClientPreferences_optionCount; - @ObfuscatedName("t") - @Export("roofsHidden") - boolean roofsHidden; - @ObfuscatedName("g") - @Export("titleMusicDisabled") - boolean titleMusicDisabled; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1319305605 - ) - @Export("windowMode") - int windowMode; - @ObfuscatedName("u") - @Export("rememberedUsername") - String rememberedUsername; - @ObfuscatedName("j") - @Export("hideUsername") - boolean hideUsername; - @ObfuscatedName("v") - @Export("parameters") - LinkedHashMap parameters; - - static { - ClientPreferences_optionCount = 6; - } - - ClientPreferences() { - this.windowMode = 1; - this.rememberedUsername = null; - this.hideUsername = false; - this.parameters = new LinkedHashMap(); - this.method1811(true); - } - - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - ClientPreferences(Buffer var1) { - this.windowMode = 1; - this.rememberedUsername = null; - this.hideUsername = false; - this.parameters = new LinkedHashMap(); - if (var1 != null && var1.array != null) { - int var2 = var1.readUnsignedByte(); - if (var2 >= 0 && var2 <= ClientPreferences_optionCount) { - if (var1.readUnsignedByte() == 1) { - this.roofsHidden = true; - } - - if (var2 > 1) { - this.titleMusicDisabled = var1.readUnsignedByte() == 1; - } - - if (var2 > 3) { - this.windowMode = var1.readUnsignedByte(); - } - - if (var2 > 2) { - int var3 = var1.readUnsignedByte(); - - for (int var4 = 0; var4 < var3; ++var4) { - int var5 = var1.readInt(); - int var6 = var1.readInt(); - this.parameters.put(var5, var6); - } - } - - if (var2 > 4) { - this.rememberedUsername = var1.readStringCp1252NullTerminatedOrNull(); - } - - if (var2 > 5) { - this.hideUsername = var1.readBoolean(); - } - } else { - this.method1811(true); - } - } else { - this.method1811(true); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "-20" - ) - void method1811(boolean var1) { - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Lkz;", - garbageValue = "215138382" - ) - @Export("toBuffer") - Buffer toBuffer() { - Buffer var1 = new Buffer(100); - var1.writeByte(ClientPreferences_optionCount); - var1.writeByte(this.roofsHidden ? 1 : 0); - var1.writeByte(this.titleMusicDisabled ? 1 : 0); - var1.writeByte(this.windowMode); - var1.writeByte(this.parameters.size()); - Iterator var2 = this.parameters.entrySet().iterator(); - - while (var2.hasNext()) { - Entry var3 = (Entry)var2.next(); - var1.writeInt((Integer)var3.getKey()); - var1.writeInt((Integer)var3.getValue()); - } - - var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : ""); - var1.writeBoolean(this.hideUsername); - return var1; - } -} +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map.Entry; +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("bl") +@Implements("ClientPreferences") +public class ClientPreferences { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1035730115 + ) + @Export("ClientPreferences_optionCount") + static int ClientPreferences_optionCount; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("Widget_spritesArchive") + static AbstractArchive Widget_spritesArchive; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Llp;" + ) + static IndexedSprite field1046; + @ObfuscatedName("v") + @Export("roofsHidden") + boolean roofsHidden; + @ObfuscatedName("u") + @Export("titleMusicDisabled") + boolean titleMusicDisabled; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1970428567 + ) + @Export("windowMode") + int windowMode; + @ObfuscatedName("p") + @Export("rememberedUsername") + String rememberedUsername; + @ObfuscatedName("q") + @Export("hideUsername") + boolean hideUsername; + @ObfuscatedName("m") + @Export("parameters") + LinkedHashMap parameters; + + static { + ClientPreferences_optionCount = 6; + } + + ClientPreferences() { + this.windowMode = 1; + this.rememberedUsername = null; + this.hideUsername = false; + this.parameters = new LinkedHashMap(); + this.method1847(true); + } + + @ObfuscatedSignature( + signature = "(Lkl;)V" + ) + ClientPreferences(Buffer var1) { + this.windowMode = 1; + this.rememberedUsername = null; + this.hideUsername = false; + this.parameters = new LinkedHashMap(); + if (var1 != null && var1.array != null) { + int var2 = var1.readUnsignedByte(); + if (var2 >= 0 && var2 <= ClientPreferences_optionCount) { + if (var1.readUnsignedByte() == 1) { + this.roofsHidden = true; + } + + if (var2 > 1) { + this.titleMusicDisabled = var1.readUnsignedByte() == 1; + } + + if (var2 > 3) { + this.windowMode = var1.readUnsignedByte(); + } + + if (var2 > 2) { + int var3 = var1.readUnsignedByte(); + + for (int var4 = 0; var4 < var3; ++var4) { + int var5 = var1.readInt(); + int var6 = var1.readInt(); + this.parameters.put(var5, var6); + } + } + + if (var2 > 4) { + this.rememberedUsername = var1.readStringCp1252NullTerminatedOrNull(); + } + + if (var2 > 5) { + this.hideUsername = var1.readBoolean(); + } + } else { + this.method1847(true); + } + } else { + this.method1847(true); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "864937253" + ) + void method1847(boolean var1) { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Lkl;", + garbageValue = "-630561096" + ) + @Export("toBuffer") + Buffer toBuffer() { + Buffer var1 = new Buffer(100); + var1.writeByte(ClientPreferences_optionCount); + var1.writeByte(this.roofsHidden ? 1 : 0); + var1.writeByte(this.titleMusicDisabled ? 1 : 0); + var1.writeByte(this.windowMode); + var1.writeByte(this.parameters.size()); + Iterator var2 = this.parameters.entrySet().iterator(); + + while (var2.hasNext()) { + Entry var3 = (Entry)var2.next(); + var1.writeInt((Integer)var3.getKey()); + var1.writeInt((Integer)var3.getValue()); + } + + var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : ""); + var1.writeBoolean(this.hideUsername); + return var1; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-70" + ) + static void method1857() { + Players.Players_count = 0; + + for (int var0 = 0; var0 < 2048; ++var0) { + Players.field1236[var0] = null; + Players.field1235[var0] = 1; + } + + } + + @ObfuscatedName("jb") + @ObfuscatedSignature( + signature = "(Lho;IIII)V", + garbageValue = "1173230125" + ) + @Export("drawMinimap") + static final void drawMinimap(Widget var0, int var1, int var2, int var3) { + WorldMapID.playPcmPlayers(); + SpriteMask var4 = var0.getSpriteMask(false); + if (var4 != null) { + Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); + if (Client.minimapState != 2 && Client.minimapState != 5) { + int var5 = Client.camAngleY & 2047; + int var6 = class223.localPlayer.x / 32 + 48; + int var7 = 464 - class223.localPlayer.y * 682054857 / 32; + ObjectSound.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); + + int var8; + int var9; + int var10; + for (var8 = 0; var8 < Client.mapIconCount; ++var8) { + var9 = Client.mapIconXs[var8] * 4 + 2 - class223.localPlayer.x / 32; + var10 = Client.mapIconYs[var8] * 4 + 2 - class223.localPlayer.y * 682054857 / 32; + class208.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4); + } + + int var11; + int var12; + for (var8 = 0; var8 < 104; ++var8) { + for (var9 = 0; var9 < 104; ++var9) { + NodeDeque var15 = Client.groundItems[WorldMapRectangle.plane][var8][var9]; + if (var15 != null) { + var11 = var8 * 4 + 2 - class223.localPlayer.x / 32; + var12 = var9 * 4 + 2 - class223.localPlayer.y * 682054857 / 32; + class208.drawSpriteOnMinimap(var1, var2, var11, var12, class13.mapDotSprites[0], var4); + } + } + } + + for (var8 = 0; var8 < Client.npcCount; ++var8) { + NPC var16 = Client.npcs[Client.npcIndices[var8]]; + if (var16 != null && var16.isVisible()) { + NPCDefinition var18 = var16.definition; + if (var18 != null && var18.transforms != null) { + var18 = var18.transform(); + } + + if (var18 != null && var18.drawMapDot && var18.isInteractable) { + var11 = var16.x / 32 - class223.localPlayer.x / 32; + var12 = var16.y * 682054857 / 32 - class223.localPlayer.y * 682054857 / 32; + class208.drawSpriteOnMinimap(var1, var2, var11, var12, class13.mapDotSprites[1], var4); + } + } + } + + var8 = Players.Players_count; + int[] var19 = Players.Players_indices; + + for (var10 = 0; var10 < var8; ++var10) { + Player var17 = Client.players[var19[var10]]; + if (var17 != null && var17.isVisible() && !var17.isHidden && var17 != class223.localPlayer) { + var12 = var17.x / 32 - class223.localPlayer.x / 32; + int var13 = var17.y * 682054857 / 32 - class223.localPlayer.y * 682054857 / 32; + boolean var14 = false; + if (class223.localPlayer.team != 0 && var17.team != 0 && var17.team == class223.localPlayer.team) { + var14 = true; + } + + if (var17.isFriend()) { + class208.drawSpriteOnMinimap(var1, var2, var12, var13, class13.mapDotSprites[3], var4); + } else if (var14) { + class208.drawSpriteOnMinimap(var1, var2, var12, var13, class13.mapDotSprites[4], var4); + } else if (var17.isClanMember()) { + class208.drawSpriteOnMinimap(var1, var2, var12, var13, class13.mapDotSprites[5], var4); + } else { + class208.drawSpriteOnMinimap(var1, var2, var12, var13, class13.mapDotSprites[2], var4); + } + } + } + + if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) { + if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) { + NPC var20 = Client.npcs[Client.hintArrowNpcIndex]; + if (var20 != null) { + var11 = var20.x / 32 - class223.localPlayer.x / 32; + var12 = var20.y * 682054857 / 32 - class223.localPlayer.y * 682054857 / 32; + FloorDecoration.worldToMinimap(var1, var2, var11, var12, GameObject.mapMarkerSprites[1], var4); + } + } + + if (Client.hintArrowType == 2) { + var10 = Client.hintArrowX * 4 - class223.baseX * 256 + 2 - class223.localPlayer.x / 32; + var11 = Client.hintArrowY * 4 - class286.baseY * 256 + 2 - class223.localPlayer.y * 682054857 / 32; + FloorDecoration.worldToMinimap(var1, var2, var10, var11, GameObject.mapMarkerSprites[1], var4); + } + + if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { + Player var21 = Client.players[Client.hintArrowPlayerIndex]; + if (var21 != null) { + var11 = var21.x / 32 - class223.localPlayer.x / 32; + var12 = var21.y * 682054857 / 32 - class223.localPlayer.y * 682054857 / 32; + FloorDecoration.worldToMinimap(var1, var2, var11, var12, GameObject.mapMarkerSprites[1], var4); + } + } + } + + if (Client.destinationX != 0) { + var10 = Client.destinationX * 4 + 2 - class223.localPlayer.x / 32; + var11 = Client.destinationY * 4 + 2 - class223.localPlayer.y * 682054857 / 32; + class208.drawSpriteOnMinimap(var1, var2, var10, var11, GameObject.mapMarkerSprites[0], var4); + } + + if (!class223.localPlayer.isHidden) { + Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215); + } + } else { + Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); + } + + Client.field842[var3] = true; + } + } +} diff --git a/runescape-client/src/main/java/Clock.java b/runescape-client/src/main/java/Clock.java index 39644342a2..4ac8a16701 100644 --- a/runescape-client/src/main/java/Clock.java +++ b/runescape-client/src/main/java/Clock.java @@ -1,174 +1,71 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("fk") -@Implements("Clock") -public abstract class Clock { - Clock() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-250719361" - ) - @Export("mark") - public abstract void mark(); - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1652957447" - ) - @Export("wait") - public abstract int wait(int var1, int var2); - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "1861663871" - ) - static int method3490(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; - return 1; - } else { - int var12; - if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var12 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var12 == 0 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var12 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var12 == 2 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var12 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var12 == 5 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var12 = Client.grandExchangeOffers[var3].status(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var12 == 1 ? 1 : 0; - return 1; - } else { - boolean var13; - if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { - var13 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (PacketWriter.grandExchangeEvents != null) { - PacketWriter.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_nameComparator, var13); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { - var13 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (PacketWriter.grandExchangeEvents != null) { - PacketWriter.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_priceComparator, var13); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { - class160.Interpreter_intStackSize -= 2; - var13 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] == 1; - boolean var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1] == 1; - if (PacketWriter.grandExchangeEvents != null) { - Client.GrandExchangeEvents_worldComparator.filterWorlds = var4; - PacketWriter.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var13); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { - var13 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (PacketWriter.grandExchangeEvents != null) { - PacketWriter.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_ageComparator, var13); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { - var13 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (PacketWriter.grandExchangeEvents != null) { - PacketWriter.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_quantityComparator, var13); - } - - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = PacketWriter.grandExchangeEvents == null ? 0 : PacketWriter.grandExchangeEvents.events.size(); - return 1; - } else { - GrandExchangeEvent var11; - if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var11 = (GrandExchangeEvent)PacketWriter.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var11.world; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var11 = (GrandExchangeEvent)PacketWriter.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var11.getOfferName(); - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var11 = (GrandExchangeEvent)PacketWriter.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var11.getPreviousOfferName(); - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var11 = (GrandExchangeEvent)PacketWriter.grandExchangeEvents.events.get(var3); - long var5 = SoundCache.method2480() - GrandExchangeOfferWorldComparator.field25 - var11.age; - int var7 = (int)(var5 / 3600000L); - int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L); - int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L); - String var10 = var7 + ":" + var8 / 10 + var8 % 10 + ":" + var9 / 10 + var9 % 10; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var10; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var11 = (GrandExchangeEvent)PacketWriter.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.totalQuantity; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var11 = (GrandExchangeEvent)PacketWriter.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.unitPrice; - return 1; - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var11 = (GrandExchangeEvent)PacketWriter.grandExchangeEvents.events.get(var3); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var11.grandExchangeOffer.id; - return 1; - } else { - return 2; - } - } - } - } - } -} +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("fz") +@Implements("Clock") +public abstract class Clock { + @ObfuscatedName("qq") + @ObfuscatedGetter( + intValue = 1800617984 + ) + static int field2039; + + Clock() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-54" + ) + @Export("mark") + public abstract void mark(); + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "569029249" + ) + @Export("wait") + public abstract int wait(int var1, int var2); + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1663360326" + ) + @Export("Messages_getLastChatID") + static int Messages_getLastChatID(int var0) { + Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); + if (var1 == null) { + return -1; + } else { + return var1.nextDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.nextDual).count; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1644538233" + ) + static final int method3459() { + return ViewportMouse.ViewportMouse_x; + } + + @ObfuscatedName("hf") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-31" + ) + @Export("resumePauseWidget") + static void resumePauseWidget(int var0, int var1) { + PacketBufferNode var2 = InterfaceParent.getPacketBufferNode(ClientPacket.field2185, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeIntLE16(var0); + var2.packetBuffer.writeShort(var1); + Client.packetWriter.addNode(var2); + } +} diff --git a/runescape-client/src/main/java/CollisionMap.java b/runescape-client/src/main/java/CollisionMap.java index 42c9dfd56a..374fc15381 100644 --- a/runescape-client/src/main/java/CollisionMap.java +++ b/runescape-client/src/main/java/CollisionMap.java @@ -1,495 +1,529 @@ -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("fj") -@Implements("CollisionMap") -public class CollisionMap { - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1935458159 - ) - @Export("VarpDefinition_fileCount") - public static int VarpDefinition_fileCount; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -1822416471 - ) - @Export("xInset") - int xInset; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = 711877459 - ) - @Export("yInset") - int yInset; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 942404383 - ) - @Export("xSize") - int xSize; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 1645469007 - ) - @Export("ySize") - int ySize; - @ObfuscatedName("ab") - @Export("flags") - public int[][] flags; - - public CollisionMap(int var1, int var2) { - this.xInset = 0; - this.yInset = 0; - this.xSize = var1; - this.ySize = var2; - this.flags = new int[this.xSize][this.ySize]; - this.clear(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1948261737" - ) - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.xSize; ++var1) { - for (int var2 = 0; var2 < this.ySize; ++var2) { - if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) { - this.flags[var1][var2] = 16777216; - } else { - this.flags[var1][var2] = 16777215; - } - } - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIIIZI)V", - garbageValue = "807460009" - ) - public void method3534(int var1, int var2, int var3, int var4, boolean var5) { - var1 -= this.xInset; - var2 -= this.yInset; - if (var3 == 0) { - if (var4 == 0) { - this.setFlag(var1, var2, 128); - this.setFlag(var1 - 1, var2, 8); - } - - if (var4 == 1) { - this.setFlag(var1, var2, 2); - this.setFlag(var1, var2 + 1, 32); - } - - if (var4 == 2) { - this.setFlag(var1, var2, 8); - this.setFlag(var1 + 1, var2, 128); - } - - if (var4 == 3) { - this.setFlag(var1, var2, 32); - this.setFlag(var1, var2 - 1, 2); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.setFlag(var1, var2, 1); - this.setFlag(var1 - 1, var2 + 1, 16); - } - - if (var4 == 1) { - this.setFlag(var1, var2, 4); - this.setFlag(var1 + 1, var2 + 1, 64); - } - - if (var4 == 2) { - this.setFlag(var1, var2, 16); - this.setFlag(var1 + 1, var2 - 1, 1); - } - - if (var4 == 3) { - this.setFlag(var1, var2, 64); - this.setFlag(var1 - 1, var2 - 1, 4); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.setFlag(var1, var2, 130); - this.setFlag(var1 - 1, var2, 8); - this.setFlag(var1, var2 + 1, 32); - } - - if (var4 == 1) { - this.setFlag(var1, var2, 10); - this.setFlag(var1, var2 + 1, 32); - this.setFlag(var1 + 1, var2, 128); - } - - if (var4 == 2) { - this.setFlag(var1, var2, 40); - this.setFlag(var1 + 1, var2, 128); - this.setFlag(var1, var2 - 1, 2); - } - - if (var4 == 3) { - this.setFlag(var1, var2, 160); - this.setFlag(var1, var2 - 1, 2); - this.setFlag(var1 - 1, var2, 8); - } - } - - if (var5) { - if (var3 == 0) { - if (var4 == 0) { - this.setFlag(var1, var2, 65536); - this.setFlag(var1 - 1, var2, 4096); - } - - if (var4 == 1) { - this.setFlag(var1, var2, 1024); - this.setFlag(var1, var2 + 1, 16384); - } - - if (var4 == 2) { - this.setFlag(var1, var2, 4096); - this.setFlag(var1 + 1, var2, 65536); - } - - if (var4 == 3) { - this.setFlag(var1, var2, 16384); - this.setFlag(var1, var2 - 1, 1024); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.setFlag(var1, var2, 512); - this.setFlag(var1 - 1, var2 + 1, 8192); - } - - if (var4 == 1) { - this.setFlag(var1, var2, 2048); - this.setFlag(var1 + 1, var2 + 1, 32768); - } - - if (var4 == 2) { - this.setFlag(var1, var2, 8192); - this.setFlag(var1 + 1, var2 - 1, 512); - } - - if (var4 == 3) { - this.setFlag(var1, var2, 32768); - this.setFlag(var1 - 1, var2 - 1, 2048); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.setFlag(var1, var2, 66560); - this.setFlag(var1 - 1, var2, 4096); - this.setFlag(var1, var2 + 1, 16384); - } - - if (var4 == 1) { - this.setFlag(var1, var2, 5120); - this.setFlag(var1, var2 + 1, 16384); - this.setFlag(var1 + 1, var2, 65536); - } - - if (var4 == 2) { - this.setFlag(var1, var2, 20480); - this.setFlag(var1 + 1, var2, 65536); - this.setFlag(var1, var2 - 1, 1024); - } - - if (var4 == 3) { - this.setFlag(var1, var2, 81920); - this.setFlag(var1, var2 - 1, 1024); - this.setFlag(var1 - 1, var2, 4096); - } - } - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIIIZB)V", - garbageValue = "-41" - ) - @Export("addGameObject") - public void addGameObject(int var1, int var2, int var3, int var4, boolean var5) { - int var6 = 256; - if (var5) { - var6 += 131072; - } - - var1 -= this.xInset; - var2 -= this.yInset; - - for (int var7 = var1; var7 < var3 + var1; ++var7) { - if (var7 >= 0 && var7 < this.xSize) { - for (int var8 = var2; var8 < var2 + var4; ++var8) { - if (var8 >= 0 && var8 < this.ySize) { - this.setFlag(var7, var8, var6); - } - } - } - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "116" - ) - @Export("setBlockedByFloor") - public void setBlockedByFloor(int var1, int var2) { - var1 -= this.xInset; - var2 -= this.yInset; - int[] var10000 = this.flags[var1]; - var10000[var2] |= 2097152; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "0" - ) - @Export("setBlockedByFloorDec") - public void setBlockedByFloorDec(int var1, int var2) { - var1 -= this.xInset; - var2 -= this.yInset; - int[] var10000 = this.flags[var1]; - var10000[var2] |= 262144; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "-1965469777" - ) - @Export("setFlag") - void setFlag(int var1, int var2, int var3) { - int[] var10000 = this.flags[var1]; - var10000[var2] |= var3; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(IIIIZB)V", - garbageValue = "-91" - ) - public void method3536(int var1, int var2, int var3, int var4, boolean var5) { - var1 -= this.xInset; - var2 -= this.yInset; - if (var3 == 0) { - if (var4 == 0) { - this.setFlagOff(var1, var2, 128); - this.setFlagOff(var1 - 1, var2, 8); - } - - if (var4 == 1) { - this.setFlagOff(var1, var2, 2); - this.setFlagOff(var1, var2 + 1, 32); - } - - if (var4 == 2) { - this.setFlagOff(var1, var2, 8); - this.setFlagOff(var1 + 1, var2, 128); - } - - if (var4 == 3) { - this.setFlagOff(var1, var2, 32); - this.setFlagOff(var1, var2 - 1, 2); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.setFlagOff(var1, var2, 1); - this.setFlagOff(var1 - 1, var2 + 1, 16); - } - - if (var4 == 1) { - this.setFlagOff(var1, var2, 4); - this.setFlagOff(var1 + 1, var2 + 1, 64); - } - - if (var4 == 2) { - this.setFlagOff(var1, var2, 16); - this.setFlagOff(var1 + 1, var2 - 1, 1); - } - - if (var4 == 3) { - this.setFlagOff(var1, var2, 64); - this.setFlagOff(var1 - 1, var2 - 1, 4); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.setFlagOff(var1, var2, 130); - this.setFlagOff(var1 - 1, var2, 8); - this.setFlagOff(var1, var2 + 1, 32); - } - - if (var4 == 1) { - this.setFlagOff(var1, var2, 10); - this.setFlagOff(var1, var2 + 1, 32); - this.setFlagOff(var1 + 1, var2, 128); - } - - if (var4 == 2) { - this.setFlagOff(var1, var2, 40); - this.setFlagOff(var1 + 1, var2, 128); - this.setFlagOff(var1, var2 - 1, 2); - } - - if (var4 == 3) { - this.setFlagOff(var1, var2, 160); - this.setFlagOff(var1, var2 - 1, 2); - this.setFlagOff(var1 - 1, var2, 8); - } - } - - if (var5) { - if (var3 == 0) { - if (var4 == 0) { - this.setFlagOff(var1, var2, 65536); - this.setFlagOff(var1 - 1, var2, 4096); - } - - if (var4 == 1) { - this.setFlagOff(var1, var2, 1024); - this.setFlagOff(var1, var2 + 1, 16384); - } - - if (var4 == 2) { - this.setFlagOff(var1, var2, 4096); - this.setFlagOff(var1 + 1, var2, 65536); - } - - if (var4 == 3) { - this.setFlagOff(var1, var2, 16384); - this.setFlagOff(var1, var2 - 1, 1024); - } - } - - if (var3 == 1 || var3 == 3) { - if (var4 == 0) { - this.setFlagOff(var1, var2, 512); - this.setFlagOff(var1 - 1, var2 + 1, 8192); - } - - if (var4 == 1) { - this.setFlagOff(var1, var2, 2048); - this.setFlagOff(var1 + 1, var2 + 1, 32768); - } - - if (var4 == 2) { - this.setFlagOff(var1, var2, 8192); - this.setFlagOff(var1 + 1, var2 - 1, 512); - } - - if (var4 == 3) { - this.setFlagOff(var1, var2, 32768); - this.setFlagOff(var1 - 1, var2 - 1, 2048); - } - } - - if (var3 == 2) { - if (var4 == 0) { - this.setFlagOff(var1, var2, 66560); - this.setFlagOff(var1 - 1, var2, 4096); - this.setFlagOff(var1, var2 + 1, 16384); - } - - if (var4 == 1) { - this.setFlagOff(var1, var2, 5120); - this.setFlagOff(var1, var2 + 1, 16384); - this.setFlagOff(var1 + 1, var2, 65536); - } - - if (var4 == 2) { - this.setFlagOff(var1, var2, 20480); - this.setFlagOff(var1 + 1, var2, 65536); - this.setFlagOff(var1, var2 - 1, 1024); - } - - if (var4 == 3) { - this.setFlagOff(var1, var2, 81920); - this.setFlagOff(var1, var2 - 1, 1024); - this.setFlagOff(var1 - 1, var2, 4096); - } - } - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IIIIIZI)V", - garbageValue = "-1821218728" - ) - @Export("setFlagOffNonSquare") - public void setFlagOffNonSquare(int var1, int var2, int var3, int var4, int var5, boolean var6) { - int var7 = 256; - if (var6) { - var7 += 131072; - } - - var1 -= this.xInset; - var2 -= this.yInset; - int var8; - if (var5 == 1 || var5 == 3) { - var8 = var3; - var3 = var4; - var4 = var8; - } - - for (var8 = var1; var8 < var3 + var1; ++var8) { - if (var8 >= 0 && var8 < this.xSize) { - for (int var9 = var2; var9 < var2 + var4; ++var9) { - if (var9 >= 0 && var9 < this.ySize) { - this.setFlagOff(var8, var9, var7); - } - } - } - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "-156666572" - ) - @Export("setFlagOff") - void setFlagOff(int var1, int var2, int var3) { - int[] var10000 = this.flags[var1]; - var10000[var2] &= ~var3; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "848915256" - ) - public void method3541(int var1, int var2) { - var1 -= this.xInset; - var2 -= this.yInset; - int[] var10000 = this.flags[var1]; - var10000[var2] &= -262145; - } -} +import java.awt.Component; +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("fa") +@Implements("CollisionMap") +public class CollisionMap { + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = 2078354851 + ) + @Export("xInset") + int xInset; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -518382829 + ) + @Export("yInset") + int yInset; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 1308792903 + ) + @Export("xSize") + int xSize; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -888202655 + ) + @Export("ySize") + int ySize; + @ObfuscatedName("ad") + @Export("flags") + public int[][] flags; + + public CollisionMap(int var1, int var2) { + this.xInset = 0; + this.yInset = 0; + this.xSize = var1; + this.ySize = var2; + this.flags = new int[this.xSize][this.ySize]; + this.clear(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "11" + ) + @Export("clear") + public void clear() { + for (int var1 = 0; var1 < this.xSize; ++var1) { + for (int var2 = 0; var2 < this.ySize; ++var2) { + if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) { + this.flags[var1][var2] = 16777216; + } else { + this.flags[var1][var2] = 16777215; + } + } + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIIIZI)V", + garbageValue = "1400659630" + ) + public void method3502(int var1, int var2, int var3, int var4, boolean var5) { + var1 -= this.xInset; + var2 -= this.yInset; + if (var3 == 0) { + if (var4 == 0) { + this.setFlag(var1, var2, 128); + this.setFlag(var1 - 1, var2, 8); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 2); + this.setFlag(var1, var2 + 1, 32); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 8); + this.setFlag(var1 + 1, var2, 128); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 32); + this.setFlag(var1, var2 - 1, 2); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlag(var1, var2, 1); + this.setFlag(var1 - 1, var2 + 1, 16); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 4); + this.setFlag(var1 + 1, var2 + 1, 64); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 16); + this.setFlag(var1 + 1, var2 - 1, 1); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 64); + this.setFlag(var1 - 1, var2 - 1, 4); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlag(var1, var2, 130); + this.setFlag(var1 - 1, var2, 8); + this.setFlag(var1, var2 + 1, 32); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 10); + this.setFlag(var1, var2 + 1, 32); + this.setFlag(var1 + 1, var2, 128); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 40); + this.setFlag(var1 + 1, var2, 128); + this.setFlag(var1, var2 - 1, 2); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 160); + this.setFlag(var1, var2 - 1, 2); + this.setFlag(var1 - 1, var2, 8); + } + } + + if (var5) { + if (var3 == 0) { + if (var4 == 0) { + this.setFlag(var1, var2, 65536); + this.setFlag(var1 - 1, var2, 4096); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 1024); + this.setFlag(var1, var2 + 1, 16384); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 4096); + this.setFlag(var1 + 1, var2, 65536); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 16384); + this.setFlag(var1, var2 - 1, 1024); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlag(var1, var2, 512); + this.setFlag(var1 - 1, var2 + 1, 8192); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 2048); + this.setFlag(var1 + 1, var2 + 1, 32768); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 8192); + this.setFlag(var1 + 1, var2 - 1, 512); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 32768); + this.setFlag(var1 - 1, var2 - 1, 2048); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlag(var1, var2, 66560); + this.setFlag(var1 - 1, var2, 4096); + this.setFlag(var1, var2 + 1, 16384); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 5120); + this.setFlag(var1, var2 + 1, 16384); + this.setFlag(var1 + 1, var2, 65536); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 20480); + this.setFlag(var1 + 1, var2, 65536); + this.setFlag(var1, var2 - 1, 1024); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 81920); + this.setFlag(var1, var2 - 1, 1024); + this.setFlag(var1 - 1, var2, 4096); + } + } + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIIZI)V", + garbageValue = "1277713715" + ) + @Export("addGameObject") + public void addGameObject(int var1, int var2, int var3, int var4, boolean var5) { + int var6 = 256; + if (var5) { + var6 += 131072; + } + + var1 -= this.xInset; + var2 -= this.yInset; + + for (int var7 = var1; var7 < var3 + var1; ++var7) { + if (var7 >= 0 && var7 < this.xSize) { + for (int var8 = var2; var8 < var2 + var4; ++var8) { + if (var8 >= 0 && var8 < this.ySize) { + this.setFlag(var7, var8, var6); + } + } + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-691975667" + ) + @Export("setBlockedByFloor") + public void setBlockedByFloor(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + int[] var10000 = this.flags[var1]; + var10000[var2] |= 2097152; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-119630021" + ) + @Export("setBlockedByFloorDec") + public void setBlockedByFloorDec(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + int[] var10000 = this.flags[var1]; + var10000[var2] |= 262144; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIB)V", + garbageValue = "-3" + ) + @Export("setFlag") + void setFlag(int var1, int var2, int var3) { + int[] var10000 = this.flags[var1]; + var10000[var2] |= var3; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIIZI)V", + garbageValue = "1060838313" + ) + public void method3508(int var1, int var2, int var3, int var4, boolean var5) { + var1 -= this.xInset; + var2 -= this.yInset; + if (var3 == 0) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 128); + this.setFlagOff(var1 - 1, var2, 8); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 2); + this.setFlagOff(var1, var2 + 1, 32); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 8); + this.setFlagOff(var1 + 1, var2, 128); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 32); + this.setFlagOff(var1, var2 - 1, 2); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 1); + this.setFlagOff(var1 - 1, var2 + 1, 16); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 4); + this.setFlagOff(var1 + 1, var2 + 1, 64); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 16); + this.setFlagOff(var1 + 1, var2 - 1, 1); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 64); + this.setFlagOff(var1 - 1, var2 - 1, 4); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 130); + this.setFlagOff(var1 - 1, var2, 8); + this.setFlagOff(var1, var2 + 1, 32); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 10); + this.setFlagOff(var1, var2 + 1, 32); + this.setFlagOff(var1 + 1, var2, 128); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 40); + this.setFlagOff(var1 + 1, var2, 128); + this.setFlagOff(var1, var2 - 1, 2); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 160); + this.setFlagOff(var1, var2 - 1, 2); + this.setFlagOff(var1 - 1, var2, 8); + } + } + + if (var5) { + if (var3 == 0) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 65536); + this.setFlagOff(var1 - 1, var2, 4096); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 1024); + this.setFlagOff(var1, var2 + 1, 16384); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 4096); + this.setFlagOff(var1 + 1, var2, 65536); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 16384); + this.setFlagOff(var1, var2 - 1, 1024); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 512); + this.setFlagOff(var1 - 1, var2 + 1, 8192); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 2048); + this.setFlagOff(var1 + 1, var2 + 1, 32768); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 8192); + this.setFlagOff(var1 + 1, var2 - 1, 512); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 32768); + this.setFlagOff(var1 - 1, var2 - 1, 2048); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 66560); + this.setFlagOff(var1 - 1, var2, 4096); + this.setFlagOff(var1, var2 + 1, 16384); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 5120); + this.setFlagOff(var1, var2 + 1, 16384); + this.setFlagOff(var1 + 1, var2, 65536); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 20480); + this.setFlagOff(var1 + 1, var2, 65536); + this.setFlagOff(var1, var2 - 1, 1024); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 81920); + this.setFlagOff(var1, var2 - 1, 1024); + this.setFlagOff(var1 - 1, var2, 4096); + } + } + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(IIIIIZI)V", + garbageValue = "-476929644" + ) + @Export("setFlagOffNonSquare") + public void setFlagOffNonSquare(int var1, int var2, int var3, int var4, int var5, boolean var6) { + int var7 = 256; + if (var6) { + var7 += 131072; + } + + var1 -= this.xInset; + var2 -= this.yInset; + int var8; + if (var5 == 1 || var5 == 3) { + var8 = var3; + var3 = var4; + var4 = var8; + } + + for (var8 = var1; var8 < var3 + var1; ++var8) { + if (var8 >= 0 && var8 < this.xSize) { + for (int var9 = var2; var9 < var2 + var4; ++var9) { + if (var9 >= 0 && var9 < this.ySize) { + this.setFlagOff(var8, var9, var7); + } + } + } + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(IIIB)V", + garbageValue = "6" + ) + @Export("setFlagOff") + void setFlagOff(int var1, int var2, int var3) { + int[] var10000 = this.flags[var1]; + var10000[var2] &= ~var3; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(IIS)V", + garbageValue = "-6856" + ) + public void method3511(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + int[] var10000 = this.flags[var1]; + var10000[var2] &= -262145; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I[BLkg;I)V", + garbageValue = "1190241493" + ) + static void method3530(int var0, byte[] var1, ArchiveDisk var2) { + ArchiveDiskAction var3 = new ArchiveDiskAction(); + var3.type = 0; + var3.key = (long)var0; + var3.data = var1; + var3.archiveDisk = var2; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); + } + + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3127 == 0) { + UserComparator5.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + UserComparator5.ArchiveDiskActionHandler_thread.setDaemon(true); + UserComparator5.ArchiveDiskActionHandler_thread.start(); + UserComparator5.ArchiveDiskActionHandler_thread.setPriority(5); + } + + ArchiveDiskActionHandler.field3127 = 600; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;I)V", + garbageValue = "-1662439433" + ) + static void method3538(Component var0) { + var0.removeMouseListener(MouseHandler.MouseHandler_instance); + var0.removeMouseMotionListener(MouseHandler.MouseHandler_instance); + var0.removeFocusListener(MouseHandler.MouseHandler_instance); + MouseHandler.MouseHandler_currentButtonVolatile = 0; + } +} diff --git a/runescape-client/src/main/java/Coord.java b/runescape-client/src/main/java/Coord.java index e83124feb7..e0f9d99901 100644 --- a/runescape-client/src/main/java/Coord.java +++ b/runescape-client/src/main/java/Coord.java @@ -1,133 +1,149 @@ -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("hj") -@Implements("Coord") -public class Coord { - @ObfuscatedName("aw") - @Export("client") - @ObfuscatedSignature( - signature = "Lclient;" - ) - static Client client; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -275324431 - ) - @Export("plane") - public int plane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1946522259 - ) - @Export("y") - public int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 212884917 - ) - @Export("x") - public int x; - - @ObfuscatedSignature( - signature = "(Lhj;)V" - ) - public Coord(Coord var1) { - this.plane = var1.plane; - this.x = var1.x; - this.y = var1.y; - } - - public Coord(int var1, int var2, int var3) { - this.plane = var1; - this.x = var2; - this.y = var3; - } - - public Coord(int var1) { - if (var1 == -1) { - this.plane = -1; - } else { - this.plane = var1 >> 28 & 3; - this.x = var1 >> 14 & 16383; - this.y = var1 & 16383; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "94" - ) - @Export("packed") - public int packed() { - return this.plane << 28 | this.x << 14 | this.y; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lhj;I)Z", - garbageValue = "49953005" - ) - @Export("equalsCoord") - boolean equalsCoord(Coord var1) { - if (this.plane != var1.plane) { - return false; - } else if (this.x != var1.x) { - return false; - } else { - return this.y == var1.y; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "-2113109490" - ) - @Export("toString") - String toString(String var1) { - return this.plane + var1 + (this.x >> 6) + var1 + (this.y >> 6) + var1 + (this.x & 63) + var1 + (this.y & 63); - } - - public boolean equals(Object var1) { - if (this == var1) { - return true; - } else { - return !(var1 instanceof Coord) ? false : this.equalsCoord((Coord)var1); - } - } - - public int hashCode() { - return this.packed(); - } - - public String aai() { - return this.toString(","); - } - - public String aar() { - return this.toString(","); - } - - public String aan() { - return this.toString(","); - } - - public String toString() { - return this.toString(","); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)[Lcl;", - garbageValue = "69" - ) - static AttackOption[] method3981() { - return new AttackOption[]{AttackOption.AttackOption_leftClickWhereAvailable, AttackOption.AttackOption_hidden, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_dependsOnCombatLevels}; - } -} +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("hb") +@Implements("Coord") +public class Coord { + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 562826067 + ) + @Export("plane") + public int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 2054727359 + ) + @Export("x") + public int x; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1032758603 + ) + @Export("y") + public int y; + + @ObfuscatedSignature( + signature = "(Lhb;)V" + ) + public Coord(Coord var1) { + this.plane = var1.plane; + this.x = var1.x; + this.y = var1.y; + } + + public Coord(int var1, int var2, int var3) { + this.plane = var1; + this.x = var2; + this.y = var3; + } + + public Coord(int var1) { + if (var1 == -1) { + this.plane = -1; + } else { + this.plane = var1 >> 28 & 3; + this.x = var1 >> 14 & 16383; + this.y = var1 & 16383; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-444536660" + ) + @Export("packed") + public int packed() { + return this.plane << 28 | this.x << 14 | this.y; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lhb;I)Z", + garbageValue = "-1914028694" + ) + @Export("equalsCoord") + boolean equalsCoord(Coord var1) { + if (this.plane != var1.plane) { + return false; + } else if (this.x != var1.x) { + return false; + } else { + return this.y == var1.y; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "-986705762" + ) + @Export("toString") + String toString(String var1) { + return this.plane + var1 + (this.x >> 6) + var1 + (this.y >> 6) + var1 + (this.x & 63) + var1 + (this.y & 63); + } + + public boolean equals(Object var1) { + if (this == var1) { + return true; + } else { + return !(var1 instanceof Coord) ? false : this.equalsCoord((Coord)var1); + } + } + + public int hashCode() { + return this.packed(); + } + + public String toString() { + return this.toString(","); + } + + public String aah() { + return this.toString(","); + } + + public String aae() { + return this.toString(","); + } + + public String aak() { + return this.toString(","); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2118719705" + ) + static void method3964() { + Login.worldSelectOpen = false; + WorldMapID.leftTitleSprite.drawAt(Login.xPadding, 0); + class51.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + FontName.logoSprite.drawAt(Login.xPadding + 382 - FontName.logoSprite.subWidth / 2, 18); + } + + @ObfuscatedName("jm") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "22280" + ) + @Export("FriendSystem_invalidateFriends") + static final void FriendSystem_invalidateFriends() { + for (int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsFriend(); + } + + KeyHandler.method873(); + if (Varps.clanChat != null) { + Varps.clanChat.clearFriends(); + } + + } +} diff --git a/runescape-client/src/main/java/Decimator.java b/runescape-client/src/main/java/Decimator.java index 8a17756e74..e01491a86a 100644 --- a/runescape-client/src/main/java/Decimator.java +++ b/runescape-client/src/main/java/Decimator.java @@ -1,746 +1,235 @@ -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.ScriptOpcodes; - -@ObfuscatedName("de") -@Implements("Decimator") -public class Decimator { - @ObfuscatedName("et") - @ObfuscatedGetter( - intValue = -722271125 - ) - static int field1431; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -313653259 - ) - @Export("inputRate") - int inputRate; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -172648561 - ) - @Export("outputRate") - int outputRate; - @ObfuscatedName("u") - @Export("table") - int[][] table; - - public Decimator(int var1, int var2) { - if (var2 != var1) { - int var4 = var1; - int var5 = var2; - if (var2 > var1) { - var4 = var2; - var5 = var1; - } - - while (var5 != 0) { - int var6 = var4 % var5; - var4 = var5; - var5 = var6; - } - - var1 /= var4; - var2 /= var4; - this.inputRate = var1; - this.outputRate = var2; - this.table = new int[var1][14]; - - for (int var7 = 0; var7 < var1; ++var7) { - int[] var8 = this.table[var7]; - double var9 = 6.0D + (double)var7 / (double)var1; - int var11 = (int)Math.floor(1.0D + (var9 - 7.0D)); - if (var11 < 0) { - var11 = 0; - } - - int var12 = (int)Math.ceil(7.0D + var9); - if (var12 > 14) { - var12 = 14; - } - - for (double var13 = (double)var2 / (double)var1; var11 < var12; ++var11) { - double var15 = 3.141592653589793D * ((double)var11 - var9); - double var17 = var13; - if (var15 < -1.0E-4D || var15 > 1.0E-4D) { - var17 = var13 * (Math.sin(var15) / var15); - } - - var17 *= 0.54D + 0.46D * Math.cos(((double)var11 - var9) * 0.2243994752564138D); - var8[var11] = (int)Math.floor(0.5D + var17 * 65536.0D); - } - } - - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([BB)[B", - garbageValue = "63" - ) - @Export("resample") - byte[] resample(byte[] var1) { - if (this.table != null) { - int var2 = (int)((long)var1.length * (long)this.outputRate / (long)this.inputRate) + 14; - int[] var3 = new int[var2]; - int var4 = 0; - int var5 = 0; - - int var6; - for (var6 = 0; var6 < var1.length; ++var6) { - byte var7 = var1[var6]; - int[] var8 = this.table[var5]; - - int var9; - for (var9 = 0; var9 < 14; ++var9) { - var3[var9 + var4] += var8[var9] * var7; - } - - var5 += this.outputRate; - var9 = var5 / this.inputRate; - var4 += var9; - var5 -= var9 * this.inputRate; - } - - var1 = new byte[var2]; - - for (var6 = 0; var6 < var2; ++var6) { - int var10 = var3[var6] + 32768 >> 16; - if (var10 < -128) { - var1[var6] = -128; - } else if (var10 > 127) { - var1[var6] = 127; - } else { - var1[var6] = (byte)var10; - } - } - } - - return var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-749198393" - ) - @Export("scaleRate") - int scaleRate(int var1) { - if (this.table != null) { - var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate); - } - - return var1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "-106" - ) - @Export("scalePosition") - int scalePosition(int var1) { - if (this.table != null) { - var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate) + 6; - } - - return var1; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-2091115234" - ) - public static void method2499(int var0) { - if (class197.field2376 != 0) { - Canvas.field395 = var0; - } else { - class197.midiPcmStream.method3686(var0); - } - - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "1" - ) - static int method2494(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { - class160.Interpreter_intStackSize -= 2; - Client.field873 = (short)class1.method17(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]); - if (Client.field873 <= 0) { - Client.field873 = 256; - } - - Client.field752 = (short)class1.method17(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - if (Client.field752 <= 0) { - Client.field752 = 256; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { - class160.Interpreter_intStackSize -= 2; - Client.zoomHeight = (short)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - if (Client.zoomHeight <= 0) { - Client.zoomHeight = 256; - } - - Client.zoomWidth = (short)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - if (Client.zoomWidth <= 0) { - Client.zoomWidth = 320; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { - class160.Interpreter_intStackSize -= 4; - Client.field877 = (short)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - if (Client.field877 <= 0) { - Client.field877 = 1; - } - - Client.field878 = (short)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - if (Client.field878 <= 0) { - Client.field878 = 32767; - } else if (Client.field878 < Client.field877) { - Client.field878 = Client.field877; - } - - Client.field879 = (short)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - if (Client.field879 <= 0) { - Client.field879 = 1; - } - - Client.field717 = (short)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3]; - if (Client.field717 <= 0) { - Client.field717 = 32767; - } else if (Client.field717 < Client.field879) { - Client.field717 = Client.field879; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { - if (Client.viewportWidget != null) { - DesktopPlatformInfoProvider.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.viewportWidth; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.viewportHeight; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } - - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.zoomHeight; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.zoomWidth; - return 1; - } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = WorldMapLabel.method381(Client.field873); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = WorldMapLabel.method381(Client.field752); - return 1; - } else if (var0 == 6220) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 6221) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 6222) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GraphicsDefaults.canvasWidth; - return 1; - } else if (var0 == 6223) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GameShell.canvasHeight; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("ei") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1128100526" - ) - @Export("load") - static void load() { - int var0; - if (Client.titleLoadingStage == 0) { - WorldMapIcon_1.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); - - for (var0 = 0; var0 < 4; ++var0) { - Client.collisionMaps[var0] = new CollisionMap(104, 104); - } - - class60.sceneMinimapSprite = new Sprite(512, 512); - Login.Login_loadingText = "Starting game engine..."; - Login.Login_loadingPercent = 5; - Client.titleLoadingStage = 20; - } else if (Client.titleLoadingStage == 20) { - Login.Login_loadingText = "Prepared visibility map"; - Login.Login_loadingPercent = 10; - Client.titleLoadingStage = 30; - } else if (Client.titleLoadingStage == 30) { - ScriptEvent.archive0 = FloorOverlayDefinition.newArchive(0, false, true, true); - GrandExchangeOffer.archive1 = FloorOverlayDefinition.newArchive(1, false, true, true); - class173.archive2 = FloorOverlayDefinition.newArchive(2, true, false, true); - WorldMapData_0.archive3 = FloorOverlayDefinition.newArchive(3, false, true, true); - class13.archive4 = FloorOverlayDefinition.newArchive(4, false, true, true); - Timer.archive5 = FloorOverlayDefinition.newArchive(5, true, true, true); - WorldMapDecoration.archive6 = FloorOverlayDefinition.newArchive(6, true, true, true); - class49.archive7 = FloorOverlayDefinition.newArchive(7, false, true, true); - WorldMapDecoration.archive8 = FloorOverlayDefinition.newArchive(8, false, true, true); - WorldMapData_0.archive9 = FloorOverlayDefinition.newArchive(9, false, true, true); - FontName.archive10 = FloorOverlayDefinition.newArchive(10, false, true, true); - ArchiveDisk.archive11 = FloorOverlayDefinition.newArchive(11, false, true, true); - Message.archive12 = FloorOverlayDefinition.newArchive(12, false, true, true); - TextureProvider.archive13 = FloorOverlayDefinition.newArchive(13, true, false, true); - WorldMapLabel.archive14 = FloorOverlayDefinition.newArchive(14, false, true, true); - BufferedSource.archive15 = FloorOverlayDefinition.newArchive(15, false, true, true); - class49.archive17 = FloorOverlayDefinition.newArchive(17, true, true, true); - WorldMapArea.archive18 = FloorOverlayDefinition.newArchive(18, false, true, true); - UrlRequest.archive19 = FloorOverlayDefinition.newArchive(19, false, true, true); - WorldMapSection1.archive20 = FloorOverlayDefinition.newArchive(20, false, true, true); - Login.Login_loadingText = "Connecting to update server"; - Login.Login_loadingPercent = 20; - Client.titleLoadingStage = 40; - } else if (Client.titleLoadingStage == 40) { - byte var24 = 0; - var0 = var24 + ScriptEvent.archive0.percentage() * 4 / 100; - var0 += GrandExchangeOffer.archive1.percentage() * 4 / 100; - var0 += class173.archive2.percentage() * 2 / 100; - var0 += WorldMapData_0.archive3.percentage() * 2 / 100; - var0 += class13.archive4.percentage() * 6 / 100; - var0 += Timer.archive5.percentage() * 4 / 100; - var0 += WorldMapDecoration.archive6.percentage() * 2 / 100; - var0 += class49.archive7.percentage() * 56 / 100; - var0 += WorldMapDecoration.archive8.percentage() * 2 / 100; - var0 += WorldMapData_0.archive9.percentage() * 2 / 100; - var0 += FontName.archive10.percentage() * 2 / 100; - var0 += ArchiveDisk.archive11.percentage() * 2 / 100; - var0 += Message.archive12.percentage() * 2 / 100; - var0 += TextureProvider.archive13.percentage() * 2 / 100; - var0 += WorldMapLabel.archive14.percentage() * 2 / 100; - var0 += BufferedSource.archive15.percentage() * 2 / 100; - var0 += UrlRequest.archive19.percentage() / 100; - var0 += WorldMapArea.archive18.percentage() / 100; - var0 += WorldMapSection1.archive20.percentage() / 100; - var0 += class49.archive17.method4265() && class49.archive17.isFullyLoaded() ? 1 : 0; - if (var0 != 100) { - if (var0 != 0) { - Login.Login_loadingText = "Checking for updates - " + var0 + "%"; - } - - Login.Login_loadingPercent = 30; - } else { - class14.method142(ScriptEvent.archive0, "Animations"); - class14.method142(GrandExchangeOffer.archive1, "Skeletons"); - class14.method142(class13.archive4, "Sound FX"); - class14.method142(Timer.archive5, "Maps"); - class14.method142(WorldMapDecoration.archive6, "Music Tracks"); - class14.method142(class49.archive7, "Models"); - class14.method142(WorldMapDecoration.archive8, "Sprites"); - class14.method142(ArchiveDisk.archive11, "Music Jingles"); - class14.method142(WorldMapLabel.archive14, "Music Samples"); - class14.method142(BufferedSource.archive15, "Music Patches"); - class14.method142(UrlRequest.archive19, "World Map"); - class14.method142(WorldMapArea.archive18, "World Map Geography"); - class14.method142(WorldMapSection1.archive20, "World Map Ground"); - Frames.spriteIds = new GraphicsDefaults(); - Frames.spriteIds.decode(class49.archive17); - Login.Login_loadingText = "Loaded update list"; - Login.Login_loadingPercent = 30; - Client.titleLoadingStage = 45; - } - } else if (Client.titleLoadingStage == 45) { - Login.PcmPlayer_configure(22050, !Client.isLowDetail, 2); - MidiPcmStream var26 = new MidiPcmStream(); - var26.method3732(9, 128); - WorldMapIcon_1.pcmPlayer0 = PacketWriter.method2246(GameShell.taskHandler, 0, 22050); - WorldMapIcon_1.pcmPlayer0.setStream(var26); - class192.setAudioArchives(BufferedSource.archive15, WorldMapLabel.archive14, class13.archive4, var26); - ClientPreferences.pcmPlayer1 = PacketWriter.method2246(GameShell.taskHandler, 1, 2048); - class51.pcmStreamMixer = new PcmStreamMixer(); - ClientPreferences.pcmPlayer1.setStream(class51.pcmStreamMixer); - class81.decimator = new Decimator(22050, GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate); - Login.Login_loadingText = "Prepared sound engine"; - Login.Login_loadingPercent = 35; - Client.titleLoadingStage = 50; - GraphicsObject.WorldMapElement_fonts = new Fonts(WorldMapDecoration.archive8, TextureProvider.archive13); - } else if (Client.titleLoadingStage == 50) { - var0 = FontName.method5288().length; - Client.fontsMap = GraphicsObject.WorldMapElement_fonts.createMap(FontName.method5288()); - if (Client.fontsMap.size() < var0) { - Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var0 + "%"; - Login.Login_loadingPercent = 40; - } else { - GrandExchangeEvent.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); - class197.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); - HealthBar.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); - class32.platformInfo = Client.platformInfoProvider.get(); - Login.Login_loadingText = "Loaded fonts"; - Login.Login_loadingPercent = 40; - Client.titleLoadingStage = 60; - } - } else { - Archive var2; - int var3; - Archive var20; - int var23; - if (Client.titleLoadingStage == 60) { - var20 = FontName.archive10; - var2 = WorldMapDecoration.archive8; - var3 = 0; - if (var20.tryLoadFileByNames("title.jpg", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("logo", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("logo_deadman_mode", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("titlebox", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("titlebutton", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("runes", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("title_mute", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,0", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,2", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,4", "")) { - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,6", "")) { - ++var3; - } - - var2.tryLoadFileByNames("sl_back", ""); - var2.tryLoadFileByNames("sl_flags", ""); - var2.tryLoadFileByNames("sl_arrows", ""); - var2.tryLoadFileByNames("sl_stars", ""); - var2.tryLoadFileByNames("sl_button", ""); - var23 = AbstractWorldMapIcon.method587(); - if (var3 < var23) { - Login.Login_loadingText = "Loading title screen - " + var3 * 100 / var23 + "%"; - Login.Login_loadingPercent = 50; - } else { - Login.Login_loadingText = "Loaded title screen"; - Login.Login_loadingPercent = 50; - WorldMapIcon_0.updateGameState(5); - Client.titleLoadingStage = 70; - } - } else if (Client.titleLoadingStage == 70) { - if (!class173.archive2.isFullyLoaded()) { - Login.Login_loadingText = "Loading config - " + class173.archive2.loadPercent() + "%"; - Login.Login_loadingPercent = 60; - } else { - Player.method1228(class173.archive2); - Archive var25 = class173.archive2; - FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var25; - WorldMapID.method526(class173.archive2, class49.archive7); - var20 = class173.archive2; - var2 = class49.archive7; - boolean var21 = Client.isLowDetail; - GrandExchangeOfferNameComparator.ObjectDefinition_archive = var20; - ObjectDefinition.ObjectDefinition_modelsArchive = var2; - ObjectDefinition.ObjectDefinition_isLowDetail = var21; - GameObject.NpcDefinition_setArchives(class173.archive2, class49.archive7); - class188.method3617(class173.archive2); - GrandExchangeEvents.method69(class173.archive2, class49.archive7, Client.isMembersWorld, GrandExchangeEvent.fontPlain11); - Archive var17 = class173.archive2; - Archive var22 = ScriptEvent.archive0; - Archive var6 = GrandExchangeOffer.archive1; - SequenceDefinition.SequenceDefinition_archive = var17; - SequenceDefinition.SequenceDefinition_animationsArchive = var22; - SequenceDefinition.SequenceDefinition_skeletonsArchive = var6; - Archive var7 = class173.archive2; - Archive var8 = class49.archive7; - SpotAnimationDefinition.SpotAnimationDefinition_archive = var7; - SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var8; - Archive var9 = class173.archive2; - VarbitDefinition.VarbitDefinition_archive = var9; - Archive var10 = class173.archive2; - class297.VarpDefinition_archive = var10; - CollisionMap.VarpDefinition_fileCount = class297.VarpDefinition_archive.getGroupFileCount(16); - class162.Widget_setArchives(WorldMapData_0.archive3, class49.archive7, WorldMapDecoration.archive8, TextureProvider.archive13); - PcmPlayer.InvDefinition_setArchives(class173.archive2); - Archive var11 = class173.archive2; - EnumDefinition.EnumDefinition_archive = var11; - class293.method5298(class173.archive2); - VarcInt.method4407(class173.archive2); - BoundaryObject.varcs = new Varcs(); - ChatChannel.method2220(class173.archive2, WorldMapDecoration.archive8, TextureProvider.archive13); - NPCDefinition.method4749(class173.archive2, WorldMapDecoration.archive8); - Archive var12 = class173.archive2; - Archive var13 = WorldMapDecoration.archive8; - WorldMapElement.WorldMapElement_archive = var13; - if (var12.isFullyLoaded()) { - WorldMapElement.WorldMapElement_count = var12.getGroupFileCount(35); - WorldMapElement.WorldMapElement_cached = new WorldMapElement[WorldMapElement.WorldMapElement_count]; - - for (int var14 = 0; var14 < WorldMapElement.WorldMapElement_count; ++var14) { - byte[] var15 = var12.takeFile(35, var14); - WorldMapElement.WorldMapElement_cached[var14] = new WorldMapElement(var14); - if (var15 != null) { - WorldMapElement.WorldMapElement_cached[var14].decode(new Buffer(var15)); - WorldMapElement.WorldMapElement_cached[var14].method4378(); - } - } - } - - Login.Login_loadingText = "Loaded config"; - Login.Login_loadingPercent = 60; - Client.titleLoadingStage = 80; - } - } else if (Client.titleLoadingStage == 80) { - var0 = 0; - if (UrlRequest.compass == null) { - UrlRequest.compass = FillMode.SpriteBuffer_getSprite(WorldMapDecoration.archive8, Frames.spriteIds.compass, 0); - } else { - ++var0; - } - - if (FontName.redHintArrowSprite == null) { - FontName.redHintArrowSprite = FillMode.SpriteBuffer_getSprite(WorldMapDecoration.archive8, Frames.spriteIds.field3794, 0); - } else { - ++var0; - } - - IndexedSprite[] var1; - boolean var4; - byte[] var5; - if (class287.mapSceneSprites == null) { - var2 = WorldMapDecoration.archive8; - var3 = Frames.spriteIds.mapScenes; - var5 = var2.takeFile(var3, 0); - if (var5 == null) { - var4 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var5); - var4 = true; - } - - if (!var4) { - var1 = null; - } else { - var1 = FileSystem.method3489(); - } - - class287.mapSceneSprites = var1; - } else { - ++var0; - } - - if (PlatformInfo.headIconPkSprites == null) { - PlatformInfo.headIconPkSprites = PendingSpawn.SpriteBuffer_getSpriteArray(WorldMapDecoration.archive8, Frames.spriteIds.headIconsPk, 0); - } else { - ++var0; - } - - if (RouteStrategy.headIconPrayerSprites == null) { - RouteStrategy.headIconPrayerSprites = PendingSpawn.SpriteBuffer_getSpriteArray(WorldMapDecoration.archive8, Frames.spriteIds.field3797, 0); - } else { - ++var0; - } - - if (GrandExchangeEvents.headIconHintSprites == null) { - GrandExchangeEvents.headIconHintSprites = PendingSpawn.SpriteBuffer_getSpriteArray(WorldMapDecoration.archive8, Frames.spriteIds.field3798, 0); - } else { - ++var0; - } - - if (WorldMapLabelSize.mapMarkerSprites == null) { - WorldMapLabelSize.mapMarkerSprites = PendingSpawn.SpriteBuffer_getSpriteArray(WorldMapDecoration.archive8, Frames.spriteIds.field3800, 0); - } else { - ++var0; - } - - if (class270.crossSprites == null) { - class270.crossSprites = PendingSpawn.SpriteBuffer_getSpriteArray(WorldMapDecoration.archive8, Frames.spriteIds.field3804, 0); - } else { - ++var0; - } - - if (class42.mapDotSprites == null) { - class42.mapDotSprites = PendingSpawn.SpriteBuffer_getSpriteArray(WorldMapDecoration.archive8, Frames.spriteIds.field3801, 0); - } else { - ++var0; - } - - if (WorldMapIcon_1.scrollBarSprites == null) { - var2 = WorldMapDecoration.archive8; - var3 = Frames.spriteIds.field3802; - var5 = var2.takeFile(var3, 0); - if (var5 == null) { - var4 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var5); - var4 = true; - } - - if (!var4) { - var1 = null; - } else { - var1 = FileSystem.method3489(); - } - - WorldMapIcon_1.scrollBarSprites = var1; - } else { - ++var0; - } - - if (SecureRandomCallable.modIconSprites == null) { - var2 = WorldMapDecoration.archive8; - var3 = Frames.spriteIds.field3799; - var5 = var2.takeFile(var3, 0); - if (var5 == null) { - var4 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var5); - var4 = true; - } - - if (!var4) { - var1 = null; - } else { - var1 = FileSystem.method3489(); - } - - SecureRandomCallable.modIconSprites = var1; - } else { - ++var0; - } - - if (var0 < 11) { - Login.Login_loadingText = "Loading sprites - " + var0 * 100 / 12 + "%"; - Login.Login_loadingPercent = 70; - } else { - AbstractFont.AbstractFont_modIconSprites = SecureRandomCallable.modIconSprites; - FontName.redHintArrowSprite.normalize(); - int var18 = (int)(Math.random() * 21.0D) - 10; - int var19 = (int)(Math.random() * 21.0D) - 10; - var3 = (int)(Math.random() * 21.0D) - 10; - var23 = (int)(Math.random() * 41.0D) - 20; - class287.mapSceneSprites[0].shiftColors(var23 + var18, var19 + var23, var3 + var23); - Login.Login_loadingText = "Loaded sprites"; - Login.Login_loadingPercent = 70; - Client.titleLoadingStage = 90; - } - } else if (Client.titleLoadingStage == 90) { - if (!WorldMapData_0.archive9.isFullyLoaded()) { - Login.Login_loadingText = "Loading textures - " + "0%"; - Login.Login_loadingPercent = 90; - } else { - class216.textureProvider = new TextureProvider(WorldMapData_0.archive9, WorldMapDecoration.archive8, 20, 0.8D, Client.isLowDetail ? 64 : 128); - Rasterizer3D.Rasterizer3D_setTextureLoader(class216.textureProvider); - Rasterizer3D.Rasterizer3D_setBrightness(0.8D); - Client.titleLoadingStage = 100; - } - } else if (Client.titleLoadingStage == 100) { - var0 = class216.textureProvider.getLoadedPercentage(); - if (var0 < 100) { - Login.Login_loadingText = "Loading textures - " + var0 + "%"; - Login.Login_loadingPercent = 90; - } else { - Login.Login_loadingText = "Loaded textures"; - Login.Login_loadingPercent = 90; - Client.titleLoadingStage = 110; - } - } else if (Client.titleLoadingStage == 110) { - ParamDefinition.mouseRecorder = new MouseRecorder(); - GameShell.taskHandler.newThreadTask(ParamDefinition.mouseRecorder, 10); - Login.Login_loadingText = "Loaded input handler"; - Login.Login_loadingPercent = 92; - Client.titleLoadingStage = 120; - } else if (Client.titleLoadingStage == 120) { - if (!FontName.archive10.tryLoadFileByNames("huffman", "")) { - Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; - Login.Login_loadingPercent = 94; - } else { - Huffman var16 = new Huffman(FontName.archive10.takeFileByNames("huffman", "")); - class210.huffman = var16; - Login.Login_loadingText = "Loaded wordpack"; - Login.Login_loadingPercent = 94; - Client.titleLoadingStage = 130; - } - } else if (Client.titleLoadingStage == 130) { - if (!WorldMapData_0.archive3.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + WorldMapData_0.archive3.loadPercent() * 4 / 5 + "%"; - Login.Login_loadingPercent = 96; - } else if (!Message.archive12.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (80 + Message.archive12.loadPercent() / 6) + "%"; - Login.Login_loadingPercent = 96; - } else if (!TextureProvider.archive13.isFullyLoaded()) { - Login.Login_loadingText = "Loading interfaces - " + (96 + TextureProvider.archive13.loadPercent() / 50) + "%"; - Login.Login_loadingPercent = 96; - } else { - Login.Login_loadingText = "Loaded interfaces"; - Login.Login_loadingPercent = 98; - Client.titleLoadingStage = 140; - } - } else if (Client.titleLoadingStage == 140) { - Login.Login_loadingPercent = 100; - if (!UrlRequest.archive19.tryLoadGroupByName(WorldMapCacheName.field294.name)) { - Login.Login_loadingText = "Loading world map - " + UrlRequest.archive19.groupLoadPercentByName(WorldMapCacheName.field294.name) / 10 + "%"; - } else { - if (GrandExchangeOfferUnitPriceComparator.worldMap == null) { - GrandExchangeOfferUnitPriceComparator.worldMap = new WorldMap(); - GrandExchangeOfferUnitPriceComparator.worldMap.init(UrlRequest.archive19, WorldMapArea.archive18, WorldMapSection1.archive20, HealthBar.fontBold12, Client.fontsMap, class287.mapSceneSprites); - } - - Login.Login_loadingText = "Loaded world map"; - Client.titleLoadingStage = 150; - } - } else if (Client.titleLoadingStage == 150) { - WorldMapIcon_0.updateGameState(10); - } - } - } - - @ObfuscatedName("hg") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;IIIIZI)V", - garbageValue = "-281939606" - ) - @Export("insertMenuItem") - static final void insertMenuItem(String var0, String var1, int var2, int var3, int var4, int var5, boolean var6) { - if (!Client.isMenuOpen) { - if (Client.menuOptionsCount < 500) { - Client.menuActions[Client.menuOptionsCount] = var0; - Client.menuTargets[Client.menuOptionsCount] = var1; - Client.menuOpcodes[Client.menuOptionsCount] = var2; - Client.menuIdentifiers[Client.menuOptionsCount] = var3; - Client.menuArguments1[Client.menuOptionsCount] = var4; - Client.menuArguments2[Client.menuOptionsCount] = var5; - Client.menuShiftClick[Client.menuOptionsCount] = var6; - ++Client.menuOptionsCount; - } - - } - } -} +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("dr") +@Implements("Decimator") +public class Decimator { + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -222965331 + ) + @Export("inputRate") + int inputRate; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 747601715 + ) + @Export("outputRate") + int outputRate; + @ObfuscatedName("p") + @Export("table") + int[][] table; + + public Decimator(int var1, int var2) { + if (var2 != var1) { + int var4 = var1; + int var5 = var2; + if (var2 > var1) { + var4 = var2; + var5 = var1; + } + + while (var5 != 0) { + int var6 = var4 % var5; + var4 = var5; + var5 = var6; + } + + var1 /= var4; + var2 /= var4; + this.inputRate = var1; + this.outputRate = var2; + this.table = new int[var1][14]; + + for (int var7 = 0; var7 < var1; ++var7) { + int[] var8 = this.table[var7]; + double var9 = (double)var7 / (double)var1 + 6.0D; + int var11 = (int)Math.floor(var9 - 7.0D + 1.0D); + if (var11 < 0) { + var11 = 0; + } + + int var12 = (int)Math.ceil(var9 + 7.0D); + if (var12 > 14) { + var12 = 14; + } + + for (double var13 = (double)var2 / (double)var1; var11 < var12; ++var11) { + double var15 = 3.141592653589793D * ((double)var11 - var9); + double var17 = var13; + if (var15 < -1.0E-4D || var15 > 1.0E-4D) { + var17 = var13 * (Math.sin(var15) / var15); + } + + var17 *= 0.54D + 0.46D * Math.cos(((double)var11 - var9) * 0.2243994752564138D); + var8[var11] = (int)Math.floor(65536.0D * var17 + 0.5D); + } + } + + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([BI)[B", + garbageValue = "906746870" + ) + @Export("resample") + byte[] resample(byte[] var1) { + if (this.table != null) { + int var2 = (int)((long)var1.length * (long)this.outputRate / (long)this.inputRate) + 14; + int[] var3 = new int[var2]; + int var4 = 0; + int var5 = 0; + + int var6; + for (var6 = 0; var6 < var1.length; ++var6) { + byte var7 = var1[var6]; + int[] var8 = this.table[var5]; + + int var9; + for (var9 = 0; var9 < 14; ++var9) { + var3[var4 + var9] += var7 * var8[var9]; + } + + var5 += this.outputRate; + var9 = var5 / this.inputRate; + var4 += var9; + var5 -= var9 * this.inputRate; + } + + var1 = new byte[var2]; + + for (var6 = 0; var6 < var2; ++var6) { + int var10 = var3[var6] + 32768 >> 16; + if (var10 < -128) { + var1[var6] = -128; + } else if (var10 > 127) { + var1[var6] = 127; + } else { + var1[var6] = (byte)var10; + } + } + } + + return var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1984702959" + ) + @Export("scaleRate") + int scaleRate(int var1) { + if (this.table != null) { + var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate); + } + + return var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1527580857" + ) + @Export("scalePosition") + int scalePosition(int var1) { + if (this.table != null) { + var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate) + 6; + } + + return var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Lij;", + garbageValue = "-1096040565" + ) + @Export("WorldMapElement_get") + public static WorldMapElement WorldMapElement_get(int var0) { + return var0 >= 0 && var0 < WorldMapElement.WorldMapElement_cached.length && WorldMapElement.WorldMapElement_cached[var0] != null ? WorldMapElement.WorldMapElement_cached[var0] : new WorldMapElement(var0); + } + + @ObfuscatedName("ei") + @ObfuscatedSignature( + signature = "(I)Lla;", + garbageValue = "-695758013" + ) + @Export("getWorldMap") + static WorldMap getWorldMap() { + return Tiles.worldMap; + } + + @ObfuscatedName("hz") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "851552801" + ) + static final void method2496() { + PacketBuffer var0 = Client.packetWriter.packetBuffer; + var0.importIndex(); + int var1 = var0.readBits(8); + int var2; + if (var1 < Client.npcCount) { + for (var2 = var1; var2 < Client.npcCount; ++var2) { + Client.field758[++Client.field640 - 1] = Client.npcIndices[var2]; + } + } + + if (var1 > Client.npcCount) { + throw new RuntimeException(""); + } else { + Client.npcCount = 0; + + for (var2 = 0; var2 < var1; ++var2) { + int var3 = Client.npcIndices[var2]; + NPC var4 = Client.npcs[var3]; + int var5 = var0.readBits(1); + if (var5 == 0) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + } else { + int var6 = var0.readBits(2); + if (var6 == 0) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + Client.field681[++Client.field633 - 1] = var3; + } else { + int var7; + int var8; + if (var6 == 1) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + var7 = var0.readBits(3); + var4.method2044(var7, (byte)1); + var8 = var0.readBits(1); + if (var8 == 1) { + Client.field681[++Client.field633 - 1] = var3; + } + } else if (var6 == 2) { + Client.npcIndices[++Client.npcCount - 1] = var3; + var4.npcCycle = Client.cycle; + var7 = var0.readBits(3); + var4.method2044(var7, (byte)2); + var8 = var0.readBits(3); + var4.method2044(var8, (byte)2); + int var9 = var0.readBits(1); + if (var9 == 1) { + Client.field681[++Client.field633 - 1] = var3; + } + } else if (var6 == 3) { + Client.field758[++Client.field640 - 1] = var3; + } + } + } + } + + } + } +} diff --git a/runescape-client/src/main/java/DefaultsGroup.java b/runescape-client/src/main/java/DefaultsGroup.java index 19072f608d..00a12e03ef 100644 --- a/runescape-client/src/main/java/DefaultsGroup.java +++ b/runescape-client/src/main/java/DefaultsGroup.java @@ -1,29 +1,29 @@ -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("ke") -@Implements("DefaultsGroup") -public class DefaultsGroup { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lke;" - ) - static final DefaultsGroup field3792; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1766167295 - ) - @Export("group") - final int group; - - static { - field3792 = new DefaultsGroup(3); - } - - DefaultsGroup(int var1) { - this.group = var1; - } -} +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("kp") +@Implements("DefaultsGroup") +public class DefaultsGroup { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lkp;" + ) + static final DefaultsGroup field3794; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 779550305 + ) + @Export("group") + final int group; + + static { + field3794 = new DefaultsGroup(3); + } + + DefaultsGroup(int var1) { + this.group = var1; + } +} diff --git a/runescape-client/src/main/java/DemotingHashTable.java b/runescape-client/src/main/java/DemotingHashTable.java index 08ba177464..892c2caaf1 100644 --- a/runescape-client/src/main/java/DemotingHashTable.java +++ b/runescape-client/src/main/java/DemotingHashTable.java @@ -1,156 +1,156 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ez") -@Implements("DemotingHashTable") -public final class DemotingHashTable { - @ObfuscatedName("c") - @Export("capacity") - int capacity; - @ObfuscatedName("x") - @Export("remaining") - int remaining; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ljn;" - ) - @Export("queue") - IterableDualNodeQueue queue; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Leb;" - ) - class146 field1931; - - public DemotingHashTable(int var1, int var2) { - this.queue = new IterableDualNodeQueue(); - this.capacity = var1; - this.remaining = var1; - - int var3; - for (var3 = 1; var3 + var3 < var1 && var3 < var2; var3 += var3) { - } - - this.hashTable = new IterableNodeHashTable(var3); - } - - @ObfuscatedName("c") - @Export("get") - public Object get(long var1) { - Wrapper var3 = (Wrapper)this.hashTable.get(var1); - if (var3 == null) { - return null; - } else { - Object var4 = var3.get(); - if (var4 == null) { - var3.remove(); - var3.removeDual(); - this.remaining += var3.size; - return null; - } else { - if (var3.isSoft()) { - DirectWrapper var5 = new DirectWrapper(var4, var3.size); - this.hashTable.put(var5, var3.key); - this.queue.add(var5); - var5.keyDual = 0L; - var3.remove(); - var3.removeDual(); - } else { - this.queue.add(var3); - var3.keyDual = 0L; - } - - return var4; - } - } - } - - @ObfuscatedName("x") - @Export("remove") - void remove(long var1) { - Wrapper var3 = (Wrapper)this.hashTable.get(var1); - this.removeWrapper(var3); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ley;)V" - ) - @Export("removeWrapper") - void removeWrapper(Wrapper var1) { - if (var1 != null) { - var1.remove(); - var1.removeDual(); - this.remaining += var1.size; - } - - } - - @ObfuscatedName("g") - @Export("put") - public void put(Object var1, long var2, int var4) { - if (var4 > this.capacity) { - throw new IllegalStateException(); - } else { - this.remove(var2); - this.remaining -= var4; - - while (this.remaining < 0) { - Wrapper var5 = (Wrapper)this.queue.removeLast(); - if (var5 == null) { - throw new RuntimeException(""); - } - - if (!var5.isSoft()) { - } - - this.removeWrapper(var5); - if (this.field1931 != null) { - this.field1931.method3299(var5.get()); - } - } - - DirectWrapper var6 = new DirectWrapper(var1, var4); - this.hashTable.put(var6, var2); - this.queue.add(var6); - var6.keyDual = 0L; - } - } - - @ObfuscatedName("l") - @Export("demote") - public void demote(int var1) { - for (Wrapper var2 = (Wrapper)this.queue.last(); var2 != null; var2 = (Wrapper)this.queue.previous()) { - if (var2.isSoft()) { - if (var2.get() == null) { - var2.remove(); - var2.removeDual(); - this.remaining += var2.size; - } - } else if (++var2.keyDual > (long)var1) { - SoftWrapper var3 = new SoftWrapper(var2.get(), var2.size); - this.hashTable.put(var3, var2.key); - IterableDualNodeQueue.DualNodeDeque_addBefore(var3, var2); - var2.remove(); - var2.removeDual(); - } - } - - } - - @ObfuscatedName("u") - @Export("clear") - public void clear() { - this.queue.clear(); - this.hashTable.clear(); - this.remaining = this.capacity; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("eu") +@Implements("DemotingHashTable") +public final class DemotingHashTable { + @ObfuscatedName("z") + @Export("capacity") + int capacity; + @ObfuscatedName("n") + @Export("remaining") + int remaining; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lji;" + ) + @Export("queue") + IterableDualNodeQueue queue; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lev;" + ) + class146 field1944; + + public DemotingHashTable(int var1, int var2) { + this.queue = new IterableDualNodeQueue(); + this.capacity = var1; + this.remaining = var1; + + int var3; + for (var3 = 1; var3 + var3 < var1 && var3 < var2; var3 += var3) { + } + + this.hashTable = new IterableNodeHashTable(var3); + } + + @ObfuscatedName("z") + @Export("get") + public Object get(long var1) { + Wrapper var3 = (Wrapper)this.hashTable.get(var1); + if (var3 == null) { + return null; + } else { + Object var4 = var3.get(); + if (var4 == null) { + var3.remove(); + var3.removeDual(); + this.remaining += var3.size; + return null; + } else { + if (var3.isSoft()) { + DirectWrapper var5 = new DirectWrapper(var4, var3.size); + this.hashTable.put(var5, var3.key); + this.queue.add(var5); + var5.keyDual = 0L; + var3.remove(); + var3.removeDual(); + } else { + this.queue.add(var3); + var3.keyDual = 0L; + } + + return var4; + } + } + } + + @ObfuscatedName("n") + @Export("remove") + void remove(long var1) { + Wrapper var3 = (Wrapper)this.hashTable.get(var1); + this.removeWrapper(var3); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lec;)V" + ) + @Export("removeWrapper") + void removeWrapper(Wrapper var1) { + if (var1 != null) { + var1.remove(); + var1.removeDual(); + this.remaining += var1.size; + } + + } + + @ObfuscatedName("u") + @Export("put") + public void put(Object var1, long var2, int var4) { + if (var4 > this.capacity) { + throw new IllegalStateException(); + } else { + this.remove(var2); + this.remaining -= var4; + + while (this.remaining < 0) { + Wrapper var5 = (Wrapper)this.queue.removeLast(); + if (var5 == null) { + throw new RuntimeException(""); + } + + if (!var5.isSoft()) { + } + + this.removeWrapper(var5); + if (this.field1944 != null) { + this.field1944.method3298(var5.get()); + } + } + + DirectWrapper var6 = new DirectWrapper(var1, var4); + this.hashTable.put(var6, var2); + this.queue.add(var6); + var6.keyDual = 0L; + } + } + + @ObfuscatedName("r") + @Export("demote") + public void demote(int var1) { + for (Wrapper var2 = (Wrapper)this.queue.last(); var2 != null; var2 = (Wrapper)this.queue.previous()) { + if (var2.isSoft()) { + if (var2.get() == null) { + var2.remove(); + var2.removeDual(); + this.remaining += var2.size; + } + } else if (++var2.keyDual > (long)var1) { + SoftWrapper var3 = new SoftWrapper(var2.get(), var2.size); + this.hashTable.put(var3, var2.key); + IterableDualNodeQueue.DualNodeDeque_addBefore(var3, var2); + var2.remove(); + var2.removeDual(); + } + } + + } + + @ObfuscatedName("p") + @Export("clear") + public void clear() { + this.queue.clear(); + this.hashTable.clear(); + this.remaining = this.capacity; + } +} diff --git a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java index 3fc69acce2..2f08ac72dd 100644 --- a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java +++ b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java @@ -1,298 +1,209 @@ -import java.util.Random; -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("lc") -@Implements("DesktopPlatformInfoProvider") -public class DesktopPlatformInfoProvider implements PlatformInfoProvider { - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1989921303 - ) - int field3899; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1264264203 - ) - int field3900; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -962266715 - ) - int field3896; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Lla;", - garbageValue = "-2012824793" - ) - @Export("get") - public PlatformInfo get() { - byte var1; - if (UserComparator9.field1940.startsWith("win")) { - var1 = 1; - } else if (UserComparator9.field1940.startsWith("mac")) { - var1 = 2; - } else if (UserComparator9.field1940.startsWith("linux")) { - var1 = 3; - } else { - var1 = 4; - } - - String var2; - try { - var2 = System.getProperty("os.arch").toLowerCase(); - } catch (Exception var27) { - var2 = ""; - } - - String var3; - try { - var3 = System.getProperty("os.version").toLowerCase(); - } catch (Exception var26) { - var3 = ""; - } - - String var4 = "Unknown"; - String var5 = "1.1"; - - try { - var4 = System.getProperty("java.vendor"); - var5 = System.getProperty("java.version"); - } catch (Exception var25) { - } - - boolean var24; - if (!var2.startsWith("amd64") && !var2.startsWith("x86_64")) { - var24 = false; - } else { - var24 = true; - } - - byte var7 = 0; - if (var1 == 1) { - if (var3.indexOf("4.0") != -1) { - var7 = 1; - } else if (var3.indexOf("4.1") != -1) { - var7 = 2; - } else if (var3.indexOf("4.9") != -1) { - var7 = 3; - } else if (var3.indexOf("5.0") != -1) { - var7 = 4; - } else if (var3.indexOf("5.1") != -1) { - var7 = 5; - } else if (var3.indexOf("5.2") != -1) { - var7 = 8; - } else if (var3.indexOf("6.0") != -1) { - var7 = 6; - } else if (var3.indexOf("6.1") != -1) { - var7 = 7; - } else if (var3.indexOf("6.2") != -1) { - var7 = 9; - } else if (var3.indexOf("6.3") != -1) { - var7 = 10; - } else if (var3.indexOf("10.0") != -1) { - var7 = 11; - } - } else if (var1 == 2) { - if (var3.indexOf("10.4") != -1) { - var7 = 20; - } else if (var3.indexOf("10.5") != -1) { - var7 = 21; - } else if (var3.indexOf("10.6") != -1) { - var7 = 22; - } else if (var3.indexOf("10.7") != -1) { - var7 = 23; - } else if (var3.indexOf("10.8") != -1) { - var7 = 24; - } else if (var3.indexOf("10.9") != -1) { - var7 = 25; - } else if (var3.indexOf("10.10") != -1) { - var7 = 26; - } else if (var3.indexOf("10.11") != -1) { - var7 = 27; - } else if (var3.indexOf("10.12") != -1) { - var7 = 28; - } else if (var3.indexOf("10.13") != -1) { - var7 = 29; - } - } - - byte var8; - if (var4.toLowerCase().indexOf("sun") != -1) { - var8 = 1; - } else if (var4.toLowerCase().indexOf("microsoft") != -1) { - var8 = 2; - } else if (var4.toLowerCase().indexOf("apple") != -1) { - var8 = 3; - } else if (var4.toLowerCase().indexOf("oracle") != -1) { - var8 = 5; - } else { - var8 = 4; - } - - this.method6218(var5); - Runtime.getRuntime(); - int var10 = (int)((long)((new Random()).nextInt(31457280) + 230686720) / 1048576L) + 1; - int var11; - if (this.field3899 > 3) { - var11 = Runtime.getRuntime().availableProcessors(); - } else { - var11 = 0; - } - - byte var12 = 0; - String var13 = ""; - String var14 = ""; - String var15 = ""; - String var16 = ""; - String var17 = ""; - String var18 = ""; - int[] var23 = new int[3]; - return new PlatformInfo(var1, var24, var7, var8, this.field3899, this.field3900, this.field3896, false, var10, var11, var12, 0, var13, var14, var15, var16, 0, 0, 0, 0, var17, var18, var23, 0, ""); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "1517223421" - ) - void method6218(String var1) { - if (var1.startsWith("1.")) { - this.method6216(var1); - } else { - this.method6219(var1); - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "943324304" - ) - void method6216(String var1) { - String[] var2 = var1.split("\\."); - - try { - this.field3899 = Integer.parseInt(var2[1]); - var2 = var2[2].split("_"); - this.field3900 = Integer.parseInt(var2[0]); - this.field3896 = Integer.parseInt(var2[1]); - } catch (Exception var4) { - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1994454967" - ) - void method6219(String var1) { - String[] var2 = var1.split("\\."); - - try { - this.field3899 = Integer.parseInt(var2[0]); - this.field3900 = Integer.parseInt(var2[1]); - this.field3896 = Integer.parseInt(var2[2]); - } catch (Exception var4) { - } - - } - - @ObfuscatedName("fo") - @ObfuscatedSignature( - signature = "(IIIIZI)V", - garbageValue = "-608218598" - ) - @Export("setViewportShape") - static final void setViewportShape(int var0, int var1, int var2, int var3, boolean var4) { - if (var2 < 1) { - var2 = 1; - } - - if (var3 < 1) { - var3 = 1; - } - - int var5 = var3 - 334; - int var6; - if (var5 < 0) { - var6 = Client.field873; - } else if (var5 >= 100) { - var6 = Client.field752; - } else { - var6 = (Client.field752 - Client.field873) * var5 / 100 + Client.field873; - } - - int var7 = var3 * var6 * 512 / (var2 * 334); - int var8; - int var9; - short var18; - if (var7 < Client.field879) { - var18 = Client.field879; - var6 = var18 * var2 * 334 / (var3 * 512); - if (var6 > Client.field878) { - var6 = Client.field878; - var8 = var3 * var6 * 512 / (var18 * 334); - var9 = (var2 - var8) / 2; - if (var4) { - Rasterizer2D.Rasterizer2D_resetClip(); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216); - Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216); - } - - var0 += var9; - var2 -= var9 * 2; - } - } else if (var7 > Client.field717) { - var18 = Client.field717; - var6 = var18 * var2 * 334 / (var3 * 512); - if (var6 < Client.field877) { - var6 = Client.field877; - var8 = var18 * var2 * 334 / (var6 * 512); - var9 = (var3 - var8) / 2; - if (var4) { - Rasterizer2D.Rasterizer2D_resetClip(); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216); - } - - var1 += var9; - var3 -= var9 * 2; - } - } - - Client.viewportZoom = var3 * var6 / 334; - if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) { - int[] var17 = new int[9]; - - for (var9 = 0; var9 < var17.length; ++var9) { - int var10 = var9 * 32 + 15 + 128; - int var11 = var10 * 3 + 600; - int var13 = Rasterizer3D.Rasterizer3D_sine[var10]; - int var15 = var3 - 334; - if (var15 < 0) { - var15 = 0; - } else if (var15 > 100) { - var15 = 100; - } - - int var16 = (Client.zoomWidth - Client.zoomHeight) * var15 / 100 + Client.zoomHeight; - int var14 = var16 * var11 / 256; - var17[var9] = var14 * var13 >> 16; - } - - Scene.Scene_buildVisiblityMap(var17, 500, 800, var2 * 334 / var3, 334); - } - - Client.viewportOffsetX = var0; - Client.viewportOffsetY = var1; - Client.viewportWidth = var2; - Client.viewportHeight = var3; - } -} +import java.util.Random; +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("lv") +@Implements("DesktopPlatformInfoProvider") +public class DesktopPlatformInfoProvider implements PlatformInfoProvider { + @ObfuscatedName("bx") + @Export("otp") + static String otp; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1774295629 + ) + int field3898; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1935188169 + ) + int field3899; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 271278755 + ) + int field3900; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Llt;", + garbageValue = "2006662723" + ) + @Export("get") + public PlatformInfo get() { + byte var1; + if (class162.field1990.startsWith("win")) { + var1 = 1; + } else if (class162.field1990.startsWith("mac")) { + var1 = 2; + } else if (class162.field1990.startsWith("linux")) { + var1 = 3; + } else { + var1 = 4; + } + + String var2; + try { + var2 = System.getProperty("os.arch").toLowerCase(); + } catch (Exception var27) { + var2 = ""; + } + + String var3; + try { + var3 = System.getProperty("os.version").toLowerCase(); + } catch (Exception var26) { + var3 = ""; + } + + String var4 = "Unknown"; + String var5 = "1.1"; + + try { + var4 = System.getProperty("java.vendor"); + var5 = System.getProperty("java.version"); + } catch (Exception var25) { + } + + boolean var24; + if (!var2.startsWith("amd64") && !var2.startsWith("x86_64")) { + var24 = false; + } else { + var24 = true; + } + + byte var7 = 0; + if (var1 == 1) { + if (var3.indexOf("4.0") != -1) { + var7 = 1; + } else if (var3.indexOf("4.1") != -1) { + var7 = 2; + } else if (var3.indexOf("4.9") != -1) { + var7 = 3; + } else if (var3.indexOf("5.0") != -1) { + var7 = 4; + } else if (var3.indexOf("5.1") != -1) { + var7 = 5; + } else if (var3.indexOf("5.2") != -1) { + var7 = 8; + } else if (var3.indexOf("6.0") != -1) { + var7 = 6; + } else if (var3.indexOf("6.1") != -1) { + var7 = 7; + } else if (var3.indexOf("6.2") != -1) { + var7 = 9; + } else if (var3.indexOf("6.3") != -1) { + var7 = 10; + } else if (var3.indexOf("10.0") != -1) { + var7 = 11; + } + } else if (var1 == 2) { + if (var3.indexOf("10.4") != -1) { + var7 = 20; + } else if (var3.indexOf("10.5") != -1) { + var7 = 21; + } else if (var3.indexOf("10.6") != -1) { + var7 = 22; + } else if (var3.indexOf("10.7") != -1) { + var7 = 23; + } else if (var3.indexOf("10.8") != -1) { + var7 = 24; + } else if (var3.indexOf("10.9") != -1) { + var7 = 25; + } else if (var3.indexOf("10.10") != -1) { + var7 = 26; + } else if (var3.indexOf("10.11") != -1) { + var7 = 27; + } else if (var3.indexOf("10.12") != -1) { + var7 = 28; + } else if (var3.indexOf("10.13") != -1) { + var7 = 29; + } + } + + byte var8; + if (var4.toLowerCase().indexOf("sun") != -1) { + var8 = 1; + } else if (var4.toLowerCase().indexOf("microsoft") != -1) { + var8 = 2; + } else if (var4.toLowerCase().indexOf("apple") != -1) { + var8 = 3; + } else if (var4.toLowerCase().indexOf("oracle") != -1) { + var8 = 5; + } else { + var8 = 4; + } + + this.method6216(var5); + Runtime.getRuntime(); + int var10 = (int)((long)((new Random()).nextInt(31457280) + 230686720) / 1048576L) + 1; + int var11; + if (this.field3898 > 3) { + var11 = Runtime.getRuntime().availableProcessors(); + } else { + var11 = 0; + } + + byte var12 = 0; + String var13 = ""; + String var14 = ""; + String var15 = ""; + String var16 = ""; + String var17 = ""; + String var18 = ""; + int[] var23 = new int[3]; + return new PlatformInfo(var1, var24, var7, var8, this.field3898, this.field3899, this.field3900, false, var10, var11, var12, 0, var13, var14, var15, var16, 0, 0, 0, 0, var17, var18, var23, 0, ""); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-611564637" + ) + void method6216(String var1) { + if (var1.startsWith("1.")) { + this.method6209(var1); + } else { + this.method6210(var1); + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "1764264863" + ) + void method6209(String var1) { + String[] var2 = var1.split("\\."); + + try { + this.field3898 = Integer.parseInt(var2[1]); + var2 = var2[2].split("_"); + this.field3899 = Integer.parseInt(var2[0]); + this.field3900 = Integer.parseInt(var2[1]); + } catch (Exception var4) { + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-775775529" + ) + void method6210(String var1) { + String[] var2 = var1.split("\\."); + + try { + this.field3898 = Integer.parseInt(var2[0]); + this.field3899 = Integer.parseInt(var2[1]); + this.field3900 = Integer.parseInt(var2[2]); + } catch (Exception var4) { + } + + } +} diff --git a/runescape-client/src/main/java/DevicePcmPlayer.java b/runescape-client/src/main/java/DevicePcmPlayer.java index 31b54a5460..16ab26ac98 100644 --- a/runescape-client/src/main/java/DevicePcmPlayer.java +++ b/runescape-client/src/main/java/DevicePcmPlayer.java @@ -1,135 +1,128 @@ -import javax.sound.sampled.AudioFormat; -import javax.sound.sampled.AudioSystem; -import javax.sound.sampled.LineUnavailableException; -import javax.sound.sampled.SourceDataLine; -import javax.sound.sampled.DataLine.Info; -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("aw") -@Implements("DevicePcmPlayer") -public class DevicePcmPlayer extends PcmPlayer { - @ObfuscatedName("c") - @Export("format") - AudioFormat format; - @ObfuscatedName("x") - @Export("line") - SourceDataLine line; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1378130065 - ) - @Export("capacity2") - int capacity2; - @ObfuscatedName("g") - @Export("byteSamples") - byte[] byteSamples; - - DevicePcmPlayer() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1989780823" - ) - @Export("init") - protected void init() { - this.format = new AudioFormat((float)GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate, 16, PcmPlayer.PcmPlayer_stereo ? 2 : 1, true, false); - this.byteSamples = new byte[256 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "91" - ) - @Export("open") - protected void open(int var1) throws LineUnavailableException { - try { - Info var2 = new Info(SourceDataLine.class, this.format, var1 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); - this.line = (SourceDataLine)AudioSystem.getLine(var2); - this.line.open(); - this.line.start(); - this.capacity2 = var1; - } catch (LineUnavailableException var7) { - int var4 = (var1 >>> 1 & 1431655765) + (var1 & 1431655765); - var4 = (var4 >>> 2 & 858993459) + (var4 & 858993459); - var4 = (var4 >>> 4) + var4 & 252645135; - var4 += var4 >>> 8; - var4 += var4 >>> 16; - int var3 = var4 & 255; - if (var3 != 1) { - int var6 = var1 - 1; - var6 |= var6 >>> 1; - var6 |= var6 >>> 2; - var6 |= var6 >>> 4; - var6 |= var6 >>> 8; - var6 |= var6 >>> 16; - int var5 = var6 + 1; - this.open(var5); - } else { - this.line = null; - throw var7; - } - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1120986508" - ) - @Export("position") - protected int position() { - return this.capacity2 - (this.line.available() >> (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); - } - - @ObfuscatedName("g") - @Export("write") - protected void write() { - int var1 = 256; - if (PcmPlayer.PcmPlayer_stereo) { - var1 <<= 1; - } - - for (int var2 = 0; var2 < var1; ++var2) { - int var3 = super.samples[var2]; - if ((var3 + 8388608 & -16777216) != 0) { - var3 = 8388607 ^ var3 >> 31; - } - - this.byteSamples[var2 * 2] = (byte)(var3 >> 8); - this.byteSamples[var2 * 2 + 1] = (byte)(var3 >> 16); - } - - this.line.write(this.byteSamples, 0, var1 << 1); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1450874669" - ) - @Export("close") - protected void close() { - if (this.line != null) { - this.line.close(); - this.line = null; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-93486639" - ) - @Export("discard") - protected void discard() { - this.line.flush(); - } -} +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.SourceDataLine; +import javax.sound.sampled.DataLine.Info; +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("af") +@Implements("DevicePcmPlayer") +public class DevicePcmPlayer extends PcmPlayer { + @ObfuscatedName("z") + @Export("format") + AudioFormat format; + @ObfuscatedName("n") + @Export("line") + SourceDataLine line; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -66296385 + ) + @Export("capacity2") + int capacity2; + @ObfuscatedName("u") + @Export("byteSamples") + byte[] byteSamples; + + DevicePcmPlayer() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "8" + ) + @Export("init") + protected void init() { + this.format = new AudioFormat((float)UrlRequest.PcmPlayer_sampleRate, 16, PcmPlayer.PcmPlayer_stereo ? 2 : 1, true, false); + this.byteSamples = new byte[256 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IS)V", + garbageValue = "2148" + ) + @Export("open") + protected void open(int var1) throws LineUnavailableException { + try { + Info var2 = new Info(SourceDataLine.class, this.format, var1 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); + this.line = (SourceDataLine)AudioSystem.getLine(var2); + this.line.open(); + this.line.start(); + this.capacity2 = var1; + } catch (LineUnavailableException var5) { + int var4 = (var1 >>> 1 & 1431655765) + (var1 & 1431655765); + var4 = (var4 >>> 2 & 858993459) + (var4 & 858993459); + var4 = (var4 >>> 4) + var4 & 252645135; + var4 += var4 >>> 8; + var4 += var4 >>> 16; + int var3 = var4 & 255; + if (var3 != 1) { + this.open(Timer.method4923(var1)); + } else { + this.line = null; + throw var5; + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "1" + ) + @Export("position") + protected int position() { + return this.capacity2 - (this.line.available() >> (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); + } + + @ObfuscatedName("u") + @Export("write") + protected void write() { + int var1 = 256; + if (PcmPlayer.PcmPlayer_stereo) { + var1 <<= 1; + } + + for (int var2 = 0; var2 < var1; ++var2) { + int var3 = super.samples[var2]; + if ((var3 + 8388608 & -16777216) != 0) { + var3 = 8388607 ^ var3 >> 31; + } + + this.byteSamples[var2 * 2] = (byte)(var3 >> 8); + this.byteSamples[var2 * 2 + 1] = (byte)(var3 >> 16); + } + + this.line.write(this.byteSamples, 0, var1 << 1); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "90832052" + ) + @Export("close") + protected void close() { + if (this.line != null) { + this.line.close(); + this.line = null; + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1875138754" + ) + @Export("discard") + protected void discard() { + this.line.flush(); + } +} diff --git a/runescape-client/src/main/java/DevicePcmPlayerProvider.java b/runescape-client/src/main/java/DevicePcmPlayerProvider.java index b394e55cee..67f5d55014 100644 --- a/runescape-client/src/main/java/DevicePcmPlayerProvider.java +++ b/runescape-client/src/main/java/DevicePcmPlayerProvider.java @@ -1,174 +1,97 @@ -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.ScriptOpcodes; - -@ObfuscatedName("ac") -@Implements("DevicePcmPlayerProvider") -public class DevicePcmPlayerProvider implements PcmPlayerProvider { - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "[Lmw;" - ) - @Export("JagexCache_idxFiles") - public static BufferedFile[] JagexCache_idxFiles; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lkz;" - ) - @Export("NetCache_reference") - static Buffer NetCache_reference; - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "Llf;" - ) - @Export("rasterProvider") - public static AbstractRasterProvider rasterProvider; - @ObfuscatedName("iz") - @ObfuscatedGetter( - intValue = -102001369 - ) - @Export("selectedItemId") - static int selectedItemId; - - DevicePcmPlayerProvider() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Ldh;", - garbageValue = "-131796443" - ) - @Export("player") - public PcmPlayer player() { - return new DevicePcmPlayer(); - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "24" - ) - static final int method811(int var0, int var1) { - int var2 = method805(var0 - 1, var1 - 1) + method805(var0 + 1, var1 - 1) + method805(var0 - 1, var1 + 1) + method805(1 + var0, 1 + var1); - int var3 = method805(var0 - 1, var1) + method805(1 + var0, var1) + method805(var0, var1 - 1) + method805(var0, 1 + var1); - int var4 = method805(var0, var1); - return var2 / 16 + var3 / 8 + var4 / 4; - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "118" - ) - static final int method805(int var0, int var1) { - int var2 = var0 + var1 * 57; - var2 ^= var2 << 13; - int var3 = (var2 * var2 * 15731 + 789221) * var2 + 1376312589 & Integer.MAX_VALUE; - return var3 >> 19 & 255; - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "13" - ) - static int method809(int var0, Script var1, boolean var2) { - int var3; - int var4; - int var6; - if (var0 == ScriptOpcodes.ENUM_STRING) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - EnumDefinition var5 = NetFileRequest.getEnum(var3); - if (var5.outputType != 's') { - } - - for (var6 = 0; var6 < var5.outputCount; ++var6) { - if (var4 == var5.keys[var6]) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var5.strVals[var6]; - var5 = null; - break; - } - } - - if (var5 != null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var5.defaultStr; - } - - return 1; - } else if (var0 != ScriptOpcodes.ENUM) { - if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - EnumDefinition var10 = NetFileRequest.getEnum(var3); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var10.size(); - return 1; - } else { - return 2; - } - } else { - class160.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - int var9 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - var6 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3]; - EnumDefinition var7 = NetFileRequest.getEnum(var9); - if (var3 == var7.inputType && var4 == var7.outputType) { - for (int var8 = 0; var8 < var7.outputCount; ++var8) { - if (var6 == var7.keys[var8]) { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var7.strVals[var8]; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var7.intVals[var8]; - } - - var7 = null; - break; - } - } - - if (var7 != null) { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var7.defaultStr; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var7.defaultInt; - } - } - - return 1; - } else { - if (var4 == 115) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = "null"; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } - } - } - - @ObfuscatedName("jc") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "105" - ) - @Export("Widget_resetModelFrames") - static final void Widget_resetModelFrames(int var0) { - if (TaskHandler.loadInterface(var0)) { - Widget[] var1 = class289.Widget_interfaceComponents[var0]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3 != null) { - var3.modelFrame = 0; - var3.modelFrameCycle = 0; - } - } - - } - } -} +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("ag") +@Implements("DevicePcmPlayerProvider") +public class DevicePcmPlayerProvider implements PcmPlayerProvider { + @ObfuscatedName("sg") + @ObfuscatedGetter( + intValue = 408059263 + ) + @Export("foundItemIdCount") + static int foundItemIdCount; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1430118873 + ) + @Export("KitDefinition_fileCount") + public static int KitDefinition_fileCount; + @ObfuscatedName("p") + static byte[][][] field393; + @ObfuscatedName("y") + static int[][] field386; + @ObfuscatedName("i") + public static short[][] field390; + @ObfuscatedName("ja") + @ObfuscatedSignature( + signature = "Lho;" + ) + static Widget field391; + @ObfuscatedName("lk") + @ObfuscatedGetter( + intValue = -783171563 + ) + @Export("selectedItemSlot") + static int selectedItemSlot; + + DevicePcmPlayerProvider() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Ldv;", + garbageValue = "-79742550" + ) + @Export("player") + public PcmPlayer player() { + return new DevicePcmPlayer(); + } + + @ObfuscatedName("im") + @ObfuscatedSignature( + signature = "(IIIIIII)V", + garbageValue = "405770761" + ) + static final void method877(int var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = var2 - var0; + int var7 = var3 - var1; + int var8 = var6 >= 0 ? var6 : -var6; + int var9 = var7 >= 0 ? var7 : -var7; + int var10 = var8; + if (var8 < var9) { + var10 = var9; + } + + if (var10 != 0) { + int var11 = (var6 << 16) / var10; + int var12 = (var7 << 16) / var10; + if (var12 <= var11) { + var11 = -var11; + } else { + var12 = -var12; + } + + int var13 = var5 * var12 >> 17; + int var14 = var5 * var12 + 1 >> 17; + int var15 = var5 * var11 >> 17; + int var16 = var5 * var11 + 1 >> 17; + var0 -= Rasterizer2D.Rasterizer2D_xClipStart; + var1 -= Rasterizer2D.Rasterizer2D_yClipStart; + int var17 = var0 + var13; + int var18 = var0 - var14; + int var19 = var0 + var6 - var14; + int var20 = var0 + var13 + var6; + int var21 = var15 + var1; + int var22 = var1 - var16; + int var23 = var7 + var1 - var16; + int var24 = var15 + var7 + var1; + Rasterizer3D.method2968(var17, var18, var19); + Rasterizer3D.method2971(var21, var22, var23, var17, var18, var19, var4); + Rasterizer3D.method2968(var17, var19, var20); + Rasterizer3D.method2971(var21, var23, var24, var17, var19, var20, var4); + } + } +} diff --git a/runescape-client/src/main/java/DirectByteArrayCopier.java b/runescape-client/src/main/java/DirectByteArrayCopier.java index 526edc247e..8d1749b124 100644 --- a/runescape-client/src/main/java/DirectByteArrayCopier.java +++ b/runescape-client/src/main/java/DirectByteArrayCopier.java @@ -1,46 +1,72 @@ -import java.nio.ByteBuffer; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gx") -@Implements("DirectByteArrayCopier") -public class DirectByteArrayCopier extends AbstractByteArrayCopier { - @ObfuscatedName("c") - @Export("directBuffer") - ByteBuffer directBuffer; - - DirectByteArrayCopier() { - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)[B", - garbageValue = "49" - ) - @Export("get") - byte[] get() { - byte[] var1 = new byte[this.directBuffer.capacity()]; - this.directBuffer.position(0); - this.directBuffer.get(var1); - return var1; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "-1981176877" - ) - @Export("set") - void set(byte[] var1) { - this.directBuffer = ByteBuffer.allocateDirect(var1.length); - this.directBuffer.position(0); - this.directBuffer.put(var1); - } - - @ObfuscatedName("d") - static final void method3932(long var0) { - ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var0; - } -} +import java.io.IOException; +import java.nio.ByteBuffer; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gj") +@Implements("DirectByteArrayCopier") +public class DirectByteArrayCopier extends AbstractByteArrayCopier { + @ObfuscatedName("l") + @Export("BZip2Decompressor_block") + static int[] BZip2Decompressor_block; + @ObfuscatedName("eu") + static int[] field2482; + @ObfuscatedName("z") + @Export("directBuffer") + ByteBuffer directBuffer; + + DirectByteArrayCopier() { + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)[B", + garbageValue = "-37" + ) + @Export("get") + byte[] get() { + byte[] var1 = new byte[this.directBuffer.capacity()]; + this.directBuffer.position(0); + this.directBuffer.get(var1); + return var1; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "-793496359" + ) + @Export("set") + void set(byte[] var1) { + this.directBuffer = ByteBuffer.allocateDirect(var1.length); + this.directBuffer.position(0); + this.directBuffer.put(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-2052817052" + ) + public static void method3915(boolean var0) { + if (NetCache.NetCache_socket != null) { + try { + Buffer var1 = new Buffer(4); + var1.writeByte(var0 ? 2 : 3); + var1.writeMedium(0); + NetCache.NetCache_socket.write(var1.array, 0, 4); + } catch (IOException var4) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var3) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + + } + } +} diff --git a/runescape-client/src/main/java/DirectWrapper.java b/runescape-client/src/main/java/DirectWrapper.java index 23944b0c96..24ff275a2a 100644 --- a/runescape-client/src/main/java/DirectWrapper.java +++ b/runescape-client/src/main/java/DirectWrapper.java @@ -1,28 +1,28 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ei") -@Implements("DirectWrapper") -public class DirectWrapper extends Wrapper { - @ObfuscatedName("c") - @Export("obj") - Object obj; - - DirectWrapper(Object var1, int var2) { - super(var2); - this.obj = var1; - } - - @ObfuscatedName("c") - @Export("get") - Object get() { - return this.obj; - } - - @ObfuscatedName("x") - @Export("isSoft") - boolean isSoft() { - return false; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ez") +@Implements("DirectWrapper") +public class DirectWrapper extends Wrapper { + @ObfuscatedName("z") + @Export("obj") + Object obj; + + DirectWrapper(Object var1, int var2) { + super(var2); + this.obj = var1; + } + + @ObfuscatedName("z") + @Export("get") + Object get() { + return this.obj; + } + + @ObfuscatedName("n") + @Export("isSoft") + boolean isSoft() { + return false; + } +} diff --git a/runescape-client/src/main/java/DualNode.java b/runescape-client/src/main/java/DualNode.java index 18d5fcd679..bf69173035 100644 --- a/runescape-client/src/main/java/DualNode.java +++ b/runescape-client/src/main/java/DualNode.java @@ -1,35 +1,35 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fv") -@Implements("DualNode") -public class DualNode extends Node { - @ObfuscatedName("cu") - @Export("keyDual") - public long keyDual; - @ObfuscatedName("cd") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("previousDual") - public DualNode previousDual; - @ObfuscatedName("cs") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("nextDual") - public DualNode nextDual; - - @ObfuscatedName("cx") - @Export("removeDual") - public void removeDual() { - if (this.nextDual != null) { - this.nextDual.previousDual = this.previousDual; - this.previousDual.nextDual = this.nextDual; - this.previousDual = null; - this.nextDual = null; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fw") +@Implements("DualNode") +public class DualNode extends Node { + @ObfuscatedName("cu") + @Export("keyDual") + public long keyDual; + @ObfuscatedName("ce") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("previousDual") + public DualNode previousDual; + @ObfuscatedName("cc") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("nextDual") + public DualNode nextDual; + + @ObfuscatedName("ce") + @Export("removeDual") + public void removeDual() { + if (this.nextDual != null) { + this.nextDual.previousDual = this.previousDual; + this.previousDual.nextDual = this.nextDual; + this.previousDual = null; + this.nextDual = null; + } + } +} diff --git a/runescape-client/src/main/java/DualNodeDeque.java b/runescape-client/src/main/java/DualNodeDeque.java index 8c826966c0..f84208f687 100644 --- a/runescape-client/src/main/java/DualNodeDeque.java +++ b/runescape-client/src/main/java/DualNodeDeque.java @@ -1,63 +1,63 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ig") -@Implements("DualNodeDeque") -public final class DualNodeDeque { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("sentinel") - DualNode sentinel; - - public DualNodeDeque() { - this.sentinel = new DualNode(); - this.sentinel.previousDual = this.sentinel; - this.sentinel.nextDual = this.sentinel; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lfv;)V" - ) - @Export("addFirst") - public void addFirst(DualNode var1) { - if (var1.nextDual != null) { - var1.removeDual(); - } - - var1.nextDual = this.sentinel.nextDual; - var1.previousDual = this.sentinel; - var1.nextDual.previousDual = var1; - var1.previousDual.nextDual = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lfv;)V" - ) - @Export("addLast") - public void addLast(DualNode var1) { - if (var1.nextDual != null) { - var1.removeDual(); - } - - var1.nextDual = this.sentinel; - var1.previousDual = this.sentinel.previousDual; - var1.nextDual.previousDual = var1; - var1.previousDual.nextDual = var1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "()Lfv;" - ) - @Export("removeLast") - public DualNode removeLast() { - DualNode var1 = this.sentinel.previousDual; - return var1 == this.sentinel ? null : var1; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ic") +@Implements("DualNodeDeque") +public final class DualNodeDeque { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("sentinel") + DualNode sentinel; + + public DualNodeDeque() { + this.sentinel = new DualNode(); + this.sentinel.previousDual = this.sentinel; + this.sentinel.nextDual = this.sentinel; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lfw;)V" + ) + @Export("addFirst") + public void addFirst(DualNode var1) { + if (var1.nextDual != null) { + var1.removeDual(); + } + + var1.nextDual = this.sentinel.nextDual; + var1.previousDual = this.sentinel; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lfw;)V" + ) + @Export("addLast") + public void addLast(DualNode var1) { + if (var1.nextDual != null) { + var1.removeDual(); + } + + var1.nextDual = this.sentinel; + var1.previousDual = this.sentinel.previousDual; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("removeLast") + public DualNode removeLast() { + DualNode var1 = this.sentinel.previousDual; + return var1 == this.sentinel ? null : var1; + } +} diff --git a/runescape-client/src/main/java/DynamicObject.java b/runescape-client/src/main/java/DynamicObject.java index 6fbdb6a383..ced68f6fa0 100644 --- a/runescape-client/src/main/java/DynamicObject.java +++ b/runescape-client/src/main/java/DynamicObject.java @@ -1,230 +1,263 @@ -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("cd") -@Implements("DynamicObject") -public class DynamicObject extends Entity { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -440317767 - ) - @Export("id") - int id; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1457716031 - ) - @Export("type") - int type; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 2004235481 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1247808451 - ) - @Export("plane") - int plane; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 910065863 - ) - @Export("x") - int x; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 439709923 - ) - @Export("y") - int y; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Liw;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1565823045 - ) - @Export("frame") - int frame; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1402940691 - ) - @Export("cycleStart") - int cycleStart; - - @ObfuscatedSignature( - signature = "(IIIIIIIZLel;)V" - ) - DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Entity var9) { - this.id = var1; - this.type = var2; - this.orientation = var3; - this.plane = var4; - this.x = var5; - this.y = var6; - if (var7 != -1) { - this.sequenceDefinition = class83.SequenceDefinition_get(var7); - this.frame = 0; - this.cycleStart = Client.cycle - 1; - if (this.sequenceDefinition.field3502 == 0 && var9 != null && var9 instanceof DynamicObject) { - DynamicObject var10 = (DynamicObject)var9; - if (var10.sequenceDefinition == this.sequenceDefinition) { - this.frame = var10.frame; - this.cycleStart = var10.cycleStart; - return; - } - } - - if (var8 && this.sequenceDefinition.frameCount != -1) { - this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length); - this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]); - } - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ldr;", - garbageValue = "-35" - ) - @Export("getModel") - protected final Model getModel() { - if (this.sequenceDefinition != null) { - int var1 = Client.cycle - this.cycleStart; - if (var1 > 100 && this.sequenceDefinition.frameCount > 0) { - var1 = 100; - } - - label55: { - do { - do { - if (var1 <= this.sequenceDefinition.frameLengths[this.frame]) { - break label55; - } - - var1 -= this.sequenceDefinition.frameLengths[this.frame]; - ++this.frame; - } while(this.frame < this.sequenceDefinition.frameIds.length); - - this.frame -= this.sequenceDefinition.frameCount; - } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); - - this.sequenceDefinition = null; - } - - this.cycleStart = Client.cycle - var1; - } - - ObjectDefinition var12 = WallDecoration.getObjectDefinition(this.id); - if (var12.transforms != null) { - var12 = var12.transform(); - } - - if (var12 == null) { - return null; - } else { - int var2; - int var3; - if (this.orientation != 1 && this.orientation != 3) { - var2 = var12.sizeX; - var3 = var12.sizeY; - } else { - var2 = var12.sizeY; - var3 = var12.sizeX; - } - - int var4 = (var2 >> 1) + this.x; - int var5 = (var2 + 1 >> 1) + this.x; - int var6 = (var3 >> 1) + this.y; - int var7 = (var3 + 1 >> 1) + this.y; - int[][] var8 = Tiles.Tiles_heights[this.plane]; - int var9 = var8[var5][var7] + var8[var4][var6] + var8[var5][var6] + var8[var4][var7] >> 2; - int var10 = (this.x << 7) + (var2 << 6); - int var11 = (this.y << 7) + (var3 << 6); - return var12.getModelDynamic(this.type, this.orientation, var8, var10, var9, var11, this.sequenceDefinition, this.frame); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)Z", - garbageValue = "1791385097" - ) - @Export("isNumber") - public static boolean isNumber(CharSequence var0) { - boolean var2 = false; - boolean var3 = false; - int var4 = 0; - int var5 = var0.length(); - int var6 = 0; - - boolean var1; - while (true) { - if (var6 >= var5) { - var1 = var3; - break; - } - - label84: { - char var7 = var0.charAt(var6); - if (var6 == 0) { - if (var7 == '-') { - var2 = true; - break label84; - } - - if (var7 == '+') { - break label84; - } - } - - int var9; - if (var7 >= '0' && var7 <= '9') { - var9 = var7 - '0'; - } else if (var7 >= 'A' && var7 <= 'Z') { - var9 = var7 - '7'; - } else { - if (var7 < 'a' || var7 > 'z') { - var1 = false; - break; - } - - var9 = var7 - 'W'; - } - - if (var9 >= 10) { - var1 = false; - break; - } - - if (var2) { - var9 = -var9; - } - - int var8 = var9 + var4 * 10; - if (var4 != var8 / 10) { - var1 = false; - break; - } - - var4 = var8; - var3 = true; - } - - ++var6; - } - - return var1; - } -} +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("ce") +@Implements("DynamicObject") +public class DynamicObject extends Entity { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1757320161 + ) + @Export("id") + int id; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 270171291 + ) + @Export("type") + int type; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1684018413 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -804761033 + ) + @Export("plane") + int plane; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1414323503 + ) + @Export("x") + int x; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1753767283 + ) + @Export("y") + int y; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lix;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1311165823 + ) + @Export("frame") + int frame; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 972994897 + ) + @Export("cycleStart") + int cycleStart; + + @ObfuscatedSignature( + signature = "(IIIIIIIZLer;)V" + ) + DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Entity var9) { + this.id = var1; + this.type = var2; + this.orientation = var3; + this.plane = var4; + this.x = var5; + this.y = var6; + if (var7 != -1) { + this.sequenceDefinition = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var7); + this.frame = 0; + this.cycleStart = Client.cycle - 1; + if (this.sequenceDefinition.field3517 == 0 && var9 != null && var9 instanceof DynamicObject) { + DynamicObject var10 = (DynamicObject)var9; + if (var10.sequenceDefinition == this.sequenceDefinition) { + this.frame = var10.frame; + this.cycleStart = var10.cycleStart; + return; + } + } + + if (var8 && this.sequenceDefinition.frameCount != -1) { + this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length); + this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]); + } + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ldh;", + garbageValue = "-62237472" + ) + @Export("getModel") + protected final Model getModel() { + if (this.sequenceDefinition != null) { + int var1 = Client.cycle - this.cycleStart; + if (var1 > 100 && this.sequenceDefinition.frameCount > 0) { + var1 = 100; + } + + label56: { + do { + do { + if (var1 <= this.sequenceDefinition.frameLengths[this.frame]) { + break label56; + } + + var1 -= this.sequenceDefinition.frameLengths[this.frame]; + ++this.frame; + } while(this.frame < this.sequenceDefinition.frameIds.length); + + this.frame -= this.sequenceDefinition.frameCount; + } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); + + this.sequenceDefinition = null; + } + + this.cycleStart = Client.cycle - var1; + } + + ObjectDefinition var12 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(this.id); + if (var12.transforms != null) { + var12 = var12.transform(); + } + + if (var12 == null) { + return null; + } else { + int var2; + int var3; + if (this.orientation != 1 && this.orientation != 3) { + var2 = var12.sizeX; + var3 = var12.sizeY; + } else { + var2 = var12.sizeY; + var3 = var12.sizeX; + } + + int var4 = (var2 >> 1) + this.x; + int var5 = (var2 + 1 >> 1) + this.x; + int var6 = (var3 >> 1) + this.y; + int var7 = (var3 + 1 >> 1) + this.y; + int[][] var8 = Tiles.Tiles_heights[this.plane]; + int var9 = var8[var5][var6] + var8[var4][var6] + var8[var4][var7] + var8[var5][var7] >> 2; + int var10 = (this.x << 7) + (var2 << 6); + int var11 = (this.y << 7) + (var3 << 6); + return var12.getModelDynamic(this.type, this.orientation, var8, var10, var9, var11, this.sequenceDefinition, this.frame); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1880284014" + ) + @Export("isKeyDown") + public static final boolean isKeyDown() { + synchronized(KeyHandler.KeyHandler_instance) { + if (KeyHandler.field380 == KeyHandler.field378) { + return false; + } else { + SecureRandomFuture.field1230 = KeyHandler.field375[KeyHandler.field378]; + KeyHandler.field381 = KeyHandler.field374[KeyHandler.field378]; + KeyHandler.field378 = KeyHandler.field378 + 1 & 127; + return true; + } + } + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(Ldc;I)V", + garbageValue = "1888530585" + ) + @Export("PcmStream_disable") + static final void PcmStream_disable(PcmStream var0) { + var0.active = false; + if (var0.sound != null) { + var0.sound.position = 0; + } + + for (PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) { + PcmStream_disable(var1); + } + + } + + @ObfuscatedName("ea") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "274251023" + ) + static final void method2219() { + Client.packetWriter.close(); + WorldMapIcon_1.method314(); + PacketWriter.scene.clear(); + + for (int var0 = 0; var0 < 4; ++var0) { + Client.collisionMaps[var0].clear(); + } + + System.gc(); + class197.field2386 = 1; + class197.musicTrackArchive = null; + class188.musicTrackGroupId = -1; + class49.musicTrackFileId = -1; + TileItem.field1223 = 0; + WorldMapSectionType.musicTrackBoolean = false; + MusicPatchNode2.field2382 = 2; + Client.field666 = -1; + Client.field759 = false; + ClientPacket.method3575(); + MouseRecorder.updateGameState(10); + } + + @ObfuscatedName("gn") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "652940971" + ) + static final void method2221() { + for (Projectile var0 = (Projectile)Client.projectiles.last(); var0 != null; var0 = (Projectile)Client.projectiles.previous()) { + if (var0.plane == WorldMapRectangle.plane && Client.cycle <= var0.cycleEnd) { + if (Client.cycle >= var0.cycleStart) { + if (var0.targetIndex > 0) { + NPC var1 = Client.npcs[var0.targetIndex - 1]; + if (var1 != null && var1.x >= 0 && var1.x < 13312 && var1.y * 682054857 >= 0 && var1.y * 682054857 < 13312) { + var0.setDestination(var1.x, var1.y * 682054857, MusicPatchPcmStream.getTileHeight(var1.x, var1.y * 682054857, var0.plane) - var0.endHeight, Client.cycle); + } + } + + if (var0.targetIndex < 0) { + int var2 = -var0.targetIndex - 1; + Player var3; + if (var2 == Client.localPlayerIndex) { + var3 = class223.localPlayer; + } else { + var3 = Client.players[var2]; + } + + if (var3 != null && var3.x >= 0 && var3.x < 13312 && var3.y * 682054857 >= 0 && var3.y * 682054857 < 13312) { + var0.setDestination(var3.x, var3.y * 682054857, MusicPatchPcmStream.getTileHeight(var3.x, var3.y * 682054857, var0.plane) - var0.endHeight, Client.cycle); + } + } + + var0.advance(Client.field698); + PacketWriter.scene.drawEntity(WorldMapRectangle.plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false); + } + } else { + var0.remove(); + } + } + + } +} diff --git a/runescape-client/src/main/java/Entity.java b/runescape-client/src/main/java/Entity.java index 5715105970..88dccbab41 100644 --- a/runescape-client/src/main/java/Entity.java +++ b/runescape-client/src/main/java/Entity.java @@ -1,273 +1,225 @@ -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -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("el") -@Implements("Entity") -public abstract class Entity extends DualNode { - @ObfuscatedName("jn") - @ObfuscatedSignature( - signature = "Lhy;" - ) - static Widget field1835; - @ObfuscatedName("cw") - @ObfuscatedGetter( - intValue = -160272347 - ) - @Export("height") - public int height; - - protected Entity() { - this.height = 1000; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ldr;", - garbageValue = "-35" - ) - @Export("getModel") - protected Model getModel() { - return null; - } - - @ObfuscatedName("cm") - @Export("draw") - void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { - Model var11 = this.getModel(); - if (var11 != null) { - this.height = var11.height; - var11.draw(var1, var2, var3, var4, var5, var6, var7, var8, var9); - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;II)Ljava/io/File;", - garbageValue = "1018244137" - ) - @Export("getCacheDir") - static File getCacheDir(String var0, String var1, int var2) { - String var3 = var2 == 0 ? "" : "" + var2; - JagexCache.JagexCache_locationFile = new File(Message.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var3 + ".dat"); - String var4 = null; - String var5 = null; - boolean var6 = false; - int var11; - File var26; - if (JagexCache.JagexCache_locationFile.exists()) { - try { - AccessFile var7 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); - - Buffer var8; - int var9; - for (var8 = new Buffer((int)var7.length()); var8.offset < var8.array.length; var8.offset += var9) { - var9 = var7.read(var8.array, var8.offset, var8.array.length - var8.offset); - if (var9 == -1) { - throw new IOException(); - } - } - - var8.offset = 0; - var9 = var8.readUnsignedByte(); - if (var9 < 1 || var9 > 3) { - throw new IOException("" + var9); - } - - int var10 = 0; - if (var9 > 1) { - var10 = var8.readUnsignedByte(); - } - - if (var9 <= 2) { - var4 = var8.readStringCp1252NullCircumfixed(); - if (var10 == 1) { - var5 = var8.readStringCp1252NullCircumfixed(); - } - } else { - var4 = var8.readCESU8(); - if (var10 == 1) { - var5 = var8.readCESU8(); - } - } - - var7.close(); - } catch (IOException var24) { - var24.printStackTrace(); - } - - if (var4 != null) { - var26 = new File(var4); - if (!var26.exists()) { - var4 = null; - } - } - - if (var4 != null) { - var26 = new File(var4, "test.dat"); - - boolean var27; - try { - RandomAccessFile var15 = new RandomAccessFile(var26, "rw"); - var11 = var15.read(); - var15.seek(0L); - var15.write(var11); - var15.seek(0L); - var15.close(); - var26.delete(); - var27 = true; - } catch (Exception var22) { - var27 = false; - } - - if (!var27) { - var4 = null; - } - } - } - - if (var4 == null && var2 == 0) { - label139: - for (int var16 = 0; var16 < NetFileRequest.field3096.length; ++var16) { - for (int var17 = 0; var17 < GrandExchangeOfferWorldComparator.field30.length; ++var17) { - File var18 = new File(GrandExchangeOfferWorldComparator.field30[var17] + NetFileRequest.field3096[var16] + File.separatorChar + var0 + File.separatorChar); - if (var18.exists()) { - File var19 = new File(var18, "test.dat"); - - boolean var28; - try { - RandomAccessFile var12 = new RandomAccessFile(var19, "rw"); - int var13 = var12.read(); - var12.seek(0L); - var12.write(var13); - var12.seek(0L); - var12.close(); - var19.delete(); - var28 = true; - } catch (Exception var21) { - var28 = false; - } - - if (var28) { - var4 = var18.toString(); - var6 = true; - break label139; - } - } - } - } - } - - if (var4 == null) { - var4 = Message.userHomeDirectory + File.separatorChar + "jagexcache" + var3 + File.separatorChar + var0 + File.separatorChar + var1 + File.separatorChar; - var6 = true; - } - - if (var5 != null) { - File var25 = new File(var5); - var26 = new File(var4); - - try { - File[] var31 = var25.listFiles(); - File[] var30 = var31; - - for (var11 = 0; var11 < var30.length; ++var11) { - File var29 = var30[var11]; - File var20 = new File(var26, var29.getName()); - boolean var14 = var29.renameTo(var20); - if (!var14) { - throw new IOException(); - } - } - } catch (Exception var23) { - var23.printStackTrace(); - } - - var6 = true; - } - - if (var6) { - WorldMapManager.method611(new File(var4), (File)null); - } - - return new File(var4); - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "-284240639" - ) - @Export("hslToRgb") - static final int hslToRgb(int var0, int var1, int var2) { - if (var2 > 179) { - var1 /= 2; - } - - if (var2 > 192) { - var1 /= 2; - } - - if (var2 > 217) { - var1 /= 2; - } - - if (var2 > 243) { - var1 /= 2; - } - - int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; - return var3; - } - - @ObfuscatedName("er") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-16" - ) - static void method3228() { - Client.packetWriter.clearBuffer(); - Client.packetWriter.packetBuffer.offset = 0; - Client.packetWriter.serverPacket = null; - Client.packetWriter.field1274 = null; - Client.packetWriter.field1286 = null; - Client.packetWriter.field1287 = null; - Client.packetWriter.serverPacketLength = 0; - Client.packetWriter.field1283 = 0; - Client.rebootTimer = 0; - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - Client.minimapState = 0; - Client.destinationX = 0; - - int var0; - for (var0 = 0; var0 < 2048; ++var0) { - Client.players[var0] = null; - } - - Varps.localPlayer = null; - - for (var0 = 0; var0 < Client.npcs.length; ++var0) { - NPC var1 = Client.npcs[var0]; - if (var1 != null) { - var1.targetIndex = -1; - var1.false0 = false; - } - } - - class286.method5221(); - WorldMapIcon_0.updateGameState(30); - - for (var0 = 0; var0 < 100; ++var0) { - Client.field827[var0] = true; - } - - MouseRecorder.method1145(); - } -} +import java.util.Iterator; +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.ScriptOpcodes; + +@ObfuscatedName("er") +@Implements("Entity") +public abstract class Entity extends DualNode { + @ObfuscatedName("ci") + @ObfuscatedGetter( + intValue = -2145101269 + ) + @Export("height") + public int height; + + protected Entity() { + this.height = 1000; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ldh;", + garbageValue = "-62237472" + ) + @Export("getModel") + protected Model getModel() { + return null; + } + + @ObfuscatedName("cb") + @Export("draw") + void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { + Model var11 = this.getModel(); + if (var11 != null) { + this.height = var11.height; + var11.draw(var1, var2, var3, var4, var5, var6, var7, var8, var9); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(CB)B", + garbageValue = "92" + ) + @Export("charToByteCp1252") + public static byte charToByteCp1252(char var0) { + byte var1; + if (var0 > 0 && var0 < 128 || var0 >= 160 && var0 <= 255) { + var1 = (byte)var0; + } else if (var0 == 8364) { + var1 = -128; + } else if (var0 == 8218) { + var1 = -126; + } else if (var0 == 402) { + var1 = -125; + } else if (var0 == 8222) { + var1 = -124; + } else if (var0 == 8230) { + var1 = -123; + } else if (var0 == 8224) { + var1 = -122; + } else if (var0 == 8225) { + var1 = -121; + } else if (var0 == 710) { + var1 = -120; + } else if (var0 == 8240) { + var1 = -119; + } else if (var0 == 352) { + var1 = -118; + } else if (var0 == 8249) { + var1 = -117; + } else if (var0 == 338) { + var1 = -116; + } else if (var0 == 381) { + var1 = -114; + } else if (var0 == 8216) { + var1 = -111; + } else if (var0 == 8217) { + var1 = -110; + } else if (var0 == 8220) { + var1 = -109; + } else if (var0 == 8221) { + var1 = -108; + } else if (var0 == 8226) { + var1 = -107; + } else if (var0 == 8211) { + var1 = -106; + } else if (var0 == 8212) { + var1 = -105; + } else if (var0 == 732) { + var1 = -104; + } else if (var0 == 8482) { + var1 = -103; + } else if (var0 == 353) { + var1 = -102; + } else if (var0 == 8250) { + var1 = -101; + } else if (var0 == 339) { + var1 = -100; + } else if (var0 == 382) { + var1 = -98; + } else if (var0 == 376) { + var1 = -97; + } else { + var1 = 63; + } + + return var1; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "67381036" + ) + static String method3221() { + String var0 = ""; + + Message var2; + for (Iterator var1 = Messages.Messages_hashTable.iterator(); var1.hasNext(); var0 = var0 + var2.sender + ':' + var2.text + '\n') { + var2 = (Message)var1.next(); + } + + return var0; + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "160012965" + ) + static int method3212(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { + Interpreter.Interpreter_intStackSize -= 2; + Client.field880 = (short)PlayerAppearance.method3966(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]); + if (Client.field880 <= 0) { + Client.field880 = 256; + } + + Client.field887 = (short)PlayerAppearance.method3966(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + if (Client.field887 <= 0) { + Client.field887 = 256; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { + Interpreter.Interpreter_intStackSize -= 2; + Client.zoomHeight = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (Client.zoomHeight <= 0) { + Client.zoomHeight = 256; + } + + Client.zoomWidth = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (Client.zoomWidth <= 0) { + Client.zoomWidth = 320; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { + Interpreter.Interpreter_intStackSize -= 4; + Client.field686 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (Client.field686 <= 0) { + Client.field686 = 1; + } + + Client.field891 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (Client.field891 <= 0) { + Client.field891 = 32767; + } else if (Client.field891 < Client.field686) { + Client.field891 = Client.field686; + } + + Client.field892 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + if (Client.field892 <= 0) { + Client.field892 = 1; + } + + Client.field893 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + if (Client.field893 <= 0) { + Client.field893 = 32767; + } else if (Client.field893 < Client.field892) { + Client.field893 = Client.field892; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { + if (Client.viewportWidget != null) { + AbstractByteArrayCopier.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.viewportWidth; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.viewportHeight; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } + + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.zoomHeight; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.zoomWidth; + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class219.method4069(Client.field880); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class219.method4069(Client.field887); + return 1; + } else if (var0 == 6220) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 6221) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 6222) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FloorDecoration.canvasWidth; + return 1; + } else if (var0 == 6223) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WallDecoration.canvasHeight; + return 1; + } else { + return 2; + } + } +} diff --git a/runescape-client/src/main/java/EnumDefinition.java b/runescape-client/src/main/java/EnumDefinition.java index d6240e22e7..5d39bafc54 100644 --- a/runescape-client/src/main/java/EnumDefinition.java +++ b/runescape-client/src/main/java/EnumDefinition.java @@ -1,1068 +1,143 @@ -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("iz") -@Implements("EnumDefinition") -public class EnumDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("EnumDefinition_archive") - public static AbstractArchive EnumDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("EnumDefinition_cached") - static EvictingDualNodeHashTable EnumDefinition_cached; - @ObfuscatedName("t") - @Export("inputType") - public char inputType; - @ObfuscatedName("g") - @Export("outputType") - public char outputType; - @ObfuscatedName("l") - @Export("defaultStr") - public String defaultStr; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 951352389 - ) - @Export("defaultInt") - public int defaultInt; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1261756863 - ) - @Export("outputCount") - public int outputCount; - @ObfuscatedName("v") - @Export("keys") - public int[] keys; - @ObfuscatedName("d") - @Export("intVals") - public int[] intVals; - @ObfuscatedName("z") - @Export("strVals") - public String[] strVals; - - static { - EnumDefinition_cached = new EvictingDualNodeHashTable(64); - } - - EnumDefinition() { - this.defaultStr = "null"; - this.outputCount = 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "13618271" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "700010175" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.inputType = (char)var1.readUnsignedByte(); - } else if (var2 == 2) { - this.outputType = (char)var1.readUnsignedByte(); - } else if (var2 == 3) { - this.defaultStr = var1.readStringCp1252NullTerminated(); - } else if (var2 == 4) { - this.defaultInt = var1.readInt(); - } else { - int var3; - if (var2 == 5) { - this.outputCount = var1.readUnsignedShort(); - this.keys = new int[this.outputCount]; - this.strVals = new String[this.outputCount]; - - for (var3 = 0; var3 < this.outputCount; ++var3) { - this.keys[var3] = var1.readInt(); - this.strVals[var3] = var1.readStringCp1252NullTerminated(); - } - } else if (var2 == 6) { - this.outputCount = var1.readUnsignedShort(); - this.keys = new int[this.outputCount]; - this.intVals = new int[this.outputCount]; - - for (var3 = 0; var3 < this.outputCount; ++var3) { - this.keys[var3] = var1.readInt(); - this.intVals[var3] = var1.readInt(); - } - } - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1670298878" - ) - @Export("size") - public int size() { - return this.outputCount; - } - - @ObfuscatedName("gy") - @ObfuscatedSignature( - signature = "(IIIIII)V", - garbageValue = "-509894007" - ) - @Export("drawObject") - static final void drawObject(int var0, int var1, int var2, int var3, int var4) { - long var5 = WorldMapIcon_1.scene.getBoundaryObjectTag(var0, var1, var2); - int var7; - int var8; - int var9; - int var10; - int var14; - int var26; - if (0L != var5) { - var7 = WorldMapIcon_1.scene.getObjectFlags(var0, var1, var2, var5); - var8 = var7 >> 6 & 3; - var9 = var7 & 31; - var10 = var3; - boolean var12 = var5 != 0L; - if (var12) { - boolean var13 = (int)(var5 >>> 16 & 1L) == 1; - var12 = !var13; - } - - if (var12) { - var10 = var4; - } - - int[] var19 = class60.sceneMinimapSprite.pixels; - var26 = var1 * 4 + (103 - var2) * 2048 + 24624; - var14 = SecureRandomFuture.Entity_unpackID(var5); - ObjectDefinition var15 = WallDecoration.getObjectDefinition(var14); - if (var15.mapSceneId != -1) { - IndexedSprite var16 = class287.mapSceneSprites[var15.mapSceneId]; - if (var16 != null) { - int var17 = (var15.sizeX * 4 - var16.subWidth) / 2; - int var18 = (var15.sizeY * 4 - var16.subHeight) / 2; - var16.drawAt(var17 + var1 * 4 + 48, var18 + (104 - var2 - var15.sizeY) * 4 + 48); - } - } else { - if (var9 == 0 || var9 == 2) { - if (var8 == 0) { - var19[var26] = var10; - var19[var26 + 512] = var10; - var19[var26 + 1024] = var10; - var19[var26 + 1536] = var10; - } else if (var8 == 1) { - var19[var26] = var10; - var19[var26 + 1] = var10; - var19[var26 + 2] = var10; - var19[var26 + 3] = var10; - } else if (var8 == 2) { - var19[var26 + 3] = var10; - var19[var26 + 512 + 3] = var10; - var19[var26 + 1024 + 3] = var10; - var19[var26 + 1536 + 3] = var10; - } else if (var8 == 3) { - var19[var26 + 1536] = var10; - var19[var26 + 1536 + 1] = var10; - var19[var26 + 1536 + 2] = var10; - var19[var26 + 1536 + 3] = var10; - } - } - - if (var9 == 3) { - if (var8 == 0) { - var19[var26] = var10; - } else if (var8 == 1) { - var19[var26 + 3] = var10; - } else if (var8 == 2) { - var19[var26 + 1536 + 3] = var10; - } else if (var8 == 3) { - var19[var26 + 1536] = var10; - } - } - - if (var9 == 2) { - if (var8 == 3) { - var19[var26] = var10; - var19[var26 + 512] = var10; - var19[var26 + 1024] = var10; - var19[var26 + 1536] = var10; - } else if (var8 == 0) { - var19[var26] = var10; - var19[var26 + 1] = var10; - var19[var26 + 2] = var10; - var19[var26 + 3] = var10; - } else if (var8 == 1) { - var19[var26 + 3] = var10; - var19[var26 + 512 + 3] = var10; - var19[var26 + 1024 + 3] = var10; - var19[var26 + 1536 + 3] = var10; - } else if (var8 == 2) { - var19[var26 + 1536] = var10; - var19[var26 + 1536 + 1] = var10; - var19[var26 + 1536 + 2] = var10; - var19[var26 + 1536 + 3] = var10; - } - } - } - } - - var5 = WorldMapIcon_1.scene.getGameObjectTag(var0, var1, var2); - if (0L != var5) { - var7 = WorldMapIcon_1.scene.getObjectFlags(var0, var1, var2, var5); - var8 = var7 >> 6 & 3; - var9 = var7 & 31; - var10 = SecureRandomFuture.Entity_unpackID(var5); - ObjectDefinition var20 = WallDecoration.getObjectDefinition(var10); - if (var20.mapSceneId != -1) { - IndexedSprite var28 = class287.mapSceneSprites[var20.mapSceneId]; - if (var28 != null) { - var26 = (var20.sizeX * 4 - var28.subWidth) / 2; - var14 = (var20.sizeY * 4 - var28.subHeight) / 2; - var28.drawAt(var26 + var1 * 4 + 48, (104 - var2 - var20.sizeY) * 4 + var14 + 48); - } - } else if (var9 == 9) { - int var25 = 15658734; - boolean var27 = var5 != 0L; - if (var27) { - boolean var23 = (int)(var5 >>> 16 & 1L) == 1; - var27 = !var23; - } - - if (var27) { - var25 = 15597568; - } - - int[] var24 = class60.sceneMinimapSprite.pixels; - int var29 = var1 * 4 + (103 - var2) * 2048 + 24624; - if (var8 != 0 && var8 != 2) { - var24[var29] = var25; - var24[var29 + 1 + 512] = var25; - var24[var29 + 1024 + 2] = var25; - var24[var29 + 1536 + 3] = var25; - } else { - var24[var29 + 1536] = var25; - var24[var29 + 1 + 1024] = var25; - var24[var29 + 512 + 2] = var25; - var24[var29 + 3] = var25; - } - } - } - - var5 = WorldMapIcon_1.scene.getFloorDecorationTag(var0, var1, var2); - if (0L != var5) { - var7 = SecureRandomFuture.Entity_unpackID(var5); - ObjectDefinition var21 = WallDecoration.getObjectDefinition(var7); - if (var21.mapSceneId != -1) { - IndexedSprite var22 = class287.mapSceneSprites[var21.mapSceneId]; - if (var22 != null) { - var10 = (var21.sizeX * 4 - var22.subWidth) / 2; - int var11 = (var21.sizeY * 4 - var22.subHeight) / 2; - var22.drawAt(var1 * 4 + var10 + 48, (104 - var2 - var21.sizeY) * 4 + var11 + 48); - } - } - } - - } - - @ObfuscatedName("hb") - @ObfuscatedSignature( - signature = "(IIIILjava/lang/String;Ljava/lang/String;III)V", - garbageValue = "1334769437" - ) - @Export("menuAction") - static final void menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7) { - if (var2 >= 2000) { - var2 -= 2000; - } - - PacketBufferNode var8; - if (var2 == 1) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2244, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeShort(DevicePcmPlayerProvider.selectedItemId); - var8.packetBuffer.method5502(var3); - var8.packetBuffer.writeIntME(class4.baseX * 64 + var0); - var8.packetBuffer.method5500(ModelData0.selectedItemSlot); - var8.packetBuffer.writeInt(MusicPatchPcmStream.selectedItemWidget); - var8.packetBuffer.method5502(ScriptEvent.baseY + var1); - Client.packetWriter.addNode(var8); - } else if (var2 == 2) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2196, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE16(class83.selectedSpellWidget); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.method5500(ScriptEvent.baseY + var1); - var8.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeIntME(Client.selectedSpellChildIndex); - var8.packetBuffer.writeIntME(class4.baseX * 64 + var0); - Client.packetWriter.addNode(var8); - } else if (var2 == 3) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2221, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5500(ScriptEvent.baseY + var1); - var8.packetBuffer.writeShort(class4.baseX * 64 + var0); - var8.packetBuffer.method5502(var3); - Client.packetWriter.addNode(var8); - } else if (var2 == 4) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2253, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(ScriptEvent.baseY + var1); - var8.packetBuffer.method5502(var3); - var8.packetBuffer.method5500(class4.baseX * 64 + var0); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - } else if (var2 == 5) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2226, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeIntME(ScriptEvent.baseY + var1); - var8.packetBuffer.writeIntME(var3); - var8.packetBuffer.method5500(class4.baseX * 64 + var0); - Client.packetWriter.addNode(var8); - } else if (var2 == 6) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2227, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5502(var3); - var8.packetBuffer.writeIntME(ScriptEvent.baseY + var1); - var8.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.writeIntME(class4.baseX * 64 + var0); - Client.packetWriter.addNode(var8); - } else { - PacketBufferNode var9; - NPC var13; - if (var2 == 7) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2225, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeInt(MusicPatchPcmStream.selectedItemWidget); - var9.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5500(ModelData0.selectedItemSlot); - var9.packetBuffer.method5502(DevicePcmPlayerProvider.selectedItemId); - var9.packetBuffer.method5500(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 8) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2280, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5502(Client.selectedSpellChildIndex); - var9.packetBuffer.writeIntLE16(class83.selectedSpellWidget); - var9.packetBuffer.method5500(var3); - var9.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 9) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2214, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 10) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2286, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 11) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2240, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeIntME(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 12) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2220, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5502(var3); - var9.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 13) { - var13 = Client.npcs[var3]; - if (var13 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2275, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5500(var3); - Client.packetWriter.addNode(var9); - } - } else { - Player var15; - if (var2 == 14) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2210, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5502(ModelData0.selectedItemSlot); - var9.packetBuffer.method5500(DevicePcmPlayerProvider.selectedItemId); - var9.packetBuffer.writeIntLE16(MusicPatchPcmStream.selectedItemWidget); - var9.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 15) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2194, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeIntLE(class83.selectedSpellWidget); - var9.packetBuffer.writeShort(var3); - var9.packetBuffer.method5500(Client.selectedSpellChildIndex); - var9.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 16) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2238, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(class4.baseX * 64 + var0); - var8.packetBuffer.method5502(var3); - var8.packetBuffer.method5502(DevicePcmPlayerProvider.selectedItemId); - var8.packetBuffer.writeShort(ScriptEvent.baseY + var1); - var8.packetBuffer.writeInt(MusicPatchPcmStream.selectedItemWidget); - var8.packetBuffer.method5500(ModelData0.selectedItemSlot); - var8.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - } else if (var2 == 17) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2233, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE(class83.selectedSpellWidget); - var8.packetBuffer.writeShort(Client.selectedSpellChildIndex); - var8.packetBuffer.method5500(ScriptEvent.baseY + var1); - var8.packetBuffer.method5500(var3); - var8.packetBuffer.method5500(class4.baseX * 64 + var0); - var8.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - } else if (var2 == 18) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2186, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.method5502(ScriptEvent.baseY + var1); - var8.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5500(class4.baseX * 64 + var0); - Client.packetWriter.addNode(var8); - } else if (var2 == 19) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2259, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(class4.baseX * 64 + var0); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5500(var3); - var8.packetBuffer.method5502(ScriptEvent.baseY + var1); - Client.packetWriter.addNode(var8); - } else if (var2 == 20) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2198, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(ScriptEvent.baseY + var1); - var8.packetBuffer.method5500(var3); - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5502(class4.baseX * 64 + var0); - Client.packetWriter.addNode(var8); - } else if (var2 == 21) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2206, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5502(class4.baseX * 64 + var0); - var8.packetBuffer.method5502(var3); - var8.packetBuffer.writeShort(ScriptEvent.baseY + var1); - Client.packetWriter.addNode(var8); - } else if (var2 == 22) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2188, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(var3); - var8.packetBuffer.method5500(class4.baseX * 64 + var0); - var8.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var8.packetBuffer.method5500(ScriptEvent.baseY + var1); - Client.packetWriter.addNode(var8); - } else if (var2 == 23) { - if (Client.isMenuOpen) { - WorldMapIcon_1.scene.setViewportWalking(); - } else { - WorldMapIcon_1.scene.menuOpen(MouseRecorder.plane, var0, var1, true); - } - } else { - PacketBufferNode var11; - Widget var16; - if (var2 == 24) { - var16 = Player.getWidget(var1); - boolean var12 = true; - if (var16.contentType > 0) { - var12 = class49.method825(var16); - } - - if (var12) { - var11 = MenuAction.getPacketBufferNode(ClientPacket.field2283, Client.packetWriter.isaacCipher); - var11.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var11); - } - } else { - if (var2 == 25) { - var16 = class49.getWidgetChild(var1, var0); - if (var16 != null) { - FloorDecoration.Widget_runOnTargetLeave(); - Player.selectSpell(var1, var0, WorldMapElement.method4390(class60.getWidgetClickMask(var16)), var16.itemId); - Client.isItemSelected = 0; - Client.selectedSpellActionName = class16.method165(var16); - if (Client.selectedSpellActionName == null) { - Client.selectedSpellActionName = "null"; - } - - if (var16.isIf3) { - Client.selectedSpellName = var16.dataText + UserComparator7.colorStartTag(16777215); - } else { - Client.selectedSpellName = UserComparator7.colorStartTag(65280) + var16.spellName + UserComparator7.colorStartTag(16777215); - } - } - - return; - } - - if (var2 == 26) { - GrandExchangeEvent.method73(); - } else { - int var10; - Widget var14; - if (var2 == 28) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2283, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - var14 = Player.getWidget(var1); - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { - var10 = var14.cs1Instructions[0][1]; - Varps.Varps_main[var10] = 1 - Varps.Varps_main[var10]; - Players.method2123(var10); - } - } else if (var2 == 29) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2283, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - var14 = Player.getWidget(var1); - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { - var10 = var14.cs1Instructions[0][1]; - if (Varps.Varps_main[var10] != var14.cs1ComparisonValues[0]) { - Varps.Varps_main[var10] = var14.cs1ComparisonValues[0]; - Players.method2123(var10); - } - } - } else if (var2 == 30) { - if (Client.meslayerContinueWidget == null) { - WorldMapSection1.resumePauseWidget(var1, var0); - Client.meslayerContinueWidget = class49.getWidgetChild(var1, var0); - WorldMapID.invalidateWidget(Client.meslayerContinueWidget); - } - } else if (var2 == 31) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2260, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(var3); - var8.packetBuffer.writeInt(MusicPatchPcmStream.selectedItemWidget); - var8.packetBuffer.method5500(ModelData0.selectedItemSlot); - var8.packetBuffer.writeIntME(var0); - var8.packetBuffer.writeShortLE(var1); - var8.packetBuffer.method5502(DevicePcmPlayerProvider.selectedItemId); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 32) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2219, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShort(Client.selectedSpellChildIndex); - var8.packetBuffer.method5500(var0); - var8.packetBuffer.writeShortLE(var1); - var8.packetBuffer.method5500(var3); - var8.packetBuffer.writeIntLE16(class83.selectedSpellWidget); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 33) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2256, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(var3); - var8.packetBuffer.writeIntME(var0); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 34) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2192, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5500(var3); - var8.packetBuffer.writeIntME(var0); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 35) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2261, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE(var1); - var8.packetBuffer.method5502(var3); - var8.packetBuffer.method5500(var0); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 36) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2264, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(var0); - var8.packetBuffer.writeShortLE(var1); - var8.packetBuffer.method5502(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 37) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2277, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(var0); - var8.packetBuffer.writeShortLE(var1); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else { - if (var2 == 38) { - FloorDecoration.Widget_runOnTargetLeave(); - var16 = Player.getWidget(var1); - Client.isItemSelected = 1; - ModelData0.selectedItemSlot = var0; - MusicPatchPcmStream.selectedItemWidget = var1; - DevicePcmPlayerProvider.selectedItemId = var3; - WorldMapID.invalidateWidget(var16); - Client.selectedItemName = UserComparator7.colorStartTag(16748608) + Player.ItemDefinition_get(var3).name + UserComparator7.colorStartTag(16777215); - if (Client.selectedItemName == null) { - Client.selectedItemName = "null"; - } - - return; - } - - if (var2 == 39) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2234, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE16(var1); - var8.packetBuffer.method5500(var0); - var8.packetBuffer.method5502(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 40) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2269, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeShortLE(var1); - var8.packetBuffer.method5500(var0); - var8.packetBuffer.method5500(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 41) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2282, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntLE(var1); - var8.packetBuffer.method5500(var3); - var8.packetBuffer.writeShort(var0); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 42) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2203, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5500(var0); - var8.packetBuffer.writeIntLE16(var1); - var8.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 43) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2243, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5500(var0); - var8.packetBuffer.writeIntME(var3); - var8.packetBuffer.writeInt(var1); - Client.packetWriter.addNode(var8); - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - } else if (var2 == 44) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2237, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5500(var3); - var9.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 45) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2215, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.writeIntME(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 46) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2204, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5500(var3); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 47) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2248, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5500(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 48) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2212, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5502(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 49) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2250, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5502(var3); - var9.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 50) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2268, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - var9.packetBuffer.method5500(var3); - Client.packetWriter.addNode(var9); - } - } else if (var2 == 51) { - var15 = Client.players[var3]; - if (var15 != null) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2211, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5500(var3); - var9.packetBuffer.method5566(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var9); - } - } else { - label642: { - if (var2 != 57) { - if (var2 == 58) { - var16 = class49.getWidgetChild(var1, var0); - if (var16 != null) { - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher); - var9.packetBuffer.writeShortLE(class83.selectedSpellWidget); - var9.packetBuffer.writeIntME(Client.selectedSpellChildIndex); - var9.packetBuffer.writeIntLE(var1); - var9.packetBuffer.writeShort(var0); - var9.packetBuffer.writeIntME(Client.field648); - var9.packetBuffer.writeShort(var16.itemId); - Client.packetWriter.addNode(var9); - } - break label642; - } - - if (var2 == 1001) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - Client.destinationX = var0; - Client.destinationY = var1; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2209, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(ScriptEvent.baseY + var1); - var8.packetBuffer.writeShort(var3); - var8.packetBuffer.method5500(class4.baseX * 64 + var0); - var8.packetBuffer.method5493(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); - Client.packetWriter.addNode(var8); - break label642; - } - - if (var2 == 1002) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2232, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeIntME(var3); - Client.packetWriter.addNode(var8); - break label642; - } - - if (var2 == 1003) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var13 = Client.npcs[var3]; - if (var13 != null) { - NPCDefinition var17 = var13.definition; - if (var17.transforms != null) { - var17 = var17.transform(); - } - - if (var17 != null) { - var11 = MenuAction.getPacketBufferNode(ClientPacket.field2230, Client.packetWriter.isaacCipher); - var11.packetBuffer.method5500(var17.id); - Client.packetWriter.addNode(var11); - } - } - break label642; - } - - if (var2 == 1004) { - Client.mouseCrossX = var6; - Client.mouseCrossY = var7; - Client.mouseCrossColor = 2; - Client.mouseCrossState = 0; - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2205, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5500(var3); - Client.packetWriter.addNode(var8); - break label642; - } - - if (var2 == 1005) { - var16 = Player.getWidget(var1); - if (var16 != null && var16.itemQuantities[var0] >= 100000) { - WorldMapCacheName.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + Player.ItemDefinition_get(var3).name); - } else { - var9 = MenuAction.getPacketBufferNode(ClientPacket.field2205, Client.packetWriter.isaacCipher); - var9.packetBuffer.method5500(var3); - Client.packetWriter.addNode(var9); - } - - Client.field727 = 0; - Entity.field1835 = Player.getWidget(var1); - Client.field728 = var0; - break label642; - } - - if (var2 != 1007) { - if (var2 == 1010 || var2 == 1008 || var2 == 1009 || var2 == 1011 || var2 == 1012) { - GrandExchangeOfferUnitPriceComparator.worldMap.menuAction(var2, var3, new Coord(var0), new Coord(var1)); - } - break label642; - } - } - - var16 = class49.getWidgetChild(var1, var0); - if (var16 != null) { - TileItem.method2093(var3, var1, var0, var16.itemId, var5); - } - } - } - } - } - } - } - } - } - - if (Client.isItemSelected != 0) { - Client.isItemSelected = 0; - WorldMapID.invalidateWidget(Player.getWidget(MusicPatchPcmStream.selectedItemWidget)); - } - - if (Client.isSpellSelected) { - FloorDecoration.Widget_runOnTargetLeave(); - } - - if (Entity.field1835 != null && Client.field727 == 0) { - WorldMapID.invalidateWidget(Entity.field1835); - } - - } -} +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("ia") +@Implements("EnumDefinition") +public class EnumDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("EnumDefinition_archive") + public static AbstractArchive EnumDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("EnumDefinition_cached") + static EvictingDualNodeHashTable EnumDefinition_cached; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Laq;" + ) + @Export("worldMapEvent") + static WorldMapEvent worldMapEvent; + @ObfuscatedName("v") + @Export("inputType") + public char inputType; + @ObfuscatedName("u") + @Export("outputType") + public char outputType; + @ObfuscatedName("r") + @Export("defaultStr") + public String defaultStr; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 213418595 + ) + @Export("defaultInt") + public int defaultInt; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1372083607 + ) + @Export("outputCount") + public int outputCount; + @ObfuscatedName("m") + @Export("keys") + public int[] keys; + @ObfuscatedName("y") + @Export("intVals") + public int[] intVals; + @ObfuscatedName("i") + @Export("strVals") + public String[] strVals; + + static { + EnumDefinition_cached = new EvictingDualNodeHashTable(64); + } + + EnumDefinition() { + this.defaultStr = "null"; + this.outputCount = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-1933011246" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "1574226398" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.inputType = (char)var1.readUnsignedByte(); + } else if (var2 == 2) { + this.outputType = (char)var1.readUnsignedByte(); + } else if (var2 == 3) { + this.defaultStr = var1.readStringCp1252NullTerminated(); + } else if (var2 == 4) { + this.defaultInt = var1.readInt(); + } else { + int var3; + if (var2 == 5) { + this.outputCount = var1.readUnsignedShort(); + this.keys = new int[this.outputCount]; + this.strVals = new String[this.outputCount]; + + for (var3 = 0; var3 < this.outputCount; ++var3) { + this.keys[var3] = var1.readInt(); + this.strVals[var3] = var1.readStringCp1252NullTerminated(); + } + } else if (var2 == 6) { + this.outputCount = var1.readUnsignedShort(); + this.keys = new int[this.outputCount]; + this.intVals = new int[this.outputCount]; + + for (var3 = 0; var3 < this.outputCount; ++var3) { + this.keys[var3] = var1.readInt(); + this.intVals[var3] = var1.readInt(); + } + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1423753567" + ) + @Export("size") + public int size() { + return this.outputCount; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "54" + ) + static final void method4496(String var0) { + class210.addGameMessage(30, "", var0); + } +} diff --git a/runescape-client/src/main/java/Enumerated.java b/runescape-client/src/main/java/Enumerated.java index 1b8a585685..7833f757a1 100644 --- a/runescape-client/src/main/java/Enumerated.java +++ b/runescape-client/src/main/java/Enumerated.java @@ -1,16 +1,16 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gk") -@Implements("Enumerated") -public interface Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - int rsOrdinal(); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ga") +@Implements("Enumerated") +public interface Enumerated { + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + int rsOrdinal(); +} diff --git a/runescape-client/src/main/java/EvictingDualNodeHashTable.java b/runescape-client/src/main/java/EvictingDualNodeHashTable.java index 5ddad2fb4e..ff48afe2b9 100644 --- a/runescape-client/src/main/java/EvictingDualNodeHashTable.java +++ b/runescape-client/src/main/java/EvictingDualNodeHashTable.java @@ -1,103 +1,103 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("et") -@Implements("EvictingDualNodeHashTable") -public final class EvictingDualNodeHashTable { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfv;" - ) - DualNode field1923; - @ObfuscatedName("x") - @Export("capacity") - int capacity; - @ObfuscatedName("t") - @Export("remainingCapacity") - int remainingCapacity; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Ljn;" - ) - @Export("deque") - IterableDualNodeQueue deque; - - public EvictingDualNodeHashTable(int var1) { - this.field1923 = new DualNode(); - this.deque = new IterableDualNodeQueue(); - this.capacity = var1; - this.remainingCapacity = var1; - - int var2; - for (var2 = 1; var2 + var2 < var1; var2 += var2) { - } - - this.hashTable = new IterableNodeHashTable(var2); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(J)Lfv;" - ) - @Export("get") - public DualNode get(long var1) { - DualNode var3 = (DualNode)this.hashTable.get(var1); - if (var3 != null) { - this.deque.add(var3); - } - - return var3; - } - - @ObfuscatedName("x") - @Export("remove") - public void remove(long var1) { - DualNode var3 = (DualNode)this.hashTable.get(var1); - if (var3 != null) { - var3.remove(); - var3.removeDual(); - ++this.remainingCapacity; - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lfv;J)V" - ) - @Export("put") - public void put(DualNode var1, long var2) { - if (this.remainingCapacity == 0) { - DualNode var4 = this.deque.removeLast(); - var4.remove(); - var4.removeDual(); - if (var4 == this.field1923) { - var4 = this.deque.removeLast(); - var4.remove(); - var4.removeDual(); - } - } else { - --this.remainingCapacity; - } - - this.hashTable.put(var1, var2); - this.deque.add(var1); - } - - @ObfuscatedName("g") - @Export("clear") - public void clear() { - this.deque.clear(); - this.hashTable.clear(); - this.field1923 = new DualNode(); - this.remainingCapacity = this.capacity; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("em") +@Implements("EvictingDualNodeHashTable") +public final class EvictingDualNodeHashTable { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfw;" + ) + DualNode field1937; + @ObfuscatedName("n") + @Export("capacity") + int capacity; + @ObfuscatedName("v") + @Export("remainingCapacity") + int remainingCapacity; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lji;" + ) + @Export("deque") + IterableDualNodeQueue deque; + + public EvictingDualNodeHashTable(int var1) { + this.field1937 = new DualNode(); + this.deque = new IterableDualNodeQueue(); + this.capacity = var1; + this.remainingCapacity = var1; + + int var2; + for (var2 = 1; var2 + var2 < var1; var2 += var2) { + } + + this.hashTable = new IterableNodeHashTable(var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(J)Lfw;" + ) + @Export("get") + public DualNode get(long var1) { + DualNode var3 = (DualNode)this.hashTable.get(var1); + if (var3 != null) { + this.deque.add(var3); + } + + return var3; + } + + @ObfuscatedName("n") + @Export("remove") + public void remove(long var1) { + DualNode var3 = (DualNode)this.hashTable.get(var1); + if (var3 != null) { + var3.remove(); + var3.removeDual(); + ++this.remainingCapacity; + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lfw;J)V" + ) + @Export("put") + public void put(DualNode var1, long var2) { + if (this.remainingCapacity == 0) { + DualNode var4 = this.deque.removeLast(); + var4.remove(); + var4.removeDual(); + if (var4 == this.field1937) { + var4 = this.deque.removeLast(); + var4.remove(); + var4.removeDual(); + } + } else { + --this.remainingCapacity; + } + + this.hashTable.put(var1, var2); + this.deque.add(var1); + } + + @ObfuscatedName("u") + @Export("clear") + public void clear() { + this.deque.clear(); + this.hashTable.clear(); + this.field1937 = new DualNode(); + this.remainingCapacity = this.capacity; + } +} diff --git a/runescape-client/src/main/java/FaceNormal.java b/runescape-client/src/main/java/FaceNormal.java index a3bf98fa75..589475d763 100644 --- a/runescape-client/src/main/java/FaceNormal.java +++ b/runescape-client/src/main/java/FaceNormal.java @@ -1,36 +1,128 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("em") -@Implements("FaceNormal") -public class FaceNormal { - @ObfuscatedName("kk") - @ObfuscatedGetter( - intValue = -2016617893 - ) - @Export("menuHeight") - static int menuHeight; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 153550735 - ) - @Export("x") - int x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1428823539 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1573119105 - ) - @Export("z") - int z; - - FaceNormal() { - } -} +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("ee") +@Implements("FaceNormal") +public class FaceNormal { + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lkn;" + ) + @Export("ItemDefinition_fontPlain11") + static Font ItemDefinition_fontPlain11; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lkl;" + ) + @Export("NetCache_responseArchiveBuffer") + static Buffer NetCache_responseArchiveBuffer; + @ObfuscatedName("ds") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive2") + static Archive archive2; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 149051353 + ) + @Export("x") + int x; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1494841217 + ) + @Export("y") + int y; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 2026615431 + ) + @Export("z") + int z; + + FaceNormal() { + } + + @ObfuscatedName("iy") + @ObfuscatedSignature( + signature = "([Lho;IIIZI)V", + garbageValue = "2028417948" + ) + @Export("resizeInterface") + static void resizeInterface(Widget[] var0, int var1, int var2, int var3, boolean var4) { + for (int var5 = 0; var5 < var0.length; ++var5) { + Widget var6 = var0[var5]; + if (var6 != null && var6.parentId == var1) { + TileItem.alignWidgetSize(var6, var2, var3, var4); + class30.alignWidgetPosition(var6, var2, var3); + if (var6.scrollX > var6.scrollWidth - var6.width) { + var6.scrollX = var6.scrollWidth - var6.width; + } + + if (var6.scrollX < 0) { + var6.scrollX = 0; + } + + if (var6.scrollY > var6.scrollHeight - var6.height) { + var6.scrollY = var6.scrollHeight - var6.height; + } + + if (var6.scrollY < 0) { + var6.scrollY = 0; + } + + if (var6.type == 0) { + GameShell.revalidateWidgetScroll(var0, var6, var4); + } + } + } + + } + + @ObfuscatedName("ki") + @ObfuscatedSignature( + signature = "(Lho;II)Ljava/lang/String;", + garbageValue = "-1147965976" + ) + static String method3224(Widget var0, int var1) { + int var3 = class2.getWidgetClickMask(var0); + boolean var2 = (var3 >> var1 + 1 & 1) != 0; + if (!var2 && var0.onOp == null) { + return null; + } else { + return var0.actions != null && var0.actions.length > var1 && var0.actions[var1] != null && var0.actions[var1].trim().length() != 0 ? var0.actions[var1] : null; + } + } + + @ObfuscatedName("kr") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZB)Ljava/lang/String;", + garbageValue = "17" + ) + static String method3225(String var0, boolean var1) { + String var2 = var1 ? "https://" : "http://"; + if (Client.gameBuild == 1) { + var0 = var0 + "-wtrc"; + } else if (Client.gameBuild == 2) { + var0 = var0 + "-wtqa"; + } else if (Client.gameBuild == 3) { + var0 = var0 + "-wtwip"; + } else if (Client.gameBuild == 5) { + var0 = var0 + "-wti"; + } else if (Client.gameBuild == 4) { + var0 = "local"; + } + + String var3 = ""; + if (class197.field2390 != null) { + var3 = "/p=" + class197.field2390; + } + + String var4 = "runescape.com"; + return var2 + var0 + "." + var4 + "/l=" + WorldMapLabelSize.clientLanguage + "/a=" + WorldMapArea.field218 + var3 + "/"; + } +} diff --git a/runescape-client/src/main/java/FileSystem.java b/runescape-client/src/main/java/FileSystem.java index 33cd1ee69d..4e1ef84579 100644 --- a/runescape-client/src/main/java/FileSystem.java +++ b/runescape-client/src/main/java/FileSystem.java @@ -1,69 +1,24 @@ -import java.util.Hashtable; -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("fi") -@Implements("FileSystem") -public class FileSystem { - @ObfuscatedName("qd") - @ObfuscatedGetter( - intValue = 1877422611 - ) - static int field2027; - @ObfuscatedName("c") - @Export("FileSystem_hasPermissions") - static boolean FileSystem_hasPermissions; - @ObfuscatedName("t") - @Export("FileSystem_cacheFiles") - static Hashtable FileSystem_cacheFiles; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("title_muteSprite") - static IndexedSprite[] title_muteSprite; - @ObfuscatedName("bw") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("worldSelectArrows") - static IndexedSprite[] worldSelectArrows; - @ObfuscatedName("kl") - @ObfuscatedGetter( - intValue = -841195075 - ) - @Export("menuX") - static int menuX; - - static { - FileSystem_hasPermissions = false; - FileSystem_cacheFiles = new Hashtable(16); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)[Llt;", - garbageValue = "584570356" - ) - public static IndexedSprite[] method3489() { - IndexedSprite[] var0 = new IndexedSprite[class325.SpriteBuffer_spriteCount]; - - for (int var1 = 0; var1 < class325.SpriteBuffer_spriteCount; ++var1) { - IndexedSprite var2 = var0[var1] = new IndexedSprite(); - var2.width = class325.SpriteBuffer_spriteWidth; - var2.height = class325.SpriteBuffer_spriteHeight; - var2.xOffset = class325.SpriteBuffer_xOffsets[var1]; - var2.yOffset = SecureRandomCallable.SpriteBuffer_yOffsets[var1]; - var2.subWidth = class325.SpriteBuffer_spriteWidths[var1]; - var2.subHeight = SoundSystem.SpriteBuffer_spriteHeights[var1]; - var2.palette = class325.SpriteBuffer_spritePalette; - var2.pixels = InvDefinition.SpriteBuffer_pixels[var1]; - } - - class192.SpriteBuffer_clear(); - return var0; - } -} +import java.io.File; +import java.util.Hashtable; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("fg") +@Implements("FileSystem") +public class FileSystem { + @ObfuscatedName("z") + @Export("FileSystem_hasPermissions") + public static boolean FileSystem_hasPermissions; + @ObfuscatedName("n") + @Export("FileSystem_cacheDir") + public static File FileSystem_cacheDir; + @ObfuscatedName("v") + @Export("FileSystem_cacheFiles") + static Hashtable FileSystem_cacheFiles; + + static { + FileSystem_hasPermissions = false; + FileSystem_cacheFiles = new Hashtable(16); + } +} diff --git a/runescape-client/src/main/java/FillMode.java b/runescape-client/src/main/java/FillMode.java index ed72438e38..1d98bd128f 100644 --- a/runescape-client/src/main/java/FillMode.java +++ b/runescape-client/src/main/java/FillMode.java @@ -1,73 +1,84 @@ -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("lq") -@Implements("FillMode") -public enum FillMode implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("SOLID") - SOLID(0, 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Llq;" - ) - field3855(1, 1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Llq;" - ) - field3852(2, 2); - - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -494470033 - ) - @Export("value") - public final int value; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1639084691 - ) - @Export("id") - final int id; - - FillMode(int var3, int var4) { - this.value = var3; - this.id = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lhz;IIS)Lli;", - garbageValue = "-25317" - ) - @Export("SpriteBuffer_getSprite") - public static Sprite SpriteBuffer_getSprite(AbstractArchive var0, int var1, int var2) { - byte[] var4 = var0.takeFile(var1, var2); - boolean var3; - if (var4 == null) { - var3 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var4); - var3 = true; - } - - return !var3 ? null : ChatChannel.method2218(); - } -} +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("lu") +@Implements("FillMode") +public enum FillMode implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Llu;" + ) + @Export("SOLID") + SOLID(0, 0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Llu;" + ) + field3856(1, 1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Llu;" + ) + field3857(2, 2); + + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -640256921 + ) + @Export("value") + public final int value; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -532498775 + ) + @Export("id") + final int id; + + FillMode(int var3, int var4) { + this.value = var3; + this.id = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(I)Llf;", + garbageValue = "1508787563" + ) + static Sprite method6007() { + Sprite var0 = new Sprite(); + var0.width = class325.SpriteBuffer_spriteWidth; + var0.height = Frames.SpriteBuffer_spriteHeight; + var0.xOffset = class325.SpriteBuffer_xOffsets[0]; + var0.yOffset = MusicPatchPcmStream.SpriteBuffer_yOffsets[0]; + var0.subWidth = class325.SpriteBuffer_spriteWidths[0]; + var0.subHeight = RunException.SpriteBuffer_spriteHeights[0]; + int var1 = var0.subHeight * var0.subWidth; + byte[] var2 = PacketBufferNode.SpriteBuffer_pixels[0]; + var0.pixels = new int[var1]; + + for (int var3 = 0; var3 < var1; ++var3) { + var0.pixels[var3] = class325.SpriteBuffer_spritePalette[var2[var3] & 255]; + } + + class325.SpriteBuffer_xOffsets = null; + MusicPatchPcmStream.SpriteBuffer_yOffsets = null; + class325.SpriteBuffer_spriteWidths = null; + RunException.SpriteBuffer_spriteHeights = null; + class325.SpriteBuffer_spritePalette = null; + PacketBufferNode.SpriteBuffer_pixels = null; + return var0; + } +} diff --git a/runescape-client/src/main/java/FloorDecoration.java b/runescape-client/src/main/java/FloorDecoration.java index aee053b45b..dc4f3919e5 100644 --- a/runescape-client/src/main/java/FloorDecoration.java +++ b/runescape-client/src/main/java/FloorDecoration.java @@ -1,154 +1,100 @@ -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("db") -@Implements("FloorDecoration") -public final class FloorDecoration { - @ObfuscatedName("fg") - @ObfuscatedGetter( - intValue = 2143903215 - ) - static int field1585; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1477946129 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -662619385 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1897979537 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("entity") - public Entity entity; - @ObfuscatedName("l") - @ObfuscatedGetter( - longValue = -6178260684418985297L - ) - @Export("tag") - public long tag; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 944766785 - ) - @Export("flags") - int flags; - - FloorDecoration() { - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "423054360" - ) - static final void method2813(int var0, int var1, int var2, int var3) { - for (int var4 = var1; var4 <= var3 + var1; ++var4) { - for (int var5 = var0; var5 <= var0 + var2; ++var5) { - if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) { - Tiles.field473[0][var5][var4] = 127; - if (var0 == var5 && var5 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; - } - - if (var5 == var0 + var2 && var5 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; - } - - if (var4 == var1 && var4 > 0) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; - } - - if (var3 + var1 == var4 && var4 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; - } - } - } - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "3" - ) - public static void method2811() { - try { - JagexCache.JagexCache_dat2File.close(); - - for (int var0 = 0; var0 < JagexCache.idxCount; ++var0) { - DevicePcmPlayerProvider.JagexCache_idxFiles[var0].close(); - } - - JagexCache.JagexCache_idx255File.close(); - JagexCache.JagexCache_randomDat.close(); - } catch (Exception var2) { - } - - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "119" - ) - static final int method2812(int var0, int var1) { - if (var0 == -2) { - return 12345678; - } else if (var0 == -1) { - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return var1; - } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - } - - @ObfuscatedName("hx") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "932065265" - ) - @Export("Widget_runOnTargetLeave") - static void Widget_runOnTargetLeave() { - if (Client.isSpellSelected) { - Widget var0 = class49.getWidgetChild(class83.selectedSpellWidget, Client.selectedSpellChildIndex); - if (var0 != null && var0.onTargetLeave != null) { - ScriptEvent var1 = new ScriptEvent(); - var1.widget = var0; - var1.args = var0.onTargetLeave; - SecureRandomFuture.runScriptEvent(var1); - } - - Client.isSpellSelected = false; - WorldMapID.invalidateWidget(var0); - } - } -} +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("dj") +@Implements("FloorDecoration") +public final class FloorDecoration { + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1829552079 + ) + @Export("canvasWidth") + public static int canvasWidth; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("entity") + public Entity entity; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1834213503 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 461857131 + ) + @Export("x") + int x; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -848464295 + ) + @Export("y") + int y; + @ObfuscatedName("r") + @ObfuscatedGetter( + longValue = 3642112439868332829L + ) + @Export("tag") + public long tag; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1953587145 + ) + @Export("flags") + int flags; + + FloorDecoration() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Lhs;", + garbageValue = "-1156266256" + ) + public static ServerBuild method2837(int var0) { + ServerBuild[] var1 = new ServerBuild[]{ServerBuild.BUILDLIVE, ServerBuild.LIVE, ServerBuild.RC, ServerBuild.WIP}; + ServerBuild[] var2 = var1; + + for (int var3 = 0; var3 < var2.length; ++var3) { + ServerBuild var4 = var2[var3]; + if (var0 == var4.field3079) { + return var4; + } + } + + return null; + } + + @ObfuscatedName("jl") + @ObfuscatedSignature( + signature = "(IIIILlf;Lhz;S)V", + garbageValue = "1700" + ) + @Export("worldToMinimap") + static final void worldToMinimap(int var0, int var1, int var2, int var3, Sprite var4, SpriteMask var5) { + int var6 = var3 * var3 + var2 * var2; + if (var6 > 4225 && var6 < 90000) { + int var7 = Client.camAngleY & 2047; + int var8 = Rasterizer3D.Rasterizer3D_sine[var7]; + int var9 = Rasterizer3D.Rasterizer3D_cosine[var7]; + int var10 = var9 * var2 + var3 * var8 >> 16; + int var11 = var3 * var9 - var8 * var2 >> 16; + double var12 = Math.atan2((double)var10, (double)var11); + int var14 = var5.width / 2 - 25; + int var15 = (int)(Math.sin(var12) * (double)var14); + int var16 = (int)(Math.cos(var12) * (double)var14); + byte var17 = 20; + PendingSpawn.redHintArrowSprite.method6067(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); + } else { + class208.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); + } + + } +} diff --git a/runescape-client/src/main/java/FloorOverlayDefinition.java b/runescape-client/src/main/java/FloorOverlayDefinition.java index f6aca74dda..a17c9fcd87 100644 --- a/runescape-client/src/main/java/FloorOverlayDefinition.java +++ b/runescape-client/src/main/java/FloorOverlayDefinition.java @@ -1,262 +1,254 @@ -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("ip") -@Implements("FloorOverlayDefinition") -public class FloorOverlayDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("FloorOverlayDefinition_archive") - public static AbstractArchive FloorOverlayDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("FloorOverlayDefinition_cached") - public static EvictingDualNodeHashTable FloorOverlayDefinition_cached; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 54951813 - ) - @Export("primaryRgb") - public int primaryRgb; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1779680487 - ) - @Export("texture") - public int texture; - @ObfuscatedName("l") - @Export("hideUnderlay") - public boolean hideUnderlay; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -707302109 - ) - @Export("secondaryRgb") - public int secondaryRgb; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1456521303 - ) - @Export("hue") - public int hue; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 688606529 - ) - @Export("saturation") - public int saturation; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -870998143 - ) - @Export("lightness") - public int lightness; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1714187585 - ) - @Export("secondaryHue") - public int secondaryHue; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1373753821 - ) - @Export("secondarySaturation") - public int secondarySaturation; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1682451449 - ) - @Export("secondaryLightness") - public int secondaryLightness; - - static { - FloorOverlayDefinition_cached = new EvictingDualNodeHashTable(64); - } - - public FloorOverlayDefinition() { - this.primaryRgb = 0; - this.texture = -1; - this.hideUnderlay = true; - this.secondaryRgb = -1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-55" - ) - @Export("postDecode") - public void postDecode() { - if (this.secondaryRgb != -1) { - this.setHsl(this.secondaryRgb); - this.secondaryHue = this.hue; - this.secondarySaturation = this.saturation; - this.secondaryLightness = this.lightness; - } - - this.setHsl(this.primaryRgb); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "1739304063" - ) - @Export("decode") - public void decode(Buffer var1, int var2) { - while (true) { - int var3 = var1.readUnsignedByte(); - if (var3 == 0) { - return; - } - - this.decodeNext(var1, var3, var2); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;III)V", - garbageValue = "-1287071458" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2, int var3) { - if (var2 == 1) { - this.primaryRgb = var1.readMedium(); - } else if (var2 == 2) { - this.texture = var1.readUnsignedByte(); - } else if (var2 == 5) { - this.hideUnderlay = false; - } else if (var2 == 7) { - this.secondaryRgb = var1.readMedium(); - } else if (var2 == 8) { - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-809760850" - ) - @Export("setHsl") - void setHsl(int var1) { - double var2 = (double)(var1 >> 16 & 255) / 256.0D; - double var4 = (double)(var1 >> 8 & 255) / 256.0D; - double var6 = (double)(var1 & 255) / 256.0D; - double var8 = var2; - if (var4 < var2) { - var8 = var4; - } - - if (var6 < var8) { - var8 = var6; - } - - double var10 = var2; - if (var4 > var2) { - var10 = var4; - } - - if (var6 > var10) { - var10 = var6; - } - - double var12 = 0.0D; - double var14 = 0.0D; - double var16 = (var10 + var8) / 2.0D; - if (var8 != var10) { - if (var16 < 0.5D) { - var14 = (var10 - var8) / (var10 + var8); - } - - if (var16 >= 0.5D) { - var14 = (var10 - var8) / (2.0D - var10 - var8); - } - - if (var10 == var2) { - var12 = (var4 - var6) / (var10 - var8); - } else if (var4 == var10) { - var12 = 2.0D + (var6 - var2) / (var10 - var8); - } else if (var6 == var10) { - var12 = (var2 - var4) / (var10 - var8) + 4.0D; - } - } - - var12 /= 6.0D; - this.hue = (int)(256.0D * var12); - this.saturation = (int)(var14 * 256.0D); - this.lightness = (int)(var16 * 256.0D); - if (this.saturation < 0) { - this.saturation = 0; - } else if (this.saturation > 255) { - this.saturation = 255; - } - - if (this.lightness < 0) { - this.lightness = 0; - } else if (this.lightness > 255) { - this.lightness = 255; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;Llj;I)Llj;", - garbageValue = "1335279742" - ) - @Export("readStringIntParameters") - static final IterableNodeHashTable readStringIntParameters(Buffer var0, IterableNodeHashTable var1) { - int var2 = var0.readUnsignedByte(); - int var3; - if (var1 == null) { - int var4 = var2 - 1; - var4 |= var4 >>> 1; - var4 |= var4 >>> 2; - var4 |= var4 >>> 4; - var4 |= var4 >>> 8; - var4 |= var4 >>> 16; - var3 = var4 + 1; - var1 = new IterableNodeHashTable(var3); - } - - for (var3 = 0; var3 < var2; ++var3) { - boolean var7 = var0.readUnsignedByte() == 1; - int var5 = var0.readMedium(); - Object var6; - if (var7) { - var6 = new ObjectNode(var0.readStringCp1252NullTerminated()); - } else { - var6 = new IntegerNode(var0.readInt()); - } - - var1.put((Node)var6, (long)var5); - } - - return var1; - } - - @ObfuscatedName("ey") - @ObfuscatedSignature( - signature = "(IZZZI)Lio;", - garbageValue = "90068714" - ) - @Export("newArchive") - static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { - ArchiveDisk var4 = null; - if (JagexCache.JagexCache_dat2File != null) { - var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, DevicePcmPlayerProvider.JagexCache_idxFiles[var0], 1000000); - } - - return new Archive(var4, RouteStrategy.masterDisk, var0, var1, var2, var3); - } -} +import java.awt.FontMetrics; +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("ii") +@Implements("FloorOverlayDefinition") +public class FloorOverlayDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("FloorOverlayDefinition_archive") + public static AbstractArchive FloorOverlayDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("FloorOverlayDefinition_cached") + public static EvictingDualNodeHashTable FloorOverlayDefinition_cached; + @ObfuscatedName("ap") + @Export("loginScreenFontMetrics") + static FontMetrics loginScreenFontMetrics; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1255212273 + ) + @Export("primaryRgb") + public int primaryRgb; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1279665091 + ) + @Export("texture") + public int texture; + @ObfuscatedName("r") + @Export("hideUnderlay") + public boolean hideUnderlay; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 420813751 + ) + @Export("secondaryRgb") + public int secondaryRgb; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1507689835 + ) + @Export("hue") + public int hue; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -898918847 + ) + @Export("saturation") + public int saturation; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -298509321 + ) + @Export("lightness") + public int lightness; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 171308105 + ) + @Export("secondaryHue") + public int secondaryHue; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1584668069 + ) + @Export("secondarySaturation") + public int secondarySaturation; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1614583675 + ) + @Export("secondaryLightness") + public int secondaryLightness; + + static { + FloorOverlayDefinition_cached = new EvictingDualNodeHashTable(64); + } + + public FloorOverlayDefinition() { + this.primaryRgb = 0; + this.texture = -1; + this.hideUnderlay = true; + this.secondaryRgb = -1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "1" + ) + @Export("postDecode") + public void postDecode() { + if (this.secondaryRgb != -1) { + this.setHsl(this.secondaryRgb); + this.secondaryHue = this.hue; + this.secondarySaturation = this.saturation; + this.secondaryLightness = this.lightness; + } + + this.setHsl(this.primaryRgb); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;IB)V", + garbageValue = "64" + ) + @Export("decode") + public void decode(Buffer var1, int var2) { + while (true) { + int var3 = var1.readUnsignedByte(); + if (var3 == 0) { + return; + } + + this.decodeNext(var1, var3, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;III)V", + garbageValue = "-973510442" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2, int var3) { + if (var2 == 1) { + this.primaryRgb = var1.readMedium(); + } else if (var2 == 2) { + this.texture = var1.readUnsignedByte(); + } else if (var2 == 5) { + this.hideUnderlay = false; + } else if (var2 == 7) { + this.secondaryRgb = var1.readMedium(); + } else if (var2 == 8) { + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1969849655" + ) + @Export("setHsl") + void setHsl(int var1) { + double var2 = (double)(var1 >> 16 & 255) / 256.0D; + double var4 = (double)(var1 >> 8 & 255) / 256.0D; + double var6 = (double)(var1 & 255) / 256.0D; + double var8 = var2; + if (var4 < var2) { + var8 = var4; + } + + if (var6 < var8) { + var8 = var6; + } + + double var10 = var2; + if (var4 > var2) { + var10 = var4; + } + + if (var6 > var10) { + var10 = var6; + } + + double var12 = 0.0D; + double var14 = 0.0D; + double var16 = (var8 + var10) / 2.0D; + if (var8 != var10) { + if (var16 < 0.5D) { + var14 = (var10 - var8) / (var8 + var10); + } + + if (var16 >= 0.5D) { + var14 = (var10 - var8) / (2.0D - var10 - var8); + } + + if (var10 == var2) { + var12 = (var4 - var6) / (var10 - var8); + } else if (var10 == var4) { + var12 = (var6 - var2) / (var10 - var8) + 2.0D; + } else if (var6 == var10) { + var12 = (var2 - var4) / (var10 - var8) + 4.0D; + } + } + + var12 /= 6.0D; + this.hue = (int)(256.0D * var12); + this.saturation = (int)(256.0D * var14); + this.lightness = (int)(var16 * 256.0D); + if (this.saturation < 0) { + this.saturation = 0; + } else if (this.saturation > 255) { + this.saturation = 255; + } + + if (this.lightness < 0) { + this.lightness = 0; + } else if (this.lightness > 255) { + this.lightness = 255; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", + garbageValue = "137024567" + ) + public static String method4704(CharSequence[] var0, int var1, int var2) { + if (var2 == 0) { + return ""; + } else if (var2 == 1) { + CharSequence var3 = var0[var1]; + return var3 == null ? "null" : var3.toString(); + } else { + int var8 = var2 + var1; + int var4 = 0; + + for (int var5 = var1; var5 < var8; ++var5) { + CharSequence var6 = var0[var5]; + if (var6 == null) { + var4 += 4; + } else { + var4 += var6.length(); + } + } + + StringBuilder var9 = new StringBuilder(var4); + + for (int var10 = var1; var10 < var8; ++var10) { + CharSequence var7 = var0[var10]; + if (var7 == null) { + var9.append("null"); + } else { + var9.append(var7); + } + } + + return var9.toString(); + } + } +} diff --git a/runescape-client/src/main/java/FloorUnderlayDefinition.java b/runescape-client/src/main/java/FloorUnderlayDefinition.java index 919268c31c..4858bd2cef 100644 --- a/runescape-client/src/main/java/FloorUnderlayDefinition.java +++ b/runescape-client/src/main/java/FloorUnderlayDefinition.java @@ -1,230 +1,201 @@ -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.ScriptOpcodes; - -@ObfuscatedName("il") -@Implements("FloorUnderlayDefinition") -public class FloorUnderlayDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("FloorUnderlayDefinition_archive") - public static AbstractArchive FloorUnderlayDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("FloorUnderlayDefinition_cached") - static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 502539723 - ) - @Export("rgb") - int rgb; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -387630933 - ) - @Export("hue") - public int hue; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1309988489 - ) - @Export("saturation") - public int saturation; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1550343627 - ) - @Export("lightness") - public int lightness; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 241046707 - ) - @Export("hueMultiplier") - public int hueMultiplier; - - static { - FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64); - } - - FloorUnderlayDefinition() { - this.rgb = 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2017124449" - ) - @Export("postDecode") - void postDecode() { - this.setHsl(this.rgb); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "-336580480" - ) - @Export("decode") - void decode(Buffer var1, int var2) { - while (true) { - int var3 = var1.readUnsignedByte(); - if (var3 == 0) { - return; - } - - this.decodeNext(var1, var3, var2); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;III)V", - garbageValue = "1777076366" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2, int var3) { - if (var2 == 1) { - this.rgb = var1.readMedium(); - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1419999023" - ) - @Export("setHsl") - void setHsl(int var1) { - double var2 = (double)(var1 >> 16 & 255) / 256.0D; - double var4 = (double)(var1 >> 8 & 255) / 256.0D; - double var6 = (double)(var1 & 255) / 256.0D; - double var8 = var2; - if (var4 < var2) { - var8 = var4; - } - - if (var6 < var8) { - var8 = var6; - } - - double var10 = var2; - if (var4 > var2) { - var10 = var4; - } - - if (var6 > var10) { - var10 = var6; - } - - double var12 = 0.0D; - double var14 = 0.0D; - double var16 = (var10 + var8) / 2.0D; - if (var8 != var10) { - if (var16 < 0.5D) { - var14 = (var10 - var8) / (var8 + var10); - } - - if (var16 >= 0.5D) { - var14 = (var10 - var8) / (2.0D - var10 - var8); - } - - if (var10 == var2) { - var12 = (var4 - var6) / (var10 - var8); - } else if (var10 == var4) { - var12 = (var6 - var2) / (var10 - var8) + 2.0D; - } else if (var6 == var10) { - var12 = (var2 - var4) / (var10 - var8) + 4.0D; - } - } - - var12 /= 6.0D; - this.saturation = (int)(256.0D * var14); - this.lightness = (int)(256.0D * var16); - if (this.saturation < 0) { - this.saturation = 0; - } else if (this.saturation > 255) { - this.saturation = 255; - } - - if (this.lightness < 0) { - this.lightness = 0; - } else if (this.lightness > 255) { - this.lightness = 255; - } - - if (var16 > 0.5D) { - this.hueMultiplier = (int)((1.0D - var16) * var14 * 512.0D); - } else { - this.hueMultiplier = (int)(512.0D * var16 * var14); - } - - if (this.hueMultiplier < 1) { - this.hueMultiplier = 1; - } - - this.hue = (int)((double)this.hueMultiplier * var12); - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "1" - ) - static int method4423(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.SOUND_SYNTH) { - class160.Interpreter_intStackSize -= 3; - class192.queueSoundEffect(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize], Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]); - return 1; - } else if (var0 == ScriptOpcodes.SOUND_SONG) { - WorldMapData_1.playSong(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - return 1; - } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { - class160.Interpreter_intStackSize -= 2; - SecureRandomCallable.playSoundJingle(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize], Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("fu") - @ObfuscatedSignature( - signature = "(Lby;IIB)V", - garbageValue = "0" - ) - @Export("performPlayerAnimation") - static void performPlayerAnimation(Player var0, int var1, int var2) { - if (var0.sequence == var1 && var1 != -1) { - int var3 = class83.SequenceDefinition_get(var1).field3502; - if (var3 == 1) { - var0.sequenceFrame = 0; - var0.sequenceFrameCycle = 0; - var0.sequenceDelay = var2; - var0.field924 = 0; - } - - if (var3 == 2) { - var0.field924 = 0; - } - } else if (var1 == -1 || var0.sequence == -1 || class83.SequenceDefinition_get(var1).field3504 >= class83.SequenceDefinition_get(var0.sequence).field3504) { - var0.sequence = var1; - var0.sequenceFrame = 0; - var0.sequenceFrameCycle = 0; - var0.sequenceDelay = var2; - var0.field924 = 0; - var0.field969 = var0.pathLength; - } - - } -} +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("iu") +@Implements("FloorUnderlayDefinition") +public class FloorUnderlayDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("FloorUnderlayDefinition_archive") + public static AbstractArchive FloorUnderlayDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("FloorUnderlayDefinition_cached") + public static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1923870903 + ) + @Export("rgb") + int rgb; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -2031878355 + ) + @Export("hue") + public int hue; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 922832793 + ) + @Export("saturation") + public int saturation; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1084903515 + ) + @Export("lightness") + public int lightness; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 568958993 + ) + @Export("hueMultiplier") + public int hueMultiplier; + + static { + FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64); + } + + FloorUnderlayDefinition() { + this.rgb = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2090929650" + ) + @Export("postDecode") + void postDecode() { + this.setHsl(this.rgb); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-840924474" + ) + @Export("decode") + void decode(Buffer var1, int var2) { + while (true) { + int var3 = var1.readUnsignedByte(); + if (var3 == 0) { + return; + } + + this.decodeNext(var1, var3, var2); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;III)V", + garbageValue = "-1673078715" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2, int var3) { + if (var2 == 1) { + this.rgb = var1.readMedium(); + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "307020215" + ) + @Export("setHsl") + void setHsl(int var1) { + double var2 = (double)(var1 >> 16 & 255) / 256.0D; + double var4 = (double)(var1 >> 8 & 255) / 256.0D; + double var6 = (double)(var1 & 255) / 256.0D; + double var8 = var2; + if (var4 < var2) { + var8 = var4; + } + + if (var6 < var8) { + var8 = var6; + } + + double var10 = var2; + if (var4 > var2) { + var10 = var4; + } + + if (var6 > var10) { + var10 = var6; + } + + double var12 = 0.0D; + double var14 = 0.0D; + double var16 = (var10 + var8) / 2.0D; + if (var10 != var8) { + if (var16 < 0.5D) { + var14 = (var10 - var8) / (var8 + var10); + } + + if (var16 >= 0.5D) { + var14 = (var10 - var8) / (2.0D - var10 - var8); + } + + if (var10 == var2) { + var12 = (var4 - var6) / (var10 - var8); + } else if (var10 == var4) { + var12 = 2.0D + (var6 - var2) / (var10 - var8); + } else if (var6 == var10) { + var12 = 4.0D + (var2 - var4) / (var10 - var8); + } + } + + var12 /= 6.0D; + this.saturation = (int)(256.0D * var14); + this.lightness = (int)(var16 * 256.0D); + if (this.saturation < 0) { + this.saturation = 0; + } else if (this.saturation > 255) { + this.saturation = 255; + } + + if (this.lightness < 0) { + this.lightness = 0; + } else if (this.lightness > 255) { + this.lightness = 255; + } + + if (var16 > 0.5D) { + this.hueMultiplier = (int)(512.0D * var14 * (1.0D - var16)); + } else { + this.hueMultiplier = (int)(512.0D * var16 * var14); + } + + if (this.hueMultiplier < 1) { + this.hueMultiplier = 1; + } + + this.hue = (int)((double)this.hueMultiplier * var12); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)[Lcn;", + garbageValue = "126" + ) + static AttackOption[] method4383() { + return new AttackOption[]{AttackOption.AttackOption_hidden, AttackOption.AttackOption_leftClickWhereAvailable, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_dependsOnCombatLevels}; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "1" + ) + @Export("ItemContainer_getCount") + static int ItemContainer_getCount(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return 0; + } else { + return var1 >= 0 && var1 < var2.quantities.length ? var2.quantities[var1] : 0; + } + } +} diff --git a/runescape-client/src/main/java/Font.java b/runescape-client/src/main/java/Font.java index cca81eb202..cbfc08223a 100644 --- a/runescape-client/src/main/java/Font.java +++ b/runescape-client/src/main/java/Font.java @@ -1,99 +1,99 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("kf") -@Implements("Font") -public final class Font extends AbstractFont { - public Font(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { - super(var1, var2, var3, var4, var5, var6, var7); - } - - public Font(byte[] var1) { - super(var1); - } - - @ObfuscatedName("c") - @Export("drawGlyph") - final void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = var3 * Rasterizer2D.Rasterizer2D_width + var2; - int var8 = Rasterizer2D.Rasterizer2D_width - var4; - int var9 = 0; - int var10 = 0; - int var11; - if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { - var11 = Rasterizer2D.Rasterizer2D_yClipStart - var3; - var5 -= var11; - var3 = Rasterizer2D.Rasterizer2D_yClipStart; - var10 += var11 * var4; - var7 += var11 * Rasterizer2D.Rasterizer2D_width; - } - - if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { - var11 = Rasterizer2D.Rasterizer2D_xClipStart - var2; - var4 -= var11; - var2 = Rasterizer2D.Rasterizer2D_xClipStart; - var10 += var11; - var7 += var11; - var9 += var11; - var8 += var11; - } - - if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var11 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; - var4 -= var11; - var9 += var11; - var8 += var11; - } - - if (var4 > 0 && var5 > 0) { - AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var10, var7, var4, var5, var8, var9); - } - } - - @ObfuscatedName("x") - @Export("drawGlyphAlpha") - final void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { - int var8 = var3 * Rasterizer2D.Rasterizer2D_width + var2; - int var9 = Rasterizer2D.Rasterizer2D_width - var4; - int var10 = 0; - int var11 = 0; - int var12; - if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { - var12 = Rasterizer2D.Rasterizer2D_yClipStart - var3; - var5 -= var12; - var3 = Rasterizer2D.Rasterizer2D_yClipStart; - var11 += var12 * var4; - var8 += var12 * Rasterizer2D.Rasterizer2D_width; - } - - if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { - var12 = Rasterizer2D.Rasterizer2D_xClipStart - var2; - var4 -= var12; - var2 = Rasterizer2D.Rasterizer2D_xClipStart; - var11 += var12; - var8 += var12; - var10 += var12; - var9 += var12; - } - - if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var12 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; - var4 -= var12; - var10 += var12; - var9 += var12; - } - - if (var4 > 0 && var5 > 0) { - AbstractFont.AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var11, var8, var4, var5, var9, var10, var7); - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("kn") +@Implements("Font") +public final class Font extends AbstractFont { + public Font(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { + super(var1, var2, var3, var4, var5, var6, var7); + } + + public Font(byte[] var1) { + super(var1); + } + + @ObfuscatedName("z") + @Export("drawGlyph") + final void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = var3 * Rasterizer2D.Rasterizer2D_width + var2; + int var8 = Rasterizer2D.Rasterizer2D_width - var4; + int var9 = 0; + int var10 = 0; + int var11; + if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { + var11 = Rasterizer2D.Rasterizer2D_yClipStart - var3; + var5 -= var11; + var3 = Rasterizer2D.Rasterizer2D_yClipStart; + var10 += var11 * var4; + var7 += var11 * Rasterizer2D.Rasterizer2D_width; + } + + if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { + var11 = Rasterizer2D.Rasterizer2D_xClipStart - var2; + var4 -= var11; + var2 = Rasterizer2D.Rasterizer2D_xClipStart; + var10 += var11; + var7 += var11; + var9 += var11; + var8 += var11; + } + + if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var11 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; + var4 -= var11; + var9 += var11; + var8 += var11; + } + + if (var4 > 0 && var5 > 0) { + AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var10, var7, var4, var5, var8, var9); + } + } + + @ObfuscatedName("n") + @Export("drawGlyphAlpha") + final void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { + int var8 = var3 * Rasterizer2D.Rasterizer2D_width + var2; + int var9 = Rasterizer2D.Rasterizer2D_width - var4; + int var10 = 0; + int var11 = 0; + int var12; + if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { + var12 = Rasterizer2D.Rasterizer2D_yClipStart - var3; + var5 -= var12; + var3 = Rasterizer2D.Rasterizer2D_yClipStart; + var11 += var12 * var4; + var8 += var12 * Rasterizer2D.Rasterizer2D_width; + } + + if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { + var12 = Rasterizer2D.Rasterizer2D_xClipStart - var2; + var4 -= var12; + var2 = Rasterizer2D.Rasterizer2D_xClipStart; + var11 += var12; + var8 += var12; + var10 += var12; + var9 += var12; + } + + if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var12 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; + var4 -= var12; + var10 += var12; + var9 += var12; + } + + if (var4 > 0 && var5 > 0) { + AbstractFont.AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var11, var8, var4, var5, var9, var10, var7); + } + } +} diff --git a/runescape-client/src/main/java/FontName.java b/runescape-client/src/main/java/FontName.java index af437202b1..3cfeff3ccc 100644 --- a/runescape-client/src/main/java/FontName.java +++ b/runescape-client/src/main/java/FontName.java @@ -1,857 +1,151 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kn") -@Implements("FontName") -public class FontName { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("FontName_plain11") - public static final FontName FontName_plain11; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("FontName_plain12") - public static final FontName FontName_plain12; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("FontName_bold12") - public static final FontName FontName_bold12; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("FontName_verdana11") - public static final FontName FontName_verdana11; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("FontName_verdana13") - public static final FontName FontName_verdana13; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("FontName_verdana15") - public static final FontName FontName_verdana15; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Ldm;" - ) - @Export("soundSystem") - static SoundSystem soundSystem; - @ObfuscatedName("dv") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive10") - static Archive archive10; - @ObfuscatedName("gt") - @ObfuscatedSignature( - signature = "Lli;" - ) - @Export("redHintArrowSprite") - static Sprite redHintArrowSprite; - @ObfuscatedName("j") - @Export("name") - String name; - - static { - FontName_plain11 = new FontName("p11_full"); - FontName_plain12 = new FontName("p12_full"); - FontName_bold12 = new FontName("b12_full"); - FontName_verdana11 = new FontName("verdana_11pt_regular"); - FontName_verdana13 = new FontName("verdana_13pt_regular"); - FontName_verdana15 = new FontName("verdana_15pt_regular"); - } - - FontName(String var1) { - this.name = var1; - } - - @ObfuscatedName("c") - public static final int method5287(double var0, double var2, double var4) { - double var6 = var4; - double var8 = var4; - double var10 = var4; - if (0.0D != var2) { - double var12; - if (var4 < 0.5D) { - var12 = (var2 + 1.0D) * var4; - } else { - var12 = var2 + var4 - var2 * var4; - } - - double var14 = var4 * 2.0D - var12; - double var16 = 0.3333333333333333D + var0; - if (var16 > 1.0D) { - --var16; - } - - double var20 = var0 - 0.3333333333333333D; - if (var20 < 0.0D) { - ++var20; - } - - if (var16 * 6.0D < 1.0D) { - var6 = var14 + var16 * (var12 - var14) * 6.0D; - } else if (var16 * 2.0D < 1.0D) { - var6 = var12; - } else if (3.0D * var16 < 2.0D) { - var6 = 6.0D * (0.6666666666666666D - var16) * (var12 - var14) + var14; - } else { - var6 = var14; - } - - if (6.0D * var0 < 1.0D) { - var8 = var0 * 6.0D * (var12 - var14) + var14; - } else if (2.0D * var0 < 1.0D) { - var8 = var12; - } else if (3.0D * var0 < 2.0D) { - var8 = (var12 - var14) * (0.6666666666666666D - var0) * 6.0D + var14; - } else { - var8 = var14; - } - - if (6.0D * var20 < 1.0D) { - var10 = var14 + var20 * (var12 - var14) * 6.0D; - } else if (var20 * 2.0D < 1.0D) { - var10 = var12; - } else if (3.0D * var20 < 2.0D) { - var10 = var14 + (0.6666666666666666D - var20) * (var12 - var14) * 6.0D; - } else { - var10 = var14; - } - } - - int var22 = (int)(256.0D * var6); - int var13 = (int)(256.0D * var8); - int var23 = (int)(var10 * 256.0D); - int var15 = var23 + (var13 << 8) + (var22 << 16); - return var15; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)[Lkn;", - garbageValue = "-1831558082" - ) - public static FontName[] method5288() { - return new FontName[]{FontName_verdana13, FontName_plain11, FontName_verdana11, FontName_verdana15, FontName_plain12, FontName_bold12}; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lia;", - garbageValue = "1426575141" - ) - @Export("getNpcDefinition") - public static NPCDefinition getNpcDefinition(int var0) { - NPCDefinition var1 = (NPCDefinition)NPCDefinition.NpcDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = NPCDefinition.NpcDefinition_archive.takeFile(9, var0); - var1 = new NPCDefinition(); - var1.id = var0; - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - NPCDefinition.NpcDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;II)Z", - garbageValue = "-1001272425" - ) - static boolean method5292(String var0, int var1) { - return ReflectionCheck.method2261(var0, var1, "openjs"); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lbn;I)V", - garbageValue = "76683988" - ) - static void method5284(GameShell var0) { - int var4; - if (Login.worldSelectOpen) { - while (true) { - if (!AbstractUserComparator.isKeyDown()) { - if (MouseHandler.MouseHandler_lastButton != 1 && (WorldMapSection1.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) { - break; - } - - int var1 = Login.xPadding + 280; - if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(0, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(0, 1); - break; - } - - int var2 = Login.xPadding + 390; - if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(1, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(1, 1); - break; - } - - int var17 = Login.xPadding + 500; - if (MouseHandler.MouseHandler_lastPressedX >= var17 && MouseHandler.MouseHandler_lastPressedX <= var17 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(2, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var17 + 15 && MouseHandler.MouseHandler_lastPressedX <= var17 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(2, 1); - break; - } - - var4 = Login.xPadding + 610; - if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(3, 0); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { - class30.changeWorldSelectSorting(3, 1); - break; - } - - if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { - GrandExchangeOfferOwnWorldComparator.method1232(); - break; - } - - if (Login.hoveredWorldIndex != -1) { - World var5 = World.World_worlds[Login.hoveredWorldIndex]; - ReflectionCheck.changeWorld(var5); - GrandExchangeOfferOwnWorldComparator.method1232(); - } else { - if (Login.worldSelectPage > 0 && class2.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= class2.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= GameShell.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameShell.canvasHeight / 2 + 50) { - --Login.worldSelectPage; - } - - if (Login.worldSelectPage < Login.worldSelectPagesCount && WorldMapRectangle.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= GraphicsDefaults.canvasWidth - WorldMapRectangle.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= GraphicsDefaults.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= GameShell.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= GameShell.canvasHeight / 2 + 50) { - ++Login.worldSelectPage; - } - } - break; - } - - if (class43.field361 == 13) { - GrandExchangeOfferOwnWorldComparator.method1232(); - break; - } - - if (class43.field361 == 96) { - if (Login.worldSelectPage > 0 && class2.worldSelectLeftSprite != null) { - --Login.worldSelectPage; - } - } else if (class43.field361 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && WorldMapRectangle.worldSelectRightSprite != null) { - ++Login.worldSelectPage; - } - } - - } else { - if ((MouseHandler.MouseHandler_lastButton == 1 || !WorldMapSection1.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { - Actor.clientPreferences.titleMusicDisabled = !Actor.clientPreferences.titleMusicDisabled; - class296.savePreferences(); - if (!Actor.clientPreferences.titleMusicDisabled) { - UserComparator7.method3376(WorldMapDecoration.archive6, "scape main", "", 255, false); - } else { - class197.midiPcmStream.clear(); - class197.field2376 = 1; - class197.musicTrackArchive = null; - } - } - - if (Client.gameState != 5) { - if (-1L == Login.field1162) { - Login.field1162 = SoundCache.method2480() + 1000L; - } - - long var12 = SoundCache.method2480(); - boolean var3; - if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { - while (true) { - if (Client.archiveLoaderArchive >= Client.archiveLoaders.size()) { - var3 = true; - break; - } - - ArchiveLoader var16 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive); - if (!var16.isLoaded()) { - var3 = false; - break; - } - - ++Client.archiveLoaderArchive; - } - } else { - var3 = true; - } - - if (var3 && Login.field1164 == -1L) { - Login.field1164 = var12; - if (Login.field1164 > Login.field1162) { - Login.field1162 = Login.field1164; - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { - if (class43.clientLanguage == Language.Language_EN) { - if (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapSection1.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { - var4 = Login.xPadding + 5; - short var14 = 463; - byte var6 = 100; - byte var7 = 35; - if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + var6 && MouseHandler.MouseHandler_lastPressedY >= var14 && MouseHandler.MouseHandler_lastPressedY <= var7 + var14) { - if (ClientPacket.loadWorlds()) { - Login.worldSelectOpen = true; - Login.worldSelectPage = 0; - Login.worldSelectPagesCount = 0; - } - - return; - } - } - - if (RouteStrategy.World_request != null && ClientPacket.loadWorlds()) { - Login.worldSelectOpen = true; - Login.worldSelectPage = 0; - Login.worldSelectPagesCount = 0; - } - } - - var4 = MouseHandler.MouseHandler_lastButton; - int var25 = MouseHandler.MouseHandler_lastPressedX; - int var18 = MouseHandler.MouseHandler_lastPressedY; - if (var4 == 0) { - var25 = MouseHandler.MouseHandler_x; - var18 = MouseHandler.MouseHandler_y; - } - - if (!WorldMapSection1.mouseCam && var4 == 4) { - var4 = 1; - } - - int var8; - short var9; - if (Login.loginIndex == 0) { - boolean var19 = false; - - while (AbstractUserComparator.isKeyDown()) { - if (class43.field361 == 84) { - var19 = true; - } - } - - var8 = VarcInt.loginBoxCenter - 80; - var9 = 291; - if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { - WorldMapIcon_0.openURL(GrandExchangeEvents.method67("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); - } - - var8 = VarcInt.loginBoxCenter + 80; - if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20 || var19) { - if ((Client.worldProperties & 33554432) != 0) { - Login.Login_response0 = ""; - Login.Login_response1 = "This is a Beta world."; - Login.Login_response2 = "Your normal account will not be affected."; - Login.Login_response3 = ""; - Login.loginIndex = 1; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else if ((Client.worldProperties & 4) != 0) { - if ((Client.worldProperties & 1024) != 0) { - Login.Login_response1 = "This is a High Risk PvP world."; - Login.Login_response2 = "Players can attack each other almost everywhere"; - Login.Login_response3 = "and the Protect Item prayer won't work."; - } else { - Login.Login_response1 = "This is a PvP world."; - Login.Login_response2 = "Players can attack each other"; - Login.Login_response3 = "almost everywhere."; - } - - Login.Login_response0 = "Warning!"; - Login.loginIndex = 1; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else if ((Client.worldProperties & 1024) != 0) { - Login.Login_response1 = "This is a High Risk world."; - Login.Login_response2 = "The Protect Item prayer will"; - Login.Login_response3 = "not work on this world."; - Login.Login_response0 = "Warning!"; - Login.loginIndex = 1; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } else { - WorldMapID.method520(false); - } - } - } else { - int var20; - short var22; - if (Login.loginIndex != 1) { - boolean var10; - int var11; - short var21; - if (Login.loginIndex == 2) { - var21 = 201; - var20 = var21 + 52; - if (var4 == 1 && var18 >= var20 - 12 && var18 < var20 + 2) { - Login.currentLoginField = 0; - } - - var20 += 15; - if (var4 == 1 && var18 >= var20 - 12 && var18 < var20 + 2) { - Login.currentLoginField = 1; - } - - var20 += 15; - var21 = 361; - if (MusicPatchNode2.field2369 != null) { - var8 = MusicPatchNode2.field2369.highX / 2; - if (var4 == 1 && var25 >= MusicPatchNode2.field2369.lowX - var8 && var25 <= var8 + MusicPatchNode2.field2369.lowX && var18 >= var21 - 15 && var18 < var21) { - switch(Login.field1161) { - case 1: - Canvas.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - Login.loginIndex = 5; - return; - case 2: - WorldMapIcon_0.openURL("https://support.runescape.com/hc/en-gb", true, false); - } - } - } - - var8 = VarcInt.loginBoxCenter - 80; - var9 = 321; - if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - Canvas.setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - Canvas.setLoginResponseString("", "Please enter your password.", ""); - return; - } - - Canvas.setLoginResponseString("", "Connecting to server...", ""); - PacketWriter.method2238(false); - WorldMapIcon_0.updateGameState(20); - return; - } - - var8 = Login.loginBoxX + 180 + 80; - if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class222.field2729 = 0; - class81.otp = ""; - Login.field1183 = true; - } - - var8 = VarcInt.loginBoxCenter + -117; - var9 = 277; - Login.field1169 = var25 >= var8 && var25 < var8 + class4.field17 && var18 >= var9 && var18 < var9 + class267.field3524; - if (var4 == 1 && Login.field1169) { - Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; - if (!Client.Login_isUsernameRemembered && Actor.clientPreferences.rememberedUsername != null) { - Actor.clientPreferences.rememberedUsername = null; - class296.savePreferences(); - } - } - - var8 = VarcInt.loginBoxCenter + 24; - var9 = 277; - Login.field1170 = var25 >= var8 && var25 < var8 + class4.field17 && var18 >= var9 && var18 < var9 + class267.field3524; - if (var4 == 1 && Login.field1170) { - Actor.clientPreferences.hideUsername = !Actor.clientPreferences.hideUsername; - if (!Actor.clientPreferences.hideUsername) { - Login.Login_username = ""; - Actor.clientPreferences.rememberedUsername = null; - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - } - - class296.savePreferences(); - } - - while (true) { - while (AbstractUserComparator.isKeyDown()) { - var10 = false; - - for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var11) { - if (WorldMapIcon_0.field126 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11)) { - var10 = true; - break; - } - } - - if (class43.field361 == 13) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class222.field2729 = 0; - class81.otp = ""; - Login.field1183 = true; - } else if (Login.currentLoginField == 0) { - if (class43.field361 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (class43.field361 == 84 || class43.field361 == 80) { - Login.currentLoginField = 1; - } - - if (var10 && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + WorldMapIcon_0.field126; - } - } else if (Login.currentLoginField == 1) { - if (class43.field361 == 85 && Login.Login_password.length() > 0) { - Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); - } - - if (class43.field361 == 84 || class43.field361 == 80) { - Login.currentLoginField = 0; - } - - if (class43.field361 == 84) { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - Canvas.setLoginResponseString("", "Please enter your username/email address.", ""); - return; - } - - if (Login.Login_password.length() == 0) { - Canvas.setLoginResponseString("", "Please enter your password.", ""); - return; - } - - Canvas.setLoginResponseString("", "Connecting to server...", ""); - PacketWriter.method2238(false); - WorldMapIcon_0.updateGameState(20); - return; - } - - if (var10 && Login.Login_password.length() < 20) { - Login.Login_password = Login.Login_password + WorldMapIcon_0.field126; - } - } - } - - return; - } - } else if (Login.loginIndex == 3) { - var20 = Login.loginBoxX + 180; - var22 = 276; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapID.method520(false); - } - - var20 = Login.loginBoxX + 180; - var22 = 326; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - Canvas.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - Login.loginIndex = 5; - return; - } - } else { - int var24; - if (Login.loginIndex == 4) { - var20 = Login.loginBoxX + 180 - 80; - var22 = 321; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - class81.otp.trim(); - if (class81.otp.length() != 6) { - Canvas.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - class222.field2729 = Integer.parseInt(class81.otp); - class81.otp = ""; - PacketWriter.method2238(true); - Canvas.setLoginResponseString("", "Connecting to server...", ""); - WorldMapIcon_0.updateGameState(20); - return; - } - - if (var4 == 1 && var25 >= Login.loginBoxX + 180 - 9 && var25 <= Login.loginBoxX + 180 + 130 && var18 >= 263 && var18 <= 296) { - Login.field1183 = !Login.field1183; - } - - if (var4 == 1 && var25 >= Login.loginBoxX + 180 - 34 && var25 <= Login.loginBoxX + 34 + 180 && var18 >= 351 && var18 <= 363) { - WorldMapIcon_0.openURL(GrandExchangeEvents.method67("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); - } - - var20 = Login.loginBoxX + 180 + 80; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class222.field2729 = 0; - class81.otp = ""; - } - - while (AbstractUserComparator.isKeyDown()) { - boolean var23 = false; - - for (var24 = 0; var24 < "1234567890".length(); ++var24) { - if (WorldMapIcon_0.field126 == "1234567890".charAt(var24)) { - var23 = true; - break; - } - } - - if (class43.field361 == 13) { - Login.loginIndex = 0; - Login.Login_username = ""; - Login.Login_password = ""; - class222.field2729 = 0; - class81.otp = ""; - } else { - if (class43.field361 == 85 && class81.otp.length() > 0) { - class81.otp = class81.otp.substring(0, class81.otp.length() - 1); - } - - if (class43.field361 == 84) { - class81.otp.trim(); - if (class81.otp.length() != 6) { - Canvas.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); - return; - } - - class222.field2729 = Integer.parseInt(class81.otp); - class81.otp = ""; - PacketWriter.method2238(true); - Canvas.setLoginResponseString("", "Connecting to server...", ""); - WorldMapIcon_0.updateGameState(20); - return; - } - - if (var23 && class81.otp.length() < 6) { - class81.otp = class81.otp + WorldMapIcon_0.field126; - } - } - } - } else if (Login.loginIndex == 5) { - var20 = Login.loginBoxX + 180 - 80; - var22 = 321; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapDecorationType.method4099(); - return; - } - - var20 = Login.loginBoxX + 180 + 80; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapID.method520(true); - } - - var9 = 361; - if (class51.field411 != null) { - var24 = class51.field411.highX / 2; - if (var4 == 1 && var25 >= class51.field411.lowX - var24 && var25 <= var24 + class51.field411.lowX && var18 >= var9 - 15 && var18 < var9) { - WorldMapIcon_0.openURL(GrandExchangeEvents.method67("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); - } - } - - while (AbstractUserComparator.isKeyDown()) { - var10 = false; - - for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var11) { - if (WorldMapIcon_0.field126 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11)) { - var10 = true; - break; - } - } - - if (class43.field361 == 13) { - WorldMapID.method520(true); - } else { - if (class43.field361 == 85 && Login.Login_username.length() > 0) { - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (class43.field361 == 84) { - WorldMapDecorationType.method4099(); - return; - } - - if (var10 && Login.Login_username.length() < 320) { - Login.Login_username = Login.Login_username + WorldMapIcon_0.field126; - } - } - } - } else if (Login.loginIndex == 6) { - while (true) { - do { - if (!AbstractUserComparator.isKeyDown()) { - var21 = 321; - if (var4 == 1 && var18 >= var21 - 20 && var18 <= var21 + 20) { - WorldMapID.method520(true); - } - - return; - } - } while(class43.field361 != 84 && class43.field361 != 13); - - WorldMapID.method520(true); - } - } else if (Login.loginIndex == 7) { - var20 = Login.loginBoxX + 180 - 80; - var22 = 321; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapIcon_0.openURL(GrandExchangeEvents.method67("secure", true) + "m=dob/set_dob.ws", true, false); - Canvas.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var20 = Login.loginBoxX + 180 + 80; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapID.method520(true); - } - } else if (Login.loginIndex == 8) { - var20 = Login.loginBoxX + 180 - 80; - var22 = 321; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapIcon_0.openURL("https://www.jagex.com/terms/privacy/#eight", true, false); - Canvas.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var20 = Login.loginBoxX + 180 + 80; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapID.method520(true); - } - } else if (Login.loginIndex == 12) { - String var15 = ""; - switch(Login.field1156) { - case 0: - var15 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; - break; - case 1: - var15 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; - break; - default: - WorldMapID.method520(false); - } - - var8 = Login.loginBoxX + 180; - var9 = 276; - if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { - WorldMapIcon_0.openURL(var15, true, false); - Canvas.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); - Login.loginIndex = 6; - return; - } - - var8 = Login.loginBoxX + 180; - var9 = 326; - if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { - WorldMapID.method520(false); - } - } else if (Login.loginIndex == 24) { - var20 = Login.loginBoxX + 180; - var22 = 301; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapID.method520(false); - } - } - } - } else { - while (AbstractUserComparator.isKeyDown()) { - if (class43.field361 == 84) { - WorldMapID.method520(false); - } else if (class43.field361 == 13) { - Login.loginIndex = 0; - } - } - - var20 = VarcInt.loginBoxCenter - 80; - var22 = 321; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - WorldMapID.method520(false); - } - - var20 = VarcInt.loginBoxCenter + 80; - if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { - Login.loginIndex = 0; - } - } - } - - } - } - } - } - - @ObfuscatedName("hw") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", - garbageValue = "-1882548128" - ) - @Export("insertMenuItemNoShift") - public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { - Decimator.insertMenuItem(var0, var1, var2, var3, var4, var5, false); - } - - @ObfuscatedName("ku") - @ObfuscatedSignature( - signature = "(Lhy;I)Lhy;", - garbageValue = "1031312756" - ) - static Widget method5290(Widget var0) { - int var1 = ScriptFrame.method1086(class60.getWidgetClickMask(var0)); - if (var1 == 0) { - return null; - } else { - for (int var2 = 0; var2 < var1; ++var2) { - var0 = Player.getWidget(var0.parentId); - if (var0 == null) { - return null; - } - } - - return var0; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("ko") +@Implements("FontName") +public class FontName { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("FontName_plain11") + public static final FontName FontName_plain11; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("FontName_plain12") + public static final FontName FontName_plain12; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("FontName_bold12") + public static final FontName FontName_bold12; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("FontName_verdana11") + public static final FontName FontName_verdana11; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("FontName_verdana13") + public static final FontName FontName_verdana13; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("FontName_verdana15") + public static final FontName FontName_verdana15; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("logoSprite") + static IndexedSprite logoSprite; + @ObfuscatedName("o") + @Export("Tiles_hueMultiplier") + static int[] Tiles_hueMultiplier; + @ObfuscatedName("q") + @Export("name") + String name; + + static { + FontName_plain11 = new FontName("p11_full"); + FontName_plain12 = new FontName("p12_full"); + FontName_bold12 = new FontName("b12_full"); + FontName_verdana11 = new FontName("verdana_11pt_regular"); + FontName_verdana13 = new FontName("verdana_13pt_regular"); + FontName_verdana15 = new FontName("verdana_15pt_regular"); + } + + FontName(String var1) { + this.name = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)[Lko;", + garbageValue = "-88" + ) + public static FontName[] method5257() { + return new FontName[]{FontName_verdana13, FontName_bold12, FontName_verdana11, FontName_plain12, FontName_verdana15, FontName_plain11}; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "14" + ) + static void method5251() { + ItemContainer.itemContainers = new NodeHashTable(32); + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1537038267" + ) + static int method5256(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + if (var0 == ScriptOpcodes.CC_GETX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHIDE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETLAYER) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("jr") + @ObfuscatedSignature( + signature = "(Lbk;ZI)V", + garbageValue = "2027801614" + ) + @Export("closeInterface") + static final void closeInterface(InterfaceParent var0, boolean var1) { + int var2 = var0.group; + int var3 = (int)var0.key; + var0.remove(); + if (var1) { + InterfaceParent.method1192(var2); + } + + for (IntegerNode var4 = (IntegerNode)Client.widgetClickMasks.first(); var4 != null; var4 = (IntegerNode)Client.widgetClickMasks.next()) { + if ((long)var2 == (var4.key >> 48 & 65535L)) { + var4.remove(); + } + } + + Widget var5 = Canvas.getWidget(var3); + if (var5 != null) { + WorldMapSectionType.invalidateWidget(var5); + } + + SecureRandomFuture.method2134(); + if (Client.rootInterface != -1) { + class40.runIntfCloseListeners(Client.rootInterface, 1); + } + + } +} diff --git a/runescape-client/src/main/java/Fonts.java b/runescape-client/src/main/java/Fonts.java index 152cd513a8..ebcbbf783c 100644 --- a/runescape-client/src/main/java/Fonts.java +++ b/runescape-client/src/main/java/Fonts.java @@ -1,71 +1,83 @@ -import java.io.IOException; -import java.net.Socket; -import java.util.HashMap; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ku") -@Implements("Fonts") -public class Fonts { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("spritesArchive") - AbstractArchive spritesArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("fontsArchive") - AbstractArchive fontsArchive; - @ObfuscatedName("t") - @Export("map") - HashMap map; - - @ObfuscatedSignature( - signature = "(Lhz;Lhz;)V" - ) - public Fonts(AbstractArchive var1, AbstractArchive var2) { - this.spritesArchive = var1; - this.fontsArchive = var2; - this.map = new HashMap(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([Lkn;B)Ljava/util/HashMap;", - garbageValue = "-84" - ) - @Export("createMap") - public HashMap createMap(FontName[] var1) { - HashMap var2 = new HashMap(); - FontName[] var3 = var1; - - for (int var4 = 0; var4 < var3.length; ++var4) { - FontName var5 = var3[var4]; - if (this.map.containsKey(var5)) { - var2.put(var5, this.map.get(var5)); - } else { - Font var6 = Skeleton.SpriteBuffer_getFontByName(this.spritesArchive, this.fontsArchive, var5.name, ""); - if (var6 != null) { - this.map.put(var5, var6); - var2.put(var5, var6); - } - } - } - - return var2; - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(Ljava/net/Socket;III)Lks;", - garbageValue = "1860750557" - ) - public static AbstractSocket method5293(Socket var0, int var1, int var2) throws IOException { - return new BufferedNetSocket(var0, var1, var2); - } -} +import java.util.HashMap; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("kr") +@Implements("Fonts") +public class Fonts { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("spritesArchive") + AbstractArchive spritesArchive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("fontsArchive") + AbstractArchive fontsArchive; + @ObfuscatedName("v") + @Export("map") + HashMap map; + + @ObfuscatedSignature( + signature = "(Lhp;Lhp;)V" + ) + public Fonts(AbstractArchive var1, AbstractArchive var2) { + this.spritesArchive = var1; + this.fontsArchive = var2; + this.map = new HashMap(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([Lko;I)Ljava/util/HashMap;", + garbageValue = "-1165155916" + ) + @Export("createMap") + public HashMap createMap(FontName[] var1) { + HashMap var2 = new HashMap(); + FontName[] var3 = var1; + + for (int var4 = 0; var4 < var3.length; ++var4) { + FontName var5 = var3[var4]; + if (this.map.containsKey(var5)) { + var2.put(var5, this.map.get(var5)); + } else { + AbstractArchive var7 = this.spritesArchive; + AbstractArchive var8 = this.fontsArchive; + String var9 = var5.name; + int var10 = var7.getGroupId(var9); + int var11 = var7.getFileId(var10, ""); + Font var6 = ClanMate.method4964(var7, var8, var10, var11); + if (var6 != null) { + this.map.put(var5, var6); + var2.put(var5, var6); + } + } + } + + return var2; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)Lkc;", + garbageValue = "202775938" + ) + public static PrivateChatMode method5258(int var0) { + PrivateChatMode[] var1 = BZip2State.ChatMode_values(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + PrivateChatMode var3 = var1[var2]; + if (var0 == var3.field3793) { + return var3; + } + } + + return null; + } +} diff --git a/runescape-client/src/main/java/Frames.java b/runescape-client/src/main/java/Frames.java index 900f0c58ff..973d9fb06f 100644 --- a/runescape-client/src/main/java/Frames.java +++ b/runescape-client/src/main/java/Frames.java @@ -1,89 +1,77 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ev") -@Implements("Frames") -public class Frames extends DualNode { - @ObfuscatedName("ep") - @ObfuscatedSignature( - signature = "Lkk;" - ) - @Export("spriteIds") - static GraphicsDefaults spriteIds; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "[Ldx;" - ) - @Export("frames") - Animation[] frames; - - @ObfuscatedSignature( - signature = "(Lhz;Lhz;IZ)V" - ) - Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) { - NodeDeque var5 = new NodeDeque(); - int var6 = var1.getGroupFileCount(var3); - this.frames = new Animation[var6]; - int[] var7 = var1.getGroupFileIds(var3); - - for (int var8 = 0; var8 < var7.length; ++var8) { - byte[] var9 = var1.takeFile(var3, var7[var8]); - Skeleton var10 = null; - int var11 = (var9[0] & 255) << 8 | var9[1] & 255; - - for (Skeleton var12 = (Skeleton)var5.last(); var12 != null; var12 = (Skeleton)var5.previous()) { - if (var11 == var12.id) { - var10 = var12; - break; - } - } - - if (var10 == null) { - byte[] var13; - if (var4) { - var13 = var2.getFile(0, var11); - } else { - var13 = var2.getFile(var11, 0); - } - - var10 = new Skeleton(var11, var13); - var5.addFirst(var10); - } - - this.frames[var7[var8]] = new Animation(var9, var10); - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1628861134" - ) - @Export("hasAlphaTransform") - public boolean hasAlphaTransform(int var1) { - return this.frames[var1].hasAlphaTransform; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)[Lkc;", - garbageValue = "50" - ) - @Export("ChatMode_values") - static PrivateChatMode[] ChatMode_values() { - return new PrivateChatMode[]{PrivateChatMode.field3786, PrivateChatMode.field3789, PrivateChatMode.field3788}; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)Lbb;", - garbageValue = "1062873352" - ) - @Export("getNextWorldListWorld") - static World getNextWorldListWorld() { - return World.World_listCount < World.World_count ? World.World_worlds[++World.World_listCount - 1] : null; - } -} +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("ep") +@Implements("Frames") +public class Frames extends DualNode { + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -779358423 + ) + @Export("SpriteBuffer_spriteHeight") + public static int SpriteBuffer_spriteHeight; + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("worldSelectStars") + static IndexedSprite[] worldSelectStars; + @ObfuscatedName("jg") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("dragInventoryWidget") + static Widget dragInventoryWidget; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "[Lda;" + ) + @Export("frames") + Animation[] frames; + + @ObfuscatedSignature( + signature = "(Lhp;Lhp;IZ)V", + garbageValue = "0" + ) + public Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) { + NodeDeque var5 = new NodeDeque(); + int var6 = var1.getGroupFileCount(var3); + this.frames = new Animation[var6]; + int[] var7 = var1.getGroupFileIds(var3); + + for (int var8 = 0; var8 < var7.length; ++var8) { + byte[] var9 = var1.takeFile(var3, var7[var8]); + Skeleton var10 = null; + int var11 = (var9[0] & 255) << 8 | var9[1] & 255; + + for (Skeleton var12 = (Skeleton)var5.last(); var12 != null; var12 = (Skeleton)var5.previous()) { + if (var11 == var12.id) { + var10 = var12; + break; + } + } + + if (var10 == null) { + byte[] var13 = var2.getFile(var11, 0); + var10 = new Skeleton(var11, var13); + var5.addFirst(var10); + } + + this.frames[var7[var8]] = new Animation(var9, var10); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-546780661" + ) + @Export("hasAlphaTransform") + public boolean hasAlphaTransform(int var1) { + return this.frames[var1].hasAlphaTransform; + } +} diff --git a/runescape-client/src/main/java/Friend.java b/runescape-client/src/main/java/Friend.java index ab183421b5..07eff6e89f 100644 --- a/runescape-client/src/main/java/Friend.java +++ b/runescape-client/src/main/java/Friend.java @@ -1,85 +1,366 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jy") -@Implements("Friend") -public class Friend extends Buddy { - @ObfuscatedName("c") - boolean field3599; - @ObfuscatedName("x") - boolean field3598; - - Friend() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljy;B)I", - garbageValue = "0" - ) - @Export("compareToFriend") - int compareToFriend(Friend var1) { - if (super.world == Client.worldId && Client.worldId != var1.world) { - return -1; - } else if (Client.worldId == var1.world && super.world != Client.worldId) { - return 1; - } else if (super.world != 0 && var1.world == 0) { - return -1; - } else if (var1.world != 0 && super.world == 0) { - return 1; - } else if (this.field3599 && !var1.field3599) { - return -1; - } else if (!this.field3599 && var1.field3599) { - return 1; - } else if (this.field3598 && !var1.field3598) { - return -1; - } else if (!this.field3598 && var1.field3598) { - return 1; - } else { - return super.world != 0 ? super.int2 - var1.int2 : var1.int2 - super.int2; - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(Ljw;B)I", - garbageValue = "-92" - ) - @Export("compareTo_user") - public int compareTo_user(User var1) { - return this.compareToFriend((Friend)var1); - } - - public int compareTo(Object var1) { - return this.compareToFriend((Friend)var1); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(ILkx;Lio;I)V", - garbageValue = "-394636832" - ) - static void method5190(int var0, ArchiveDisk var1, Archive var2) { - ArchiveDiskAction var3 = new ArchiveDiskAction(); - var3.type = 1; - var3.key = (long)var0; - var3.archiveDisk = var1; - var3.archive = var2; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); - } - - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field3126 == 0) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setDaemon(true); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.start(); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setPriority(5); - } - - ArchiveDiskActionHandler.field3126 = 600; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jy") +@Implements("Friend") +public class Friend extends Buddy { + @ObfuscatedName("z") + boolean field3615; + @ObfuscatedName("n") + boolean field3614; + + Friend() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljy;I)I", + garbageValue = "371914259" + ) + @Export("compareToFriend") + int compareToFriend(Friend var1) { + if (super.world == Client.worldId && Client.worldId != var1.world) { + return -1; + } else if (Client.worldId == var1.world && super.world != Client.worldId) { + return 1; + } else if (super.world != 0 && var1.world == 0) { + return -1; + } else if (var1.world != 0 && super.world == 0) { + return 1; + } else if (this.field3615 && !var1.field3615) { + return -1; + } else if (!this.field3615 && var1.field3615) { + return 1; + } else if (this.field3614 && !var1.field3614) { + return -1; + } else if (!this.field3614 && var1.field3614) { + return 1; + } else { + return super.world != 0 ? super.int2 - var1.int2 : var1.int2 - super.int2; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljh;I)I", + garbageValue = "-531306911" + ) + @Export("compareTo_user") + public int compareTo_user(User var1) { + return this.compareToFriend((Friend)var1); + } + + public int compareTo(Object var1) { + return this.compareToFriend((Friend)var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "530220947" + ) + static void method5133() { + Tiles.field501 = null; + Tiles.field483 = null; + DevicePcmPlayerProvider.field393 = null; + class287.field3634 = null; + Tiles.field488 = null; + Tiles.field486 = null; + DevicePcmPlayerProvider.field386 = null; + Tiles.Tiles_hue = null; + ArchiveLoader.Tiles_saturation = null; + Tiles.Tiles_lightness = null; + FontName.Tiles_hueMultiplier = null; + Tiles.field487 = null; + } + + @ObfuscatedName("fp") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-541695875" + ) + @Export("drawEntities") + static final void drawEntities(int var0, int var1, int var2, int var3) { + ++Client.viewportDrawCount; + if (class223.localPlayer.x >> 7 == Client.destinationX && class223.localPlayer.y * 682054857 >> 7 == Client.destinationY) { + Client.destinationX = 0; + } + + if (Client.renderSelf) { + Players.addPlayerToScene(class223.localPlayer, false); + } + + UrlRequest.method3275(); + class4.addNpcsToScene(true); + Login.method2110(); + class4.addNpcsToScene(false); + DynamicObject.method2221(); + + for (GraphicsObject var4 = (GraphicsObject)Client.graphicsObjects.last(); var4 != null; var4 = (GraphicsObject)Client.graphicsObjects.previous()) { + if (var4.plane == WorldMapRectangle.plane && !var4.isFinished) { + if (Client.cycle >= var4.cycleStart) { + var4.advance(Client.field698); + if (var4.isFinished) { + var4.remove(); + } else { + PacketWriter.scene.drawEntity(var4.plane, var4.x, var4.y, var4.height, 60, var4, 0, -1L, false); + } + } + } else { + var4.remove(); + } + } + + AbstractByteArrayCopier.setViewportShape(var0, var1, var2, var3, true); + var0 = Client.viewportOffsetX; + var1 = Client.viewportOffsetY; + var2 = Client.viewportWidth; + var3 = Client.viewportHeight; + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + int var5; + int var6; + int var7; + int var8; + int var11; + int var15; + if (!Client.isCameraLocked) { + var15 = Client.camAngleX; + if (Client.field722 / 256 > var15) { + var15 = Client.field722 / 256; + } + + if (Client.field835[4] && Client.field883[4] + 128 > var15) { + var15 = Client.field883[4] + 128; + } + + var5 = Client.camAngleY & 2047; + var6 = ObjectSound.oculusOrbFocalPointX; + var7 = ModelData0.field1840 * -1351160427; + var8 = class14.oculusOrbFocalPointY; + var11 = var15 * 3 + 600; + NPCDefinition.method4665(var6, var7, var8, var15, var5, var11, var3); + } + + int var9; + int var10; + int var12; + int var13; + int var14; + if (!Client.isCameraLocked) { + if (AbstractArchive.clientPreferences.roofsHidden) { + var5 = WorldMapRectangle.plane; + } else { + label409: { + var6 = 3; + if (IgnoreList.cameraPitch < 310) { + if (Client.oculusOrbState == 1) { + var7 = ObjectSound.oculusOrbFocalPointX >> 7; + var8 = class14.oculusOrbFocalPointY >> 7; + } else { + var7 = class223.localPlayer.x >> 7; + var8 = class223.localPlayer.y * 682054857 >> 7; + } + + var9 = GrandExchangeOfferOwnWorldComparator.cameraX >> 7; + var10 = WorldMapIcon_1.cameraZ >> 7; + if (var9 < 0 || var10 < 0 || var9 >= 104 || var10 >= 104) { + var5 = WorldMapRectangle.plane; + break label409; + } + + if (var7 < 0 || var8 < 0 || var7 >= 104 || var8 >= 104) { + var5 = WorldMapRectangle.plane; + break label409; + } + + if ((Tiles.Tiles_renderFlags[WorldMapRectangle.plane][var9][var10] & 4) != 0) { + var6 = WorldMapRectangle.plane; + } + + if (var7 > var9) { + var11 = var7 - var9; + } else { + var11 = var9 - var7; + } + + if (var8 > var10) { + var12 = var8 - var10; + } else { + var12 = var10 - var8; + } + + if (var11 > var12) { + var13 = var12 * 65536 / var11; + var14 = 32768; + + while (var7 != var9) { + if (var9 < var7) { + ++var9; + } else if (var9 > var7) { + --var9; + } + + if ((Tiles.Tiles_renderFlags[WorldMapRectangle.plane][var9][var10] & 4) != 0) { + var6 = WorldMapRectangle.plane; + } + + var14 += var13; + if (var14 >= 65536) { + var14 -= 65536; + if (var10 < var8) { + ++var10; + } else if (var10 > var8) { + --var10; + } + + if ((Tiles.Tiles_renderFlags[WorldMapRectangle.plane][var9][var10] & 4) != 0) { + var6 = WorldMapRectangle.plane; + } + } + } + } else if (var12 > 0) { + var13 = var11 * 65536 / var12; + var14 = 32768; + + while (var8 != var10) { + if (var10 < var8) { + ++var10; + } else if (var10 > var8) { + --var10; + } + + if ((Tiles.Tiles_renderFlags[WorldMapRectangle.plane][var9][var10] & 4) != 0) { + var6 = WorldMapRectangle.plane; + } + + var14 += var13; + if (var14 >= 65536) { + var14 -= 65536; + if (var9 < var7) { + ++var9; + } else if (var9 > var7) { + --var9; + } + + if ((Tiles.Tiles_renderFlags[WorldMapRectangle.plane][var9][var10] & 4) != 0) { + var6 = WorldMapRectangle.plane; + } + } + } + } + } + + if (class223.localPlayer.x >= 0 && class223.localPlayer.y * 682054857 >= 0 && class223.localPlayer.x < 13312 && class223.localPlayer.y * 682054857 < 13312) { + if ((Tiles.Tiles_renderFlags[WorldMapRectangle.plane][class223.localPlayer.x >> 7][class223.localPlayer.y * 682054857 >> 7] & 4) != 0) { + var6 = WorldMapRectangle.plane; + } + + var5 = var6; + } else { + var5 = WorldMapRectangle.plane; + } + } + } + + var15 = var5; + } else { + var15 = class208.getHighestVisiblePlane(); + } + + var5 = GrandExchangeOfferOwnWorldComparator.cameraX; + var6 = Varcs.cameraY; + var7 = WorldMapIcon_1.cameraZ; + var8 = IgnoreList.cameraPitch; + var9 = WorldMapSection2.cameraYaw; + + for (var10 = 0; var10 < 5; ++var10) { + if (Client.field835[var10]) { + var11 = (int)(Math.random() * (double)(Client.field882[var10] * 2 + 1) - (double)Client.field882[var10] + Math.sin((double)Client.field884[var10] / 100.0D * (double)Client.field885[var10]) * (double)Client.field883[var10]); + if (var10 == 0) { + GrandExchangeOfferOwnWorldComparator.cameraX += var11; + } + + if (var10 == 1) { + Varcs.cameraY += var11; + } + + if (var10 == 2) { + WorldMapIcon_1.cameraZ += var11; + } + + if (var10 == 3) { + WorldMapSection2.cameraYaw = var11 + WorldMapSection2.cameraYaw & 2047; + } + + if (var10 == 4) { + IgnoreList.cameraPitch += var11; + if (IgnoreList.cameraPitch < 128) { + IgnoreList.cameraPitch = 128; + } + + if (IgnoreList.cameraPitch > 383) { + IgnoreList.cameraPitch = 383; + } + } + } + } + + var10 = MouseHandler.MouseHandler_x; + var11 = MouseHandler.MouseHandler_y; + if (MouseHandler.MouseHandler_lastButton != 0) { + var10 = MouseHandler.MouseHandler_lastPressedX; + var11 = MouseHandler.MouseHandler_lastPressedY; + } + + if (var10 >= var0 && var10 < var0 + var2 && var11 >= var1 && var11 < var3 + var1) { + WorldMapSection1.method582(var10 - var0, var11 - var1); + } else { + MenuAction.method2062(); + } + + WorldMapID.playPcmPlayers(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + WorldMapID.playPcmPlayers(); + var12 = Rasterizer3D.Rasterizer3D_zoom; + Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; + PacketWriter.scene.draw(GrandExchangeOfferOwnWorldComparator.cameraX, Varcs.cameraY, WorldMapIcon_1.cameraZ, IgnoreList.cameraPitch, WorldMapSection2.cameraYaw, var15); + Rasterizer3D.Rasterizer3D_zoom = var12; + WorldMapID.playPcmPlayers(); + PacketWriter.scene.clearTempGameObjects(); + ViewportMouse.method2950(var0, var1, var2, var3); + Message.method1231(var0, var1); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field698); + Client.field634 = 0; + var13 = class223.baseX * 64 + (class223.localPlayer.x >> 7); + var14 = class286.baseY * 64 + (class223.localPlayer.y * 682054857 >> 7); + if (var13 >= 3053 && var13 <= 3156 && var14 >= 3056 && var14 <= 3136) { + Client.field634 = 1; + } + + if (var13 >= 3072 && var13 <= 3118 && var14 >= 9492 && var14 <= 9535) { + Client.field634 = 1; + } + + if (Client.field634 == 1 && var13 >= 3139 && var13 <= 3199 && var14 >= 3008 && var14 <= 3062) { + Client.field634 = 0; + } + + GrandExchangeOfferOwnWorldComparator.cameraX = var5; + Varcs.cameraY = var6; + WorldMapIcon_1.cameraZ = var7; + IgnoreList.cameraPitch = var8; + WorldMapSection2.cameraYaw = var9; + if (Client.isLoading && class1.method5(true, false) == 0) { + Client.isLoading = false; + } + + if (Client.isLoading) { + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + WorldMapSprite.drawLoadingMessage("Loading - please wait.", false); + } + + } +} diff --git a/runescape-client/src/main/java/FriendLoginUpdate.java b/runescape-client/src/main/java/FriendLoginUpdate.java index 378914f094..eb24c09585 100644 --- a/runescape-client/src/main/java/FriendLoginUpdate.java +++ b/runescape-client/src/main/java/FriendLoginUpdate.java @@ -1,33 +1,98 @@ -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("jp") -@Implements("FriendLoginUpdate") -public class FriendLoginUpdate extends Link { - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 235623703 - ) - public int field3613; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ljt;" - ) - @Export("username") - public Username username; - @ObfuscatedName("l") - @Export("world") - public short world; - - @ObfuscatedSignature( - signature = "(Ljt;I)V" - ) - FriendLoginUpdate(Username var1, int var2) { - this.field3613 = (int)(SoundCache.method2480() / 1000L); - this.username = var1; - this.world = (short)var2; - } -} +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.ScriptOpcodes; + +@ObfuscatedName("jj") +@Implements("FriendLoginUpdate") +public class FriendLoginUpdate extends Link { + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Ldq;" + ) + @Export("soundCache") + public static SoundCache soundCache; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1649732045 + ) + public int field3627; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Ljq;" + ) + @Export("username") + public Username username; + @ObfuscatedName("r") + @Export("world") + public short world; + + @ObfuscatedSignature( + signature = "(Ljq;I)V" + ) + FriendLoginUpdate(Username var1, int var2) { + this.field3627 = (int)(class30.method566() / 1000L); + this.username = var1; + this.world = (short)var2; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(ILcu;ZS)I", + garbageValue = "-14883" + ) + static int method5178(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else { + var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + } + + WorldMapSectionType.invalidateWidget(var3); + if (var0 != ScriptOpcodes.CC_SETOBJECT && var0 != ScriptOpcodes.CC_SETOBJECT_NONUM && var0 != ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM) { + if (var0 == ScriptOpcodes.CC_SETNPCHEAD) { + var3.modelType = 2; + var3.modelId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { + var3.modelType = 3; + var3.modelId = class223.localPlayer.appearance.getChatHeadId(); + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStackSize -= 2; + int var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var3.itemId = var4; + var3.itemQuantity = var5; + ItemDefinition var6 = Occluder.ItemDefinition_get(var4); + var3.modelAngleX = var6.xan2d; + var3.modelAngleY = var6.yan2d; + var3.modelAngleZ = var6.zan2d; + var3.modelOffsetX = var6.offsetX2d; + var3.modelOffsetY = var6.offsetY2d; + var3.modelZoom = var6.zoom2d; + if (var0 == ScriptOpcodes.CC_SETOBJECT_NONUM) { + var3.itemQuantityMode = 0; + } else if (var0 == ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM | var6.isStackable == 1) { + var3.itemQuantityMode = 1; + } else { + var3.itemQuantityMode = 2; + } + + if (var3.field2667 > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.field2667; + } else if (var3.rawWidth > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; + } + + return 1; + } + } +} diff --git a/runescape-client/src/main/java/FriendSystem.java b/runescape-client/src/main/java/FriendSystem.java index 13d700b529..1f3ff14330 100644 --- a/runescape-client/src/main/java/FriendSystem.java +++ b/runescape-client/src/main/java/FriendSystem.java @@ -1,323 +1,311 @@ -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("bc") -@Implements("FriendSystem") -public class FriendSystem { - @ObfuscatedName("qh") - @ObfuscatedGetter( - intValue = -1955536512 - ) - static int field1037; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lfk;" - ) - @Export("clock") - static Clock clock; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lll;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Ljx;" - ) - @Export("friendsList") - public final FriendsList friendsList; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lji;" - ) - @Export("ignoreList") - public final IgnoreList ignoreList; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1109899493 - ) - int field1034; - - @ObfuscatedSignature( - signature = "(Lll;)V" - ) - FriendSystem(LoginType var1) { - this.field1034 = 0; - this.loginType = var1; - this.friendsList = new FriendsList(var1); - this.ignoreList = new IgnoreList(var1); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1338647349" - ) - boolean method1825() { - return this.field1034 == 2; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - final void method1856() { - this.field1034 = 1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "0" - ) - @Export("readUpdate") - final void readUpdate(Buffer var1, int var2) { - this.friendsList.read(var1, var2); - this.field1034 = 2; - WallDecoration.FriendSystem_invalidateFriends(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-916004239" - ) - @Export("processFriendUpdates") - final void processFriendUpdates() { - for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { - if ((long)var1.field3613 < SoundCache.method2480() / 1000L - 5L) { - if (var1.world > 0) { - WorldMapCacheName.addGameMessage(5, "", var1.username + " has logged in."); - } - - if (var1.world == 0) { - WorldMapCacheName.addGameMessage(5, "", var1.username + " has logged out."); - } - - var1.remove(); - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "299049416" - ) - @Export("clear") - final void clear() { - this.field1034 = 0; - this.friendsList.clear(); - this.ignoreList.clear(); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljt;ZI)Z", - garbageValue = "1657738118" - ) - @Export("isFriended") - final boolean isFriended(Username var1, boolean var2) { - if (var1 == null) { - return false; - } else if (var1.equals(Varps.localPlayer.username)) { - return true; - } else { - return this.friendsList.isFriended(var1, var2); - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Ljt;I)Z", - garbageValue = "2143942402" - ) - @Export("isIgnored") - final boolean isIgnored(Username var1) { - if (var1 == null) { - return false; - } else { - return this.ignoreList.contains(var1); - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "365133706" - ) - @Export("addFriend") - final void addFriend(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.friendsListIsFull()) { - WorldMapSection2.method283("Your friend list is full. Max of 200 for free users, and 400 for members"); - } else if (Varps.localPlayer.username.equals(var2)) { - class1.method9(); - } else if (this.isFriended(var2, false)) { - Calendar.method3933(var1); - } else if (this.isIgnored(var2)) { - WorldMapSection2.method283("Please remove " + var1 + " from your ignore list first"); - } else { - WorldMapLabelSize.method172(var1); - } - } - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-567390482" - ) - @Export("friendsListIsFull") - final boolean friendsListIsFull() { - return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field739 != 1; - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1635625891" - ) - @Export("addIgnore") - final void addIgnore(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.canAddIgnore()) { - WorldMapSection2.method283("Your ignore list is full. Max of 100 for free users, and 400 for members"); - } else if (Varps.localPlayer.username.equals(var2)) { - Huffman.method3943(); - } else if (this.isIgnored(var2)) { - WorldMapSection2.method283(var1 + " is already on your ignore list"); - } else if (this.isFriended(var2, false)) { - WorldMapSection2.method283("Please remove " + var1 + " from your friend list first"); - } else { - PacketBufferNode var3 = MenuAction.getPacketBufferNode(ClientPacket.field2274, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var1)); - var3.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.addNode(var3); - } - } - } - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-41" - ) - @Export("canAddIgnore") - final boolean canAddIgnore() { - return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field739 != 1; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "73" - ) - @Export("removeFriend") - final void removeFriend(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.friendsList.removeByUsername(var2)) { - GrandExchangeEvents.method66(); - PacketBufferNode var3 = MenuAction.getPacketBufferNode(ClientPacket.field2281, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var1)); - var3.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.addNode(var3); - } - - WallDecoration.FriendSystem_invalidateFriends(); - } - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;S)V", - garbageValue = "257" - ) - @Export("removeIgnore") - final void removeIgnore(String var1) { - if (var1 != null) { - Username var2 = new Username(var1, this.loginType); - if (var2.hasCleanName()) { - if (this.ignoreList.removeByUsername(var2)) { - GrandExchangeEvents.method66(); - PacketBufferNode var3 = MenuAction.getPacketBufferNode(ClientPacket.field2273, Client.packetWriter.isaacCipher); - var3.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var1)); - var3.packetBuffer.writeStringCp1252NullTerminated(var1); - Client.packetWriter.addNode(var3); - } - - HealthBarUpdate.FriendSystem_invalidateIgnoreds(); - } - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Ljt;I)Z", - garbageValue = "-1345116753" - ) - @Export("isFriendAndHasWorld") - final boolean isFriendAndHasWorld(Username var1) { - Friend var2 = (Friend)this.friendsList.getByUsername(var1); - return var2 != null && var2.hasWorld(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "591224258" - ) - public static void method1871() { - if (KeyHandler.KeyHandler_instance != null) { - synchronized(KeyHandler.KeyHandler_instance) { - KeyHandler.KeyHandler_instance = null; - } - } - - } - - @ObfuscatedName("ih") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "-1994917329" - ) - @Export("formatItemStacks") - static final String formatItemStacks(int var0) { - String var1 = Integer.toString(var0); - - for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) { - var1 = var1.substring(0, var2) + "," + var1.substring(var2); - } - - if (var1.length() > 9) { - return " " + UserComparator7.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; - } else { - return var1.length() > 6 ? " " + UserComparator7.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + UserComparator7.colorStartTag(16776960) + var1 + ""; - } - } - - @ObfuscatedName("ip") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "71" - ) - @Export("setTapToDrop") - static void setTapToDrop(boolean var0) { - Client.tapToDrop = var0; - } -} +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("bf") +@Implements("FriendSystem") +public class FriendSystem { + @ObfuscatedName("kp") + @ObfuscatedGetter( + intValue = 784647043 + ) + @Export("menuWidth") + static int menuWidth; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lli;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Ljz;" + ) + @Export("friendsList") + public final FriendsList friendsList; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ljw;" + ) + @Export("ignoreList") + public final IgnoreList ignoreList; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -154127357 + ) + int field1052; + + @ObfuscatedSignature( + signature = "(Lli;)V" + ) + FriendSystem(LoginType var1) { + this.field1052 = 0; + this.loginType = var1; + this.friendsList = new FriendsList(var1); + this.ignoreList = new IgnoreList(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-537546182" + ) + boolean method1859() { + return this.field1052 == 2; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1827488115" + ) + final void method1860() { + this.field1052 = 1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "87159269" + ) + @Export("readUpdate") + final void readUpdate(Buffer var1, int var2) { + this.friendsList.read(var1, var2); + this.field1052 = 2; + Coord.FriendSystem_invalidateFriends(); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1809100173" + ) + @Export("processFriendUpdates") + final void processFriendUpdates() { + for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { + if ((long)var1.field3627 < class30.method566() / 1000L - 5L) { + if (var1.world > 0) { + class210.addGameMessage(5, "", var1.username + " has logged in."); + } + + if (var1.world == 0) { + class210.addGameMessage(5, "", var1.username + " has logged out."); + } + + var1.remove(); + } + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2097335947" + ) + @Export("clear") + final void clear() { + this.field1052 = 0; + this.friendsList.clear(); + this.ignoreList.clear(); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljq;ZI)Z", + garbageValue = "-99546473" + ) + @Export("isFriended") + final boolean isFriended(Username var1, boolean var2) { + if (var1 == null) { + return false; + } else if (var1.equals(class223.localPlayer.username)) { + return true; + } else { + return this.friendsList.isFriended(var1, var2); + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ljq;I)Z", + garbageValue = "-1271048446" + ) + @Export("isIgnored") + final boolean isIgnored(Username var1) { + if (var1 == null) { + return false; + } else { + return this.ignoreList.contains(var1); + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "70213064" + ) + @Export("addFriend") + final void addFriend(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + StringBuilder var10000; + String var4; + if (this.friendsListIsFull()) { + var10000 = null; + var4 = "Your friend list is full. Max of 200 for free users, and 400 for members"; + class210.addGameMessage(30, "", var4); + } else if (class223.localPlayer.username.equals(var2)) { + var10000 = null; + var4 = "You can't add yourself to your own friend list"; + class210.addGameMessage(30, "", var4); + } else { + Object var10001; + if (this.isFriended(var2, false)) { + var10000 = (new StringBuilder()).append(var1); + var10001 = null; + var4 = var10000.append(" is already on your friend list").toString(); + class210.addGameMessage(30, "", var4); + } else if (this.isIgnored(var2)) { + var10000 = new StringBuilder(); + var10001 = null; + var10000 = var10000.append("Please remove ").append(var1); + var10001 = null; + var4 = var10000.append(" from your ignore list first").toString(); + class210.addGameMessage(30, "", var4); + } else { + PacketBufferNode var3 = InterfaceParent.getPacketBufferNode(ClientPacket.field2264, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + } + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-414102513" + ) + @Export("friendsListIsFull") + final boolean friendsListIsFull() { + return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field636 != 1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "1251138329" + ) + @Export("addIgnore") + final void addIgnore(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + if (this.canAddIgnore()) { + WorldMapCacheName.method644(); + } else { + StringBuilder var10000; + String var4; + if (class223.localPlayer.username.equals(var2)) { + var10000 = null; + var4 = "You can't add yourself to your own ignore list"; + class210.addGameMessage(30, "", var4); + } else { + Object var10001; + if (this.isIgnored(var2)) { + var10000 = (new StringBuilder()).append(var1); + var10001 = null; + var4 = var10000.append(" is already on your ignore list").toString(); + class210.addGameMessage(30, "", var4); + } else if (this.isFriended(var2, false)) { + var10000 = new StringBuilder(); + var10001 = null; + var10000 = var10000.append("Please remove ").append(var1); + var10001 = null; + var4 = var10000.append(" from your friend list first").toString(); + class210.addGameMessage(30, "", var4); + } else { + PacketBufferNode var3 = InterfaceParent.getPacketBufferNode(ClientPacket.field2279, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + } + } + } + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(S)Z", + garbageValue = "30910" + ) + @Export("canAddIgnore") + final boolean canAddIgnore() { + return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field636 != 1; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "1378951166" + ) + @Export("removeFriend") + final void removeFriend(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + if (this.friendsList.removeByUsername(var2)) { + Client.field744 = Client.cycleCntr; + PacketBufferNode var3 = InterfaceParent.getPacketBufferNode(ClientPacket.field2232, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + + Coord.FriendSystem_invalidateFriends(); + } + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1989545258" + ) + @Export("removeIgnore") + final void removeIgnore(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + if (this.ignoreList.removeByUsername(var2)) { + Client.field744 = Client.cycleCntr; + PacketBufferNode var3 = InterfaceParent.getPacketBufferNode(ClientPacket.field2268, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + + class195.FriendSystem_invalidateIgnoreds(); + } + } + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(Ljq;I)Z", + garbageValue = "869979117" + ) + @Export("isFriendAndHasWorld") + final boolean isFriendAndHasWorld(Username var1) { + Friend var2 = (Friend)this.friendsList.getByUsername(var1); + return var2 != null && var2.hasWorld(); + } +} diff --git a/runescape-client/src/main/java/FriendsList.java b/runescape-client/src/main/java/FriendsList.java index ccc8d1e49b..ef6b896e82 100644 --- a/runescape-client/src/main/java/FriendsList.java +++ b/runescape-client/src/main/java/FriendsList.java @@ -1,226 +1,161 @@ -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("jx") -@Implements("FriendsList") -public class FriendsList extends UserList { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lll;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -699388303 - ) - int field3587; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Ljo;" - ) - @Export("friendLoginUpdates") - public LinkDeque friendLoginUpdates; - - @ObfuscatedSignature( - signature = "(Lll;)V" - ) - public FriendsList(LoginType var1) { - super(400); - this.field3587 = 1; - this.friendLoginUpdates = new LinkDeque(); - this.loginType = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Ljw;", - garbageValue = "-734254876" - ) - @Export("newInstance") - User newInstance() { - return new Friend(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)[Ljw;", - garbageValue = "1353779565" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new Friend[var1]; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljt;ZB)Z", - garbageValue = "0" - ) - @Export("isFriended") - public boolean isFriended(Username var1, boolean var2) { - Friend var3 = (Friend)this.getByUsername(var1); - if (var3 == null) { - return false; - } else { - return !var2 || var3.world != 0; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "149092737" - ) - @Export("read") - public void read(Buffer var1, int var2) { - while (true) { - if (var1.offset < var2) { - boolean var3 = var1.readUnsignedByte() == 1; - Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); - Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); - int var6 = var1.readUnsignedShort(); - int var7 = var1.readUnsignedByte(); - int var8 = var1.readUnsignedByte(); - boolean var9 = (var8 & 2) != 0; - boolean var10 = (var8 & 1) != 0; - if (var6 > 0) { - var1.readStringCp1252NullTerminated(); - var1.readUnsignedByte(); - var1.readInt(); - } - - var1.readStringCp1252NullTerminated(); - if (var4 != null && var4.hasCleanName()) { - Friend var11 = (Friend)this.getByCurrentUsername(var4); - if (var3) { - Friend var12 = (Friend)this.getByCurrentUsername(var5); - if (var12 != null && var12 != var11) { - if (var11 != null) { - this.remove(var12); - } else { - var11 = var12; - } - } - } - - if (var11 != null) { - this.changeName(var11, var4, var5); - if (var6 != var11.world) { - boolean var14 = true; - - for (FriendLoginUpdate var13 = (FriendLoginUpdate)this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate)this.friendLoginUpdates.previous()) { - if (var13.username.equals(var4)) { - if (var6 != 0 && var13.world == 0) { - var13.remove(); - var14 = false; - } else if (var6 == 0 && var13.world != 0) { - var13.remove(); - var14 = false; - } - } - } - - if (var14) { - this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6)); - } - } - } else { - if (this.getSize() >= 400) { - continue; - } - - var11 = (Friend)this.addLast(var4, var5); - } - - if (var6 != var11.world) { - var11.int2 = ++this.field3587 - 1; - if (var11.world == -1 && var6 == 0) { - var11.int2 = -(var11.int2 * -2054461169) * 725247471; - } - - var11.world = var6; - } - - var11.rank = var7; - var11.field3599 = var9; - var11.field3598 = var10; - continue; - } - - throw new IllegalStateException(); - } - - this.sort(); - return; - } - } - - @ObfuscatedName("c") - @Export("sleepMillis") - public static final void sleepMillis(long var0) { - if (var0 > 0L) { - if (var0 % 10L == 0L) { - long var2 = var0 - 1L; - - try { - Thread.sleep(var2); - } catch (InterruptedException var8) { - } - - try { - Thread.sleep(1L); - } catch (InterruptedException var7) { - } - } else { - try { - Thread.sleep(var0); - } catch (InterruptedException var6) { - } - } - - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;B)Ljava/lang/String;", - garbageValue = "6" - ) - public static String method5163(CharSequence var0) { - int var1 = var0.length(); - StringBuilder var2 = new StringBuilder(var1); - - for (int var3 = 0; var3 < var1; ++var3) { - char var4 = var0.charAt(var3); - if ((var4 < 'a' || var4 > 'z') && (var4 < 'A' || var4 > 'Z') && (var4 < '0' || var4 > '9') && var4 != '.' && var4 != '-' && var4 != '*' && var4 != '_') { - if (var4 == ' ') { - var2.append('+'); - } else { - byte var5 = MenuAction.charToByteCp1252(var4); - var2.append('%'); - int var6 = var5 >> 4 & 15; - if (var6 >= 10) { - var2.append((char)(var6 + 55)); - } else { - var2.append((char)(var6 + 48)); - } - - var6 = var5 & 15; - if (var6 >= 10) { - var2.append((char)(var6 + 55)); - } else { - var2.append((char)(var6 + 48)); - } - } - } else { - var2.append(var4); - } - } - - return var2.toString(); - } -} +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("jz") +@Implements("FriendsList") +public class FriendsList extends UserList { + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lli;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 348884647 + ) + int field3607; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lje;" + ) + @Export("friendLoginUpdates") + public LinkDeque friendLoginUpdates; + + @ObfuscatedSignature( + signature = "(Lli;)V" + ) + public FriendsList(LoginType var1) { + super(400); + this.field3607 = 1; + this.friendLoginUpdates = new LinkDeque(); + this.loginType = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)Ljh;", + garbageValue = "2" + ) + @Export("newInstance") + User newInstance() { + return new Friend(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)[Ljh;", + garbageValue = "951526901" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new Friend[var1]; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljq;ZB)Z", + garbageValue = "-80" + ) + @Export("isFriended") + public boolean isFriended(Username var1, boolean var2) { + Friend var3 = (Friend)this.getByUsername(var1); + if (var3 == null) { + return false; + } else { + return !var2 || var3.world != 0; + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-1601651584" + ) + @Export("read") + public void read(Buffer var1, int var2) { + while (true) { + if (var1.offset < var2) { + boolean var3 = var1.readUnsignedByte() == 1; + Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + int var6 = var1.readUnsignedShort(); + int var7 = var1.readUnsignedByte(); + int var8 = var1.readUnsignedByte(); + boolean var9 = (var8 & 2) != 0; + boolean var10 = (var8 & 1) != 0; + if (var6 > 0) { + var1.readStringCp1252NullTerminated(); + var1.readUnsignedByte(); + var1.readInt(); + } + + var1.readStringCp1252NullTerminated(); + if (var4 != null && var4.hasCleanName()) { + Friend var11 = (Friend)this.getByCurrentUsername(var4); + if (var3) { + Friend var12 = (Friend)this.getByCurrentUsername(var5); + if (var12 != null && var11 != var12) { + if (var11 != null) { + this.remove(var12); + } else { + var11 = var12; + } + } + } + + if (var11 != null) { + this.changeName(var11, var4, var5); + if (var6 != var11.world) { + boolean var14 = true; + + for (FriendLoginUpdate var13 = (FriendLoginUpdate)this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate)this.friendLoginUpdates.previous()) { + if (var13.username.equals(var4)) { + if (var6 != 0 && var13.world == 0) { + var13.remove(); + var14 = false; + } else if (var6 == 0 && var13.world != 0) { + var13.remove(); + var14 = false; + } + } + } + + if (var14) { + this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6)); + } + } + } else { + if (this.getSize() >= 400) { + continue; + } + + var11 = (Friend)this.addLast(var4, var5); + } + + if (var6 != var11.world) { + var11.int2 = ++this.field3607 - 1; + if (var11.world == -1 && var6 == 0) { + var11.int2 = -(var11.int2 * 1171982777) * -1761858423; + } + + var11.world = var6; + } + + var11.rank = var7; + var11.field3615 = var9; + var11.field3614 = var10; + continue; + } + + throw new IllegalStateException(); + } + + this.sort(); + return; + } + } +} diff --git a/runescape-client/src/main/java/GZipDecompressor.java b/runescape-client/src/main/java/GZipDecompressor.java index a0d891b13b..c53d8dc3ef 100644 --- a/runescape-client/src/main/java/GZipDecompressor.java +++ b/runescape-client/src/main/java/GZipDecompressor.java @@ -1,76 +1,50 @@ -import java.util.zip.Inflater; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lu") -@Implements("GZipDecompressor") -public class GZipDecompressor { - @ObfuscatedName("c") - @Export("inflater") - Inflater inflater; - - public GZipDecompressor() { - this(-1, 1000000, 1000000); - } - - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1000000" - ) - GZipDecompressor(int var1, int var2, int var3) { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;[BB)V", - garbageValue = "0" - ) - @Export("decompress") - public void decompress(Buffer var1, byte[] var2) { - if (var1.array[var1.offset] == 31 && var1.array[var1.offset + 1] == -117) { - if (this.inflater == null) { - this.inflater = new Inflater(true); - } - - try { - this.inflater.setInput(var1.array, var1.offset + 10, var1.array.length - (var1.offset + 8 + 10)); - this.inflater.inflate(var2); - } catch (Exception var4) { - this.inflater.reset(); - throw new RuntimeException(""); - } - - this.inflater.reset(); - } else { - throw new RuntimeException(""); - } - } - - @ObfuscatedName("fb") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZI)V", - garbageValue = "-1847999572" - ) - @Export("drawLoadingMessage") - static final void drawLoadingMessage(String var0, boolean var1) { - if (Client.showLoadingMessages) { - byte var2 = 4; - int var3 = var2 + 6; - int var4 = var2 + 6; - int var5 = class197.fontPlain12.lineWidth(var0, 250); - int var6 = class197.fontPlain12.lineCount(var0, 250) * 13; - Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2, 0); - Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var6 + var2 + var2, 16777215); - class197.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); - HealthBar.method2007(var3 - var2, var4 - var2, var2 + var2 + var5, var2 + var6 + var2); - if (var1) { - DevicePcmPlayerProvider.rasterProvider.drawFull(0, 0); - } else { - WorldMapElement.method4392(var3, var4, var5, var6); - } - - } - } -} +import java.util.zip.Inflater; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lr") +@Implements("GZipDecompressor") +public class GZipDecompressor { + @ObfuscatedName("z") + @Export("inflater") + Inflater inflater; + + public GZipDecompressor() { + this(-1, 1000000, 1000000); + } + + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1000000" + ) + GZipDecompressor(int var1, int var2, int var3) { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;[BI)V", + garbageValue = "-1227959018" + ) + @Export("decompress") + public void decompress(Buffer var1, byte[] var2) { + if (var1.array[var1.offset] == 31 && var1.array[var1.offset + 1] == -117) { + if (this.inflater == null) { + this.inflater = new Inflater(true); + } + + try { + this.inflater.setInput(var1.array, var1.offset + 10, var1.array.length - (var1.offset + 8 + 10)); + this.inflater.inflate(var2); + } catch (Exception var4) { + this.inflater.reset(); + throw new RuntimeException(""); + } + + this.inflater.reset(); + } else { + throw new RuntimeException(""); + } + } +} diff --git a/runescape-client/src/main/java/GameObject.java b/runescape-client/src/main/java/GameObject.java index 126d6ee26b..02d215effe 100644 --- a/runescape-client/src/main/java/GameObject.java +++ b/runescape-client/src/main/java/GameObject.java @@ -1,194 +1,104 @@ -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("ef") -@Implements("GameObject") -public final class GameObject { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -373728187 - ) - @Export("plane") - int plane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 351218671 - ) - @Export("centerY") - int centerY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -722622461 - ) - @Export("height") - int height; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1130119677 - ) - @Export("centerX") - int centerX; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("entity") - public Entity entity; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1883842779 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1330255505 - ) - @Export("startX") - int startX; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -941264089 - ) - @Export("endX") - int endX; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -2072718285 - ) - @Export("startY") - int startY; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1022796885 - ) - @Export("endY") - int endY; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1238429947 - ) - int field1904; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 792454525 - ) - @Export("lastDrawn") - int lastDrawn; - @ObfuscatedName("f") - @ObfuscatedGetter( - longValue = -8257733995685858193L - ) - @Export("tag") - public long tag; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1096273189 - ) - @Export("flags") - int flags; - - GameObject() { - this.tag = 0L; - this.flags = 0; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;S)V", - garbageValue = "390" - ) - @Export("NpcDefinition_setArchives") - public static void NpcDefinition_setArchives(AbstractArchive var0, AbstractArchive var1) { - NPCDefinition.NpcDefinition_archive = var0; - NPCDefinition.NpcDefinition_modelArchive = var1; - } - - @ObfuscatedName("x") - public static String method3262(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { - if (var0 % 37L == 0L) { - return null; - } else { - int var2 = 0; - - for (long var3 = var0; var3 != 0L; var3 /= 37L) { - ++var2; - } - - StringBuilder var5 = new StringBuilder(var2); - - while (var0 != 0L) { - long var6 = var0; - var0 /= 37L; - var5.append(class288.base37Table[(int)(var6 - var0 * 37L)]); - } - - return var5.reverse().toString(); - } - } else { - return null; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lkc;", - garbageValue = "143572048" - ) - public static PrivateChatMode method3263(int var0) { - PrivateChatMode[] var1 = Frames.ChatMode_values(); - - for (int var2 = 0; var2 < var1.length; ++var2) { - PrivateChatMode var3 = var1[var2]; - if (var0 == var3.field3787) { - return var3; - } - } - - return null; - } - - @ObfuscatedName("gz") - @ObfuscatedSignature( - signature = "(Lby;ZI)V", - garbageValue = "100665877" - ) - @Export("addPlayerToScene") - static void addPlayerToScene(Player var0, boolean var1) { - if (var0 != null && var0.isVisible() && !var0.isHidden) { - var0.isUnanimated = false; - if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && var0.readySequence == var0.movementSequence) { - var0.isUnanimated = true; - } - - int var2 = var0.x * -78439701 >> 7; - int var3 = var0.y >> 7; - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { - long var4 = WorldMapIcon_1.calculateTag(0, 0, 0, false, var0.index); - if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { - var0.isUnanimated = false; - var0.tileHeight = WorldMapAreaData.getTileHeight(var0.x * -78439701, var0.y, MouseRecorder.plane); - var0.playerCycle = Client.cycle; - WorldMapIcon_1.scene.addNullableObject(MouseRecorder.plane, var0.x * -78439701, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.field601, var0.field602, var0.field609, var0.field604); - } else { - if ((var0.x * -78439701 & 127) == 64 && (var0.y & 127) == 64) { - if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { - return; - } - - Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; - } - - var0.tileHeight = WorldMapAreaData.getTileHeight(var0.x * -78439701, var0.y, MouseRecorder.plane); - var0.playerCycle = Client.cycle; - WorldMapIcon_1.scene.drawEntity(MouseRecorder.plane, var0.x * -78439701, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking); - } - } - } - - } -} +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("ej") +@Implements("GameObject") +public final class GameObject { + @ObfuscatedName("gh") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("mapMarkerSprites") + static Sprite[] mapMarkerSprites; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("entity") + public Entity entity; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 23072497 + ) + @Export("plane") + int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1467218039 + ) + @Export("height") + int height; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1096373851 + ) + @Export("centerX") + int centerX; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -921514335 + ) + @Export("centerY") + int centerY; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1901316909 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -714921437 + ) + @Export("startX") + int startX; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1336647537 + ) + @Export("endX") + int endX; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1244242871 + ) + @Export("startY") + int startY; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1759509999 + ) + @Export("endY") + int endY; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1933245697 + ) + int field1914; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 505349389 + ) + @Export("lastDrawn") + int lastDrawn; + @ObfuscatedName("o") + @ObfuscatedGetter( + longValue = 2276908467403178719L + ) + @Export("tag") + public long tag; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 8294449 + ) + @Export("flags") + int flags; + + GameObject() { + this.tag = 0L; + this.flags = 0; + } +} diff --git a/runescape-client/src/main/java/GameShell.java b/runescape-client/src/main/java/GameShell.java index 357ade944b..9346c82fc3 100644 --- a/runescape-client/src/main/java/GameShell.java +++ b/runescape-client/src/main/java/GameShell.java @@ -1,1884 +1,1030 @@ -import java.applet.Applet; -import java.awt.Color; -import java.awt.Container; -import java.awt.EventQueue; -import java.awt.Frame; -import java.awt.Graphics; -import java.awt.Insets; -import java.awt.LayoutManager; -import java.awt.Rectangle; -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.ClipboardOwner; -import java.awt.datatransfer.StringSelection; -import java.awt.event.ActionEvent; -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; -import java.awt.image.ImageObserver; -import java.net.URL; -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.ScriptOpcodes; - -@ObfuscatedName("bn") -@Implements("GameShell") -public abstract class GameShell extends Applet implements Runnable, FocusListener, WindowListener { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfq;" - ) - @Export("taskHandler") - protected static TaskHandler taskHandler; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lbn;" - ) - @Export("gameShell") - static GameShell gameShell; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1940635317 - ) - @Export("GameShell_redundantStartThreadCount") - static int GameShell_redundantStartThreadCount; - @ObfuscatedName("l") - @ObfuscatedGetter( - longValue = 2410955799989226407L - ) - @Export("stopTimeMs") - static long stopTimeMs; - @ObfuscatedName("u") - @Export("isKilled") - static boolean isKilled; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1724469587 - ) - static int field423; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1078745495 - ) - @Export("cycleDurationMillis") - static int cycleDurationMillis; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -325181045 - ) - @Export("fiveOrOne") - static int fiveOrOne; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 701410381 - ) - @Export("fps") - protected static int fps; - @ObfuscatedName("s") - static long[] field427; - @ObfuscatedName("e") - static long[] field418; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1973184751 - ) - @Export("canvasHeight") - public static int canvasHeight; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -768939705 - ) - static int field441; - @ObfuscatedName("aq") - @Export("volatileFocus") - static volatile boolean volatileFocus; - @ObfuscatedName("az") - @ObfuscatedGetter( - longValue = -1516080543148200363L - ) - @Export("garbageCollectorLastCollectionTime") - static long garbageCollectorLastCollectionTime; - @ObfuscatedName("ai") - @ObfuscatedGetter( - longValue = 7898189613285103621L - ) - @Export("garbageCollectorLastCheckTimeMs") - static long garbageCollectorLastCheckTimeMs; - @ObfuscatedName("j") - @Export("hasErrored") - boolean hasErrored; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -2138791277 - ) - @Export("contentWidth") - protected int contentWidth; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1076406639 - ) - @Export("contentHeight") - protected int contentHeight; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 476057871 - ) - @Export("canvasX") - int canvasX; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1400407449 - ) - @Export("canvasY") - int canvasY; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1347803341 - ) - int field435; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 1534587989 - ) - int field428; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -1315283541 - ) - @Export("maxCanvasWidth") - int maxCanvasWidth; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -350694385 - ) - @Export("maxCanvasHeight") - int maxCanvasHeight; - @ObfuscatedName("al") - @Export("frame") - Frame frame; - @ObfuscatedName("as") - @Export("canvas") - java.awt.Canvas canvas; - @ObfuscatedName("ad") - volatile boolean field440; - @ObfuscatedName("aj") - @Export("resizeCanvasNextFrame") - boolean resizeCanvasNextFrame; - @ObfuscatedName("ab") - @Export("isCanvasInvalid") - volatile boolean isCanvasInvalid; - @ObfuscatedName("af") - @ObfuscatedGetter( - longValue = -1097911056419616917L - ) - volatile long field444; - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "Laq;" - ) - @Export("mouseWheelHandler") - MouseWheelHandler mouseWheelHandler; - @ObfuscatedName("ah") - @Export("clipboard") - Clipboard clipboard; - @ObfuscatedName("aa") - @Export("eventQueue") - final EventQueue eventQueue; - - static { - gameShell = null; - GameShell_redundantStartThreadCount = 0; - stopTimeMs = 0L; - isKilled = false; - cycleDurationMillis = 20; - fiveOrOne = 1; - fps = 0; - field427 = new long[32]; - field418 = new long[32]; - field441 = 500; - volatileFocus = true; - garbageCollectorLastCollectionTime = -1L; - garbageCollectorLastCheckTimeMs = -1L; - } - - protected GameShell() { - this.hasErrored = false; - this.canvasX = 0; - this.canvasY = 0; - this.field440 = true; - this.resizeCanvasNextFrame = false; - this.isCanvasInvalid = false; - this.field444 = 0L; - EventQueue var1 = null; - - try { - var1 = Toolkit.getDefaultToolkit().getSystemEventQueue(); - } catch (Throwable var3) { - } - - this.eventQueue = var1; - DevicePcmPlayerProvider var2 = new DevicePcmPlayerProvider(); - HealthBar.pcmPlayerProvider = var2; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "952185183" - ) - @Export("setMaxCanvasSize") - protected final void setMaxCanvasSize(int var1, int var2) { - if (this.maxCanvasWidth != var1 || var2 != this.maxCanvasHeight) { - this.method909(); - } - - this.maxCanvasWidth = var1; - this.maxCanvasHeight = var2; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;I)V", - garbageValue = "-1820035626" - ) - @Export("post") - final void post(Object var1) { - if (this.eventQueue != null) { - for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) { - FriendsList.sleepMillis(1L); - } - - if (var1 != null) { - this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy")); - } - - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)Lfa;", - garbageValue = "718088180" - ) - @Export("mouseWheel") - protected MouseWheel mouseWheel() { - if (this.mouseWheelHandler == null) { - this.mouseWheelHandler = new MouseWheelHandler(); - this.mouseWheelHandler.addTo(this.canvas); - } - - return this.mouseWheelHandler; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1139058082" - ) - @Export("setUpClipboard") - protected void setUpClipboard() { - this.clipboard = this.getToolkit().getSystemClipboard(); - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "-1159772374" - ) - @Export("clipboardSetString") - protected void clipboardSetString(String var1) { - this.clipboard.setContents(new StringSelection(var1), (ClipboardOwner)null); - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1206227036" - ) - @Export("setUpKeyboard") - protected final void setUpKeyboard() { - class3.method38(); - class237.method4317(this.canvas); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-553241238" - ) - @Export("setUpMouse") - protected final void setUpMouse() { - java.awt.Canvas var1 = this.canvas; - var1.addMouseListener(MouseHandler.MouseHandler_instance); - var1.addMouseMotionListener(MouseHandler.MouseHandler_instance); - var1.addFocusListener(MouseHandler.MouseHandler_instance); - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "88" - ) - @Export("resizeCanvas") - final void resizeCanvas() { - Container var1 = this.container(); - if (var1 != null) { - Bounds var2 = this.getFrameContentBounds(); - this.contentWidth = Math.max(var2.highX, this.field435); - this.contentHeight = Math.max(var2.highY, this.field428); - if (this.contentWidth <= 0) { - this.contentWidth = 1; - } - - if (this.contentHeight <= 0) { - this.contentHeight = 1; - } - - GraphicsDefaults.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); - canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); - this.canvasX = (this.contentWidth - GraphicsDefaults.canvasWidth) / 2; - this.canvasY = 0; - this.canvas.setSize(GraphicsDefaults.canvasWidth, canvasHeight); - DevicePcmPlayerProvider.rasterProvider = new RasterProvider(GraphicsDefaults.canvasWidth, canvasHeight, this.canvas); - if (var1 == this.frame) { - Insets var3 = this.frame.getInsets(); - this.canvas.setLocation(this.canvasX + var3.left, this.canvasY + var3.top); - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); - } - - this.field440 = true; - this.resizeGame(); - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1419567103" - ) - @Export("resizeGame") - protected abstract void resizeGame(); - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-89" - ) - @Export("clearBackground") - void clearBackground() { - int var1 = this.canvasX; - int var2 = this.canvasY; - int var3 = this.contentWidth - GraphicsDefaults.canvasWidth - var1; - int var4 = this.contentHeight - canvasHeight - var2; - if (var1 > 0 || var3 > 0 || var2 > 0 || var4 > 0) { - try { - Container var5 = this.container(); - int var6 = 0; - int var7 = 0; - if (var5 == this.frame) { - Insets var8 = this.frame.getInsets(); - var6 = var8.left; - var7 = var8.top; - } - - Graphics var10 = var5.getGraphics(); - var10.setColor(Color.black); - if (var1 > 0) { - var10.fillRect(var6, var7, var1, this.contentHeight); - } - - if (var2 > 0) { - var10.fillRect(var6, var7, this.contentWidth, var2); - } - - if (var3 > 0) { - var10.fillRect(var6 + this.contentWidth - var3, var7, var3, this.contentHeight); - } - - if (var4 > 0) { - var10.fillRect(var6, var7 + this.contentHeight - var4, this.contentWidth, var4); - } - } catch (Exception var9) { - } - } - - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-121" - ) - @Export("replaceCanvas") - final void replaceCanvas() { - java.awt.Canvas var1 = this.canvas; - var1.removeKeyListener(KeyHandler.KeyHandler_instance); - var1.removeFocusListener(KeyHandler.KeyHandler_instance); - KeyHandler.field366 = -1; - java.awt.Canvas var2 = this.canvas; - var2.removeMouseListener(MouseHandler.MouseHandler_instance); - var2.removeMouseMotionListener(MouseHandler.MouseHandler_instance); - var2.removeFocusListener(MouseHandler.MouseHandler_instance); - MouseHandler.MouseHandler_currentButtonVolatile = 0; - if (this.mouseWheelHandler != null) { - this.mouseWheelHandler.removeFrom(this.canvas); - } - - this.addCanvas(); - class237.method4317(this.canvas); - java.awt.Canvas var3 = this.canvas; - var3.addMouseListener(MouseHandler.MouseHandler_instance); - var3.addMouseMotionListener(MouseHandler.MouseHandler_instance); - var3.addFocusListener(MouseHandler.MouseHandler_instance); - if (this.mouseWheelHandler != null) { - this.mouseWheelHandler.addTo(this.canvas); - } - - this.method909(); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "1169859735" - ) - @Export("startThread") - protected final void startThread(int var1, int var2, int var3) { - try { - if (gameShell != null) { - ++GameShell_redundantStartThreadCount; - if (GameShell_redundantStartThreadCount >= 3) { - this.error("alreadyloaded"); - return; - } - - this.getAppletContext().showDocument(this.getDocumentBase(), "_self"); - return; - } - - gameShell = this; - GraphicsDefaults.canvasWidth = var1; - canvasHeight = var2; - RunException.RunException_revision = var3; - RunException.RunException_applet = this; - if (taskHandler == null) { - taskHandler = new TaskHandler(); - } - - taskHandler.newThreadTask(this, 1); - } catch (Exception var5) { - class188.RunException_sendStackTrace((String)null, var5); - this.error("crash"); - } - - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "595873296" - ) - @Export("addCanvas") - final synchronized void addCanvas() { - Container var1 = this.container(); - if (this.canvas != null) { - this.canvas.removeFocusListener(this); - var1.remove(this.canvas); - } - - GraphicsDefaults.canvasWidth = Math.max(var1.getWidth(), this.field435); - canvasHeight = Math.max(var1.getHeight(), this.field428); - Insets var2; - if (this.frame != null) { - var2 = this.frame.getInsets(); - GraphicsDefaults.canvasWidth -= var2.left + var2.right; - canvasHeight -= var2.bottom + var2.top; - } - - this.canvas = new Canvas(this); - var1.setBackground(Color.BLACK); - var1.setLayout((LayoutManager)null); - var1.add(this.canvas); - this.canvas.setSize(GraphicsDefaults.canvasWidth, canvasHeight); - this.canvas.setVisible(true); - this.canvas.setBackground(Color.BLACK); - if (var1 == this.frame) { - var2 = this.frame.getInsets(); - this.canvas.setLocation(this.canvasX + var2.left, this.canvasY + var2.top); - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); - } - - this.canvas.addFocusListener(this); - this.canvas.requestFocus(); - this.field440 = true; - if (DevicePcmPlayerProvider.rasterProvider != null && GraphicsDefaults.canvasWidth == DevicePcmPlayerProvider.rasterProvider.width && canvasHeight == DevicePcmPlayerProvider.rasterProvider.height) { - ((RasterProvider)DevicePcmPlayerProvider.rasterProvider).setComponent(this.canvas); - DevicePcmPlayerProvider.rasterProvider.drawFull(0, 0); - } else { - DevicePcmPlayerProvider.rasterProvider = new RasterProvider(GraphicsDefaults.canvasWidth, canvasHeight, this.canvas); - } - - this.isCanvasInvalid = false; - this.field444 = SoundCache.method2480(); - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1396106184" - ) - @Export("checkHost") - protected final boolean checkHost() { - String var1 = this.getDocumentBase().getHost().toLowerCase(); - if (!var1.equals("jagex.com") && !var1.endsWith(".jagex.com")) { - if (!var1.equals("runescape.com") && !var1.endsWith(".runescape.com")) { - if (var1.endsWith("127.0.0.1")) { - return true; - } else { - while (var1.length() > 0 && var1.charAt(var1.length() - 1) >= '0' && var1.charAt(var1.length() - 1) <= '9') { - var1 = var1.substring(0, var1.length() - 1); - } - - if (var1.endsWith("192.168.1.")) { - return true; - } else { - this.error("invalidhost"); - return false; - } - } - } else { - return true; - } - } else { - return true; - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "731379125" - ) - void method1016() { - long var1 = SoundCache.method2480(); - long var3 = field418[Username.field3594]; - field418[Username.field3594] = var1; - Username.field3594 = Username.field3594 + 1 & 31; - if (var3 != 0L && var1 > var3) { - } - - synchronized(this) { - PendingSpawn.hasFocus = volatileFocus; - } - - this.doCycle(); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "39" - ) - void method900() { - Container var1 = this.container(); - long var2 = SoundCache.method2480(); - long var4 = field427[class185.field2306]; - field427[class185.field2306] = var2; - class185.field2306 = class185.field2306 + 1 & 31; - if (0L != var4 && var2 > var4) { - int var6 = (int)(var2 - var4); - fps = ((var6 >> 1) + 32000) / var6; - } - - if (++field441 - 1 > 50) { - field441 -= 50; - this.field440 = true; - this.canvas.setSize(GraphicsDefaults.canvasWidth, canvasHeight); - this.canvas.setVisible(true); - if (var1 == this.frame) { - Insets var7 = this.frame.getInsets(); - this.canvas.setLocation(var7.left + this.canvasX, var7.top + this.canvasY); - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); - } - } - - if (this.isCanvasInvalid) { - this.replaceCanvas(); - } - - this.method901(); - this.draw(this.field440); - if (this.field440) { - this.clearBackground(); - } - - this.field440 = false; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "22" - ) - final void method901() { - Bounds var1 = this.getFrameContentBounds(); - if (this.contentWidth != var1.highX || this.contentHeight != var1.highY || this.resizeCanvasNextFrame) { - this.resizeCanvas(); - this.resizeCanvasNextFrame = false; - } - - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "30" - ) - final void method909() { - this.resizeCanvasNextFrame = true; - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "591639772" - ) - @Export("kill") - final synchronized void kill() { - if (!isKilled) { - isKilled = true; - - try { - this.canvas.removeFocusListener(this); - } catch (Exception var5) { - } - - try { - this.kill0(); - } catch (Exception var4) { - } - - if (this.frame != null) { - try { - System.exit(0); - } catch (Throwable var3) { - } - } - - if (taskHandler != null) { - try { - taskHandler.close(); - } catch (Exception var2) { - } - } - - this.vmethod1248(); - } - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "77" - ) - @Export("setUp") - protected abstract void setUp(); - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2117082118" - ) - @Export("doCycle") - protected abstract void doCycle(); - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-2055189627" - ) - @Export("draw") - protected abstract void draw(boolean var1); - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "890859408" - ) - @Export("kill0") - protected abstract void kill0(); - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;ZB)V", - garbageValue = "-82" - ) - @Export("drawInitial") - protected final void drawInitial(int var1, String var2, boolean var3) { - try { - Graphics var4 = this.canvas.getGraphics(); - if (class51.fontHelvetica13 == null) { - class51.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13); - KeyHandler.loginScreenFontMetrics = this.canvas.getFontMetrics(class51.fontHelvetica13); - } - - if (var3) { - var4.setColor(Color.black); - var4.fillRect(0, 0, GraphicsDefaults.canvasWidth, canvasHeight); - } - - Color var5 = new Color(140, 17, 17); - - try { - if (class42.field358 == null) { - class42.field358 = this.canvas.createImage(304, 34); - } - - Graphics var6 = class42.field358.getGraphics(); - var6.setColor(var5); - var6.drawRect(0, 0, 303, 33); - var6.fillRect(2, 2, var1 * 3, 30); - var6.setColor(Color.black); - var6.drawRect(1, 1, 301, 31); - var6.fillRect(var1 * 3 + 2, 2, 300 - var1 * 3, 30); - var6.setFont(class51.fontHelvetica13); - var6.setColor(Color.white); - var6.drawString(var2, (304 - KeyHandler.loginScreenFontMetrics.stringWidth(var2)) / 2, 22); - var4.drawImage(class42.field358, GraphicsDefaults.canvasWidth / 2 - 152, canvasHeight / 2 - 18, (ImageObserver)null); - } catch (Exception var9) { - int var7 = GraphicsDefaults.canvasWidth / 2 - 152; - int var8 = canvasHeight / 2 - 18; - var4.setColor(var5); - var4.drawRect(var7, var8, 303, 33); - var4.fillRect(var7 + 2, var8 + 2, var1 * 3, 30); - var4.setColor(Color.black); - var4.drawRect(var7 + 1, var8 + 1, 301, 31); - var4.fillRect(var7 + var1 * 3 + 2, var8 + 2, 300 - var1 * 3, 30); - var4.setFont(class51.fontHelvetica13); - var4.setColor(Color.white); - var4.drawString(var2, var7 + (304 - KeyHandler.loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22); - } - } catch (Exception var10) { - this.canvas.repaint(); - } - - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1405214029" - ) - protected final void method915() { - class42.field358 = null; - class51.fontHelvetica13 = null; - KeyHandler.loginScreenFontMetrics = null; - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "1941506741" - ) - @Export("error") - protected void error(String var1) { - if (!this.hasErrored) { - this.hasErrored = true; - System.out.println("error_game_" + var1); - - try { - this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self"); - } catch (Exception var3) { - } - - } - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(I)Ljava/awt/Container;", - garbageValue = "1795602674" - ) - @Export("container") - Container container() { - return (Container)(this.frame != null ? this.frame : this); - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(I)Llr;", - garbageValue = "-894568011" - ) - @Export("getFrameContentBounds") - Bounds getFrameContentBounds() { - Container var1 = this.container(); - int var2 = Math.max(var1.getWidth(), this.field435); - int var3 = Math.max(var1.getHeight(), this.field428); - if (this.frame != null) { - Insets var4 = this.frame.getInsets(); - var2 -= var4.left + var4.right; - var3 -= var4.bottom + var4.top; - } - - return new Bounds(var2, var3); - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(S)Z", - garbageValue = "219" - ) - @Export("hasFrame") - protected final boolean hasFrame() { - return this.frame != null; - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "792262956" - ) - protected abstract void vmethod1248(); - - public final synchronized void paint(Graphics var1) { - if (this == gameShell && !isKilled) { - this.field440 = true; - if (SoundCache.method2480() - this.field444 > 1000L) { - Rectangle var2 = var1.getClipBounds(); - if (var2 == null || var2.width >= GraphicsDefaults.canvasWidth && var2.height >= canvasHeight) { - this.isCanvasInvalid = true; - } - } - - } - } - - public final void destroy() { - if (this == gameShell && !isKilled) { - stopTimeMs = SoundCache.method2480(); - FriendsList.sleepMillis(5000L); - this.kill(); - } - } - - public final void focusLost(FocusEvent var1) { - volatileFocus = false; - } - - public void run() { - try { - if (TaskHandler.javaVendor != null) { - String var1 = TaskHandler.javaVendor.toLowerCase(); - if (var1.indexOf("sun") != -1 || var1.indexOf("apple") != -1) { - String var2 = TaskHandler.javaVersion; - if (var2.equals("1.1") || var2.startsWith("1.1.") || var2.equals("1.2") || var2.startsWith("1.2.") || var2.equals("1.3") || var2.startsWith("1.3.") || var2.equals("1.4") || var2.startsWith("1.4.") || var2.equals("1.5") || var2.startsWith("1.5.") || var2.equals("1.6.0")) { - this.error("wrongjava"); - return; - } - - if (var2.startsWith("1.6.0_")) { - int var3; - for (var3 = 6; var3 < var2.length() && Actor.isDigit(var2.charAt(var3)); ++var3) { - } - - String var4 = var2.substring(6, var3); - if (DynamicObject.isNumber(var4) && IgnoreList.parseInt(var4) < 10) { - this.error("wrongjava"); - return; - } - } - - fiveOrOne = 5; - } - } - - this.setFocusCycleRoot(true); - this.addCanvas(); - this.setUp(); - FriendSystem.clock = UserComparator6.newClock(); - - while (stopTimeMs == 0L || SoundCache.method2480() < stopTimeMs) { - field423 = FriendSystem.clock.wait(cycleDurationMillis, fiveOrOne); - - for (int var5 = 0; var5 < field423; ++var5) { - this.method1016(); - } - - this.method900(); - this.post(this.canvas); - } - } catch (Exception var6) { - class188.RunException_sendStackTrace((String)null, var6); - this.error("crash"); - } - - this.kill(); - } - - public final void start() { - if (this == gameShell && !isKilled) { - stopTimeMs = 0L; - } - } - - public final void update(Graphics var1) { - this.paint(var1); - } - - public final void focusGained(FocusEvent var1) { - volatileFocus = true; - this.field440 = true; - } - - public final void windowClosing(WindowEvent var1) { - this.destroy(); - } - - public final void windowDeiconified(WindowEvent var1) { - } - - public final void windowIconified(WindowEvent var1) { - } - - public abstract void init(); - - public final void stop() { - if (this == gameShell && !isKilled) { - stopTimeMs = SoundCache.method2480() + 4000L; - } - } - - public final void windowOpened(WindowEvent var1) { - } - - public final void windowClosed(WindowEvent var1) { - } - - public final void windowActivated(WindowEvent var1) { - } - - public final void windowDeactivated(WindowEvent var1) { - } - - @ObfuscatedName("x") - public static double method1020(double var0, double var2, double var4) { - return ObjectDefinition.method4645((var0 - var2) / var4) / var4; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lbs;II)V", - garbageValue = "116530330" - ) - @Export("runScript") - static void runScript(ScriptEvent var0, int var1) { - Object[] var2 = var0.args; - Script var3; - int var17; - if (Calendar.isWorldMapEvent(var0.type)) { - class32.worldMapEvent = (WorldMapEvent)var2[0]; - WorldMapElement var4 = WorldMapSection1.WorldMapElement_get(class32.worldMapEvent.mapElement); - var3 = PlayerAppearance.getWorldMapScript(var0.type, var4.objectId, var4.category); - } else { - var17 = (Integer)var2[0]; - var3 = Tiles.getScript(var17); - } - - if (var3 != null) { - class160.Interpreter_intStackSize = 0; - TextureProvider.Interpreter_stringStackSize = 0; - var17 = -1; - int[] var5 = var3.opcodes; - int[] var6 = var3.intOperands; - byte var7 = -1; - Interpreter.Interpreter_frameDepth = 0; - Interpreter.field1067 = false; - - try { - int var10; - try { - Interpreter.Interpreter_intLocals = new int[var3.localIntCount]; - int var8 = 0; - class14.Interpreter_stringLocals = new String[var3.localStringCount]; - int var9 = 0; - - int var11; - String var18; - for (var10 = 1; var10 < var2.length; ++var10) { - if (var2[var10] instanceof Integer) { - var11 = (Integer)var2[var10]; - if (var11 == -2147483647) { - var11 = var0.mouseX; - } - - if (var11 == -2147483646) { - var11 = var0.mouseY; - } - - if (var11 == -2147483645) { - var11 = var0.widget != null ? var0.widget.id : -1; - } - - if (var11 == -2147483644) { - var11 = var0.opIndex; - } - - if (var11 == -2147483643) { - var11 = var0.widget != null ? var0.widget.childIndex : -1; - } - - if (var11 == -2147483642) { - var11 = var0.dragTarget != null ? var0.dragTarget.id : -1; - } - - if (var11 == -2147483641) { - var11 = var0.dragTarget != null ? var0.dragTarget.childIndex : -1; - } - - if (var11 == -2147483640) { - var11 = var0.keyTyped; - } - - if (var11 == -2147483639) { - var11 = var0.keyPressed; - } - - Interpreter.Interpreter_intLocals[var8++] = var11; - } else if (var2[var10] instanceof String) { - var18 = (String)var2[var10]; - if (var18.equals("event_opbase")) { - var18 = var0.targetName; - } - - class14.Interpreter_stringLocals[var9++] = var18; - } - } - - var10 = 0; - Interpreter.field1066 = var0.field550; - - while (true) { - ++var10; - if (var10 > var1) { - throw new RuntimeException(); - } - - ++var17; - int var29 = var5[var17]; - int var20; - if (var29 >= 100) { - boolean var32; - if (var3.intOperands[var17] == 1) { - var32 = true; - } else { - var32 = false; - } - - var20 = WorldMapAreaData.method670(var29, var3, var32); - switch(var20) { - case 0: - return; - case 1: - default: - break; - case 2: - throw new IllegalStateException(); - } - } else if (var29 == ScriptOpcodes.ICONST) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6[var17]; - } else if (var29 == ScriptOpcodes.GET_VARP) { - var11 = var6[var17]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Varps.Varps_main[var11]; - } else if (var29 == ScriptOpcodes.SET_VARP) { - var11 = var6[var17]; - Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Players.method2123(var11); - } else if (var29 == ScriptOpcodes.SCONST) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.stringOperands[var17]; - } else if (var29 == ScriptOpcodes.JUMP) { - var17 += var6[var17]; - } else if (var29 == ScriptOpcodes.IF_ICMPNE) { - class160.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPEQ) { - class160.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPLT) { - class160.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPGT) { - class160.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.RETURN) { - if (Interpreter.Interpreter_frameDepth == 0) { - return; - } - - ScriptFrame var34 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; - var3 = var34.script; - var5 = var3.opcodes; - var6 = var3.intOperands; - var17 = var34.pc; - Interpreter.Interpreter_intLocals = var34.intLocals; - class14.Interpreter_stringLocals = var34.stringLocals; - } else if (var29 == ScriptOpcodes.GET_VARBIT) { - var11 = var6[var17]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = WorldMapCacheName.getVarbit(var11); - } else if (var29 == ScriptOpcodes.SET_VARBIT) { - var11 = var6[var17]; - WorldMapData_1.method703(var11, Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - } else if (var29 == ScriptOpcodes.IF_ICMPLE) { - class160.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPGE) { - class160.Interpreter_intStackSize -= 2; - if (Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]) { - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.ILOAD) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Interpreter.Interpreter_intLocals[var6[var17]]; - } else if (var29 == ScriptOpcodes.ISTORE) { - Interpreter.Interpreter_intLocals[var6[var17]] = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - } else if (var29 == ScriptOpcodes.SLOAD) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = class14.Interpreter_stringLocals[var6[var17]]; - } else if (var29 == ScriptOpcodes.SSTORE) { - class14.Interpreter_stringLocals[var6[var17]] = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - } else if (var29 == ScriptOpcodes.JOIN_STRING) { - var11 = var6[var17]; - TextureProvider.Interpreter_stringStackSize -= var11; - String var31 = WorldMapRegion.method515(Interpreter.Interpreter_stringStack, TextureProvider.Interpreter_stringStackSize, var11); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var31; - } else if (var29 == ScriptOpcodes.POP_INT) { - --class160.Interpreter_intStackSize; - } else if (var29 == ScriptOpcodes.POP_STRING) { - --TextureProvider.Interpreter_stringStackSize; - } else { - int var15; - if (var29 != ScriptOpcodes.INVOKE) { - if (var29 == ScriptOpcodes.GET_VARC_INT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = BoundaryObject.varcs.getInt(var6[var17]); - } else if (var29 == ScriptOpcodes.SET_VARC_INT) { - BoundaryObject.varcs.setInt(var6[var17], Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - } else if (var29 == ScriptOpcodes.DEFINE_ARRAY) { - var11 = var6[var17] >> 16; - var20 = var6[var17] & 65535; - int var21 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var21 < 0 || var21 > 5000) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrayLengths[var11] = var21; - byte var22 = -1; - if (var20 == 105) { - var22 = 0; - } - - for (var15 = 0; var15 < var21; ++var15) { - Interpreter.Interpreter_arrays[var11][var15] = var22; - } - } else if (var29 == ScriptOpcodes.GET_ARRAY_INT) { - var11 = var6[var17]; - var20 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var11][var20]; - } else if (var29 == ScriptOpcodes.SET_ARRAY_INT) { - var11 = var6[var17]; - class160.Interpreter_intStackSize -= 2; - var20 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { - throw new RuntimeException(); - } - - Interpreter.Interpreter_arrays[var11][var20] = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - } else if (var29 == ScriptOpcodes.GET_VARC_STRING_OLD) { - var18 = BoundaryObject.varcs.getStringOld(var6[var17]); - if (var18 == null) { - var18 = "null"; - } - - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var18; - } else if (var29 == ScriptOpcodes.SET_VARC_STRING_OLD) { - BoundaryObject.varcs.setStringOld(var6[var17], Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]); - } else if (var29 == ScriptOpcodes.GET_VARC_STRING) { - var18 = BoundaryObject.varcs.getString(var6[var17]); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var18; - } else if (var29 == ScriptOpcodes.SET_VARC_STRING) { - BoundaryObject.varcs.setString(var6[var17], Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]); - } else { - if (var29 != ScriptOpcodes.SWITCH) { - throw new IllegalStateException(); - } - - IterableNodeHashTable var33 = var3.switches[var6[var17]]; - IntegerNode var30 = (IntegerNode)var33.get((long)Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - if (var30 != null) { - var17 += var30.integer; - } - } - } else { - var11 = var6[var17]; - Script var12 = Tiles.getScript(var11); - int[] var13 = new int[var12.localIntCount]; - String[] var14 = new String[var12.localStringCount]; - - for (var15 = 0; var15 < var12.intArgumentCount; ++var15) { - var13[var15] = Interpreter.Interpreter_intStack[var15 + (class160.Interpreter_intStackSize - var12.intArgumentCount)]; - } - - for (var15 = 0; var15 < var12.stringArgumentCount; ++var15) { - var14[var15] = Interpreter.Interpreter_stringStack[var15 + (TextureProvider.Interpreter_stringStackSize - var12.stringArgumentCount)]; - } - - class160.Interpreter_intStackSize -= var12.intArgumentCount; - TextureProvider.Interpreter_stringStackSize -= var12.stringArgumentCount; - ScriptFrame var19 = new ScriptFrame(); - var19.script = var3; - var19.pc = var17; - var19.intLocals = Interpreter.Interpreter_intLocals; - var19.stringLocals = class14.Interpreter_stringLocals; - Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var19; - var3 = var12; - var5 = var12.opcodes; - var6 = var12.intOperands; - var17 = -1; - Interpreter.Interpreter_intLocals = var13; - class14.Interpreter_stringLocals = var14; - } - } - } - } catch (Exception var27) { - StringBuilder var24 = new StringBuilder(30); - var24.append("").append(var3.key).append(" "); - - for (var10 = Interpreter.Interpreter_frameDepth - 1; var10 >= 0; --var10) { - var24.append("").append(Interpreter.Interpreter_frames[var10].script.key).append(" "); - } - - var24.append("").append(var7); - class188.RunException_sendStackTrace(var24.toString(), var27); - } - } finally { - if (Interpreter.field1067) { - Interpreter.field1068 = true; - GrandExchangeEvent.method73(); - Interpreter.field1068 = false; - Interpreter.field1067 = false; - } - - } - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Lkf;Lkf;Lkf;I)V", - garbageValue = "2116870106" - ) - @Export("drawTitle") - static void drawTitle(Font var0, Font var1, Font var2) { - Login.xPadding = (GraphicsDefaults.canvasWidth - 765) / 2; - Login.loginBoxX = Login.xPadding + 202; - VarcInt.loginBoxCenter = Login.loginBoxX + 180; - int var6; - int var7; - int var10; - int var18; - byte var23; - int var24; - int var36; - int var48; - if (Login.worldSelectOpen) { - if (class162.worldSelectBackSprites == null) { - Archive var35 = WorldMapDecoration.archive8; - var36 = var35.getGroupId("sl_back"); - var6 = var35.getFileId(var36, ""); - Sprite[] var34 = PendingSpawn.SpriteBuffer_getSpriteArray(var35, var36, var6); - class162.worldSelectBackSprites = var34; - } - - if (PlayerType.worldSelectFlagSprites == null) { - PlayerType.worldSelectFlagSprites = GrandExchangeOfferNameComparator.method122(WorldMapDecoration.archive8, "sl_flags", ""); - } - - if (FileSystem.worldSelectArrows == null) { - FileSystem.worldSelectArrows = GrandExchangeOfferNameComparator.method122(WorldMapDecoration.archive8, "sl_arrows", ""); - } - - if (class226.worldSelectStars == null) { - class226.worldSelectStars = GrandExchangeOfferNameComparator.method122(WorldMapDecoration.archive8, "sl_stars", ""); - } - - if (class2.worldSelectLeftSprite == null) { - class2.worldSelectLeftSprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(WorldMapDecoration.archive8, "leftarrow", ""); - } - - if (WorldMapRectangle.worldSelectRightSprite == null) { - WorldMapRectangle.worldSelectRightSprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(WorldMapDecoration.archive8, "rightarrow", ""); - } - - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 12425273, 9135624); - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 5197647, 2697513); - var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); - if (class226.worldSelectStars != null) { - class226.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); - var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); - class226.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); - var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); - } - - if (FileSystem.worldSelectArrows != null) { - var48 = Login.xPadding + 280; - if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { - FileSystem.worldSelectArrows[2].drawAt(var48, 4); - } else { - FileSystem.worldSelectArrows[0].drawAt(var48, 4); - } - - if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 1) { - FileSystem.worldSelectArrows[3].drawAt(var48 + 15, 4); - } else { - FileSystem.worldSelectArrows[1].drawAt(var48 + 15, 4); - } - - var0.draw("World", var48 + 32, 17, 16777215, -1); - var24 = Login.xPadding + 390; - if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { - FileSystem.worldSelectArrows[2].drawAt(var24, 4); - } else { - FileSystem.worldSelectArrows[0].drawAt(var24, 4); - } - - if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 1) { - FileSystem.worldSelectArrows[3].drawAt(var24 + 15, 4); - } else { - FileSystem.worldSelectArrows[1].drawAt(var24 + 15, 4); - } - - var0.draw("Players", var24 + 32, 17, 16777215, -1); - var36 = Login.xPadding + 500; - if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { - FileSystem.worldSelectArrows[2].drawAt(var36, 4); - } else { - FileSystem.worldSelectArrows[0].drawAt(var36, 4); - } - - if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 1) { - FileSystem.worldSelectArrows[3].drawAt(var36 + 15, 4); - } else { - FileSystem.worldSelectArrows[1].drawAt(var36 + 15, 4); - } - - var0.draw("Location", var36 + 32, 17, 16777215, -1); - var6 = Login.xPadding + 610; - if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { - FileSystem.worldSelectArrows[2].drawAt(var6, 4); - } else { - FileSystem.worldSelectArrows[0].drawAt(var6, 4); - } - - if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 1) { - FileSystem.worldSelectArrows[3].drawAt(var6 + 15, 4); - } else { - FileSystem.worldSelectArrows[1].drawAt(var6 + 15, 4); - } - - var0.draw("Type", var6 + 32, 17, 16777215, -1); - } - - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); - var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); - Login.hoveredWorldIndex = -1; - if (class162.worldSelectBackSprites != null) { - var23 = 88; - byte var51 = 19; - var36 = 765 / (var23 + 1) - 1; - var6 = 480 / (var51 + 1); - - int var40; - do { - var7 = var6; - var40 = var36; - if (var6 * (var36 - 1) >= World.World_count) { - --var36; - } - - if (var36 * (var6 - 1) >= World.World_count) { - --var6; - } - - if (var36 * (var6 - 1) >= World.World_count) { - --var6; - } - } while(var7 != var6 || var36 != var40); - - var7 = (765 - var23 * var36) / (var36 + 1); - if (var7 > 5) { - var7 = 5; - } - - var40 = (480 - var51 * var6) / (var6 + 1); - if (var40 > 5) { - var40 = 5; - } - - int var9 = (765 - var23 * var36 - var7 * (var36 - 1)) / 2; - var10 = (480 - var51 * var6 - var40 * (var6 - 1)) / 2; - int var11 = (var6 + World.World_count - 1) / var6; - Login.worldSelectPagesCount = var11 - var36; - if (class2.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { - class2.worldSelectLeftSprite.drawAt(8, canvasHeight / 2 - class2.worldSelectLeftSprite.subHeight / 2); - } - - if (WorldMapRectangle.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { - WorldMapRectangle.worldSelectRightSprite.drawAt(GraphicsDefaults.canvasWidth - WorldMapRectangle.worldSelectRightSprite.subWidth - 8, canvasHeight / 2 - WorldMapRectangle.worldSelectRightSprite.subHeight / 2); - } - - int var41 = var10 + 23; - int var42 = var9 + Login.xPadding; - int var31 = 0; - boolean var32 = false; - int var43 = Login.worldSelectPage; - - int var44; - for (var44 = var6 * var43; var44 < World.World_count && var43 - Login.worldSelectPage < var36; ++var44) { - World var33 = World.World_worlds[var44]; - boolean var45 = true; - String var20 = Integer.toString(var33.population); - if (var33.population == -1) { - var20 = "OFF"; - var45 = false; - } else if (var33.population > 1980) { - var20 = "FULL"; - var45 = false; - } - - int var22 = 0; - byte var21; - if (var33.isBeta()) { - if (var33.isMembersOnly()) { - var21 = 7; - } else { - var21 = 6; - } - } else if (var33.isDeadman()) { - var22 = 16711680; - if (var33.isMembersOnly()) { - var21 = 5; - } else { - var21 = 4; - } - } else if (var33.isPvp()) { - if (var33.isMembersOnly()) { - var21 = 3; - } else { - var21 = 2; - } - } else if (var33.isMembersOnly()) { - var21 = 1; - } else { - var21 = 0; - } - - if (MouseHandler.MouseHandler_x >= var42 && MouseHandler.MouseHandler_y >= var41 && MouseHandler.MouseHandler_x < var23 + var42 && MouseHandler.MouseHandler_y < var41 + var51 && var45) { - Login.hoveredWorldIndex = var44; - class162.worldSelectBackSprites[var21].drawTransOverlayAt(var42, var41, 128, 16777215); - var32 = true; - } else { - class162.worldSelectBackSprites[var21].drawAt(var42, var41); - } - - if (PlayerType.worldSelectFlagSprites != null) { - PlayerType.worldSelectFlagSprites[(var33.isMembersOnly() ? 8 : 0) + var33.location].drawAt(var42 + 29, var41); - } - - var0.drawCentered(Integer.toString(var33.id), var42 + 15, var51 / 2 + var41 + 5, var22, -1); - var1.drawCentered(var20, var42 + 60, var51 / 2 + var41 + 5, 268435455, -1); - var41 = var41 + var40 + var51; - ++var31; - if (var31 >= var6) { - var41 = var10 + 23; - var42 = var42 + var7 + var23; - var31 = 0; - ++var43; - } - } - - if (var32) { - var44 = var1.stringWidth(World.World_worlds[Login.hoveredWorldIndex].activity) + 6; - var18 = var1.ascent + 8; - int var46 = MouseHandler.MouseHandler_y + 25; - if (var46 + var18 > 480) { - var46 = MouseHandler.MouseHandler_y - 25 - var18; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var44 / 2, var46, var44, var18, 16777120); - Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var44 / 2, var46, var44, var18, 0); - var1.drawCentered(World.World_worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var46 + var1.ascent + 4, 0, -1); - } - } - - DevicePcmPlayerProvider.rasterProvider.drawFull(0, 0); - } else { - Login.leftTitleSprite.drawAt(Login.xPadding, 0); - class191.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - HealthBar.logoSprite.drawAt(Login.xPadding + 382 - HealthBar.logoSprite.subWidth / 2, 18); - if (Client.gameState == 0 || Client.gameState == 5) { - var23 = 20; - var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var23, 16777215, -1); - var24 = 253 - var23; - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var24, 304, 34, 9179409); - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var24 + 1, 302, 32, 0); - Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var24 + 2, Login.Login_loadingPercent * 3, 30, 9179409); - Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150 + Login.Login_loadingPercent * 3, var24 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0); - var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var23, 16777215, -1); - } - - String var25; - short var47; - short var49; - if (Client.gameState == 20) { - Login.titleboxSprite.drawAt(Login.loginBoxX + 180 - Login.titleboxSprite.subWidth / 2, 271 - Login.titleboxSprite.subHeight / 2); - var47 = 201; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var48 += 7; - if (Login.loginIndex != 4) { - var0.draw("Login: ", Login.loginBoxX + 180 - 110, var48, 16777215, 0); - var49 = 200; - - for (var25 = VerticalAlignment.method4328(); var0.stringWidth(var25) > var49; var25 = var25.substring(0, var25.length() - 1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var25), Login.loginBoxX + 180 - 70, var48, 16777215, 0); - var48 += 15; - var0.draw("Password: " + TextureProvider.method2727(Login.Login_password), Login.loginBoxX + 180 - 108, var48, 16777215, 0); - var48 += 15; - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { - Login.titleboxSprite.drawAt(Login.loginBoxX, 171); - short var5; - if (Login.loginIndex == 0) { - var47 = 251; - var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 30; - var24 = Login.loginBoxX + 180 - 80; - var5 = 291; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawLines("New User", var24 - 73, var5 - 20, 144, 40, 16777215, 0, 1, 1, 0); - var24 = Login.loginBoxX + 180 + 80; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawLines("Existing User", var24 - 73, var5 - 20, 144, 40, 16777215, 0, 1, 1, 0); - } else if (Login.loginIndex == 1) { - var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0); - var47 = 236; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var47, 16777215, 0); - var48 = var47 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var48, 16777215, 0); - var48 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var48, 16777215, 0); - var48 += 15; - var24 = Login.loginBoxX + 180 - 80; - var5 = 321; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Continue", var24, var5 + 5, 16777215, 0); - var24 = Login.loginBoxX + 180 + 80; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Cancel", var24, var5 + 5, 16777215, 0); - } else if (Login.loginIndex == 2) { - var47 = 201; - var0.drawCentered(Login.Login_response1, VarcInt.loginBoxCenter, var47, 16776960, 0); - var48 = var47 + 15; - var0.drawCentered(Login.Login_response2, VarcInt.loginBoxCenter, var48, 16776960, 0); - var48 += 15; - var0.drawCentered(Login.Login_response3, VarcInt.loginBoxCenter, var48, 16776960, 0); - var48 += 15; - var48 += 7; - var0.draw("Login: ", VarcInt.loginBoxCenter - 110, var48, 16777215, 0); - var49 = 200; - - for (var25 = VerticalAlignment.method4328(); var0.stringWidth(var25) > var49; var25 = var25.substring(1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var25) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? UserComparator7.colorStartTag(16776960) + "|" : ""), VarcInt.loginBoxCenter - 70, var48, 16777215, 0); - var48 += 15; - String var27 = "Password: "; - String var28 = Login.Login_password; - String var29 = HealthBarDefinition.method4481('*', var28.length()); - var0.draw(var27 + var29 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? UserComparator7.colorStartTag(16776960) + "|" : ""), VarcInt.loginBoxCenter - 108, var48, 16777215, 0); - var48 += 15; - var47 = 277; - var10 = VarcInt.loginBoxCenter + -117; - boolean var12 = Client.Login_isUsernameRemembered; - boolean var13 = Login.field1169; - IndexedSprite var30 = var12 ? (var13 ? WorldMapDecoration.field202 : Login.options_buttons_2Sprite) : (var13 ? Login.field1153 : GrandExchangeOfferWorldComparator.options_buttons_0Sprite); - var30.drawAt(var10, var47); - var10 = var10 + var30.subWidth + 5; - var1.draw("Remember username", var10, var47 + 13, 16776960, 0); - var10 = VarcInt.loginBoxCenter + 24; - boolean var16 = Actor.clientPreferences.hideUsername; - boolean var17 = Login.field1170; - IndexedSprite var15 = var16 ? (var17 ? WorldMapDecoration.field202 : Login.options_buttons_2Sprite) : (var17 ? Login.field1153 : GrandExchangeOfferWorldComparator.options_buttons_0Sprite); - var15.drawAt(var10, var47); - var10 = var10 + var15.subWidth + 5; - var1.draw("Hide username", var10, var47 + 13, 16776960, 0); - var48 = var47 + 15; - var18 = VarcInt.loginBoxCenter - 80; - short var19 = 321; - class191.titlebuttonSprite.drawAt(var18 - 73, var19 - 20); - var0.drawCentered("Login", var18, var19 + 5, 16777215, 0); - var18 = VarcInt.loginBoxCenter + 80; - class191.titlebuttonSprite.drawAt(var18 - 73, var19 - 20); - var0.drawCentered("Cancel", var18, var19 + 5, 16777215, 0); - var47 = 357; - switch(Login.field1161) { - case 2: - class51.field405 = "Having trouble logging in?"; - break; - default: - class51.field405 = "Can't login? Click here."; - } - - MusicPatchNode2.field2369 = new Bounds(VarcInt.loginBoxCenter, var47, var1.stringWidth(class51.field405), 11); - class51.field411 = new Bounds(VarcInt.loginBoxCenter, var47, var1.stringWidth("Still having trouble logging in?"), 11); - var1.drawCentered(class51.field405, VarcInt.loginBoxCenter, var47, 16777215, 0); - } else if (Login.loginIndex == 3) { - var47 = 201; - var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 20; - var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var24 = Login.loginBoxX + 180; - var5 = 276; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var2.drawCentered("Try again", var24, var5 + 5, 16777215, 0); - var24 = Login.loginBoxX + 180; - var5 = 326; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var2.drawCentered("Forgotten password?", var24, var5 + 5, 16777215, 0); - } else { - short var8; - if (Login.loginIndex == 4) { - var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0); - var47 = 236; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var47, 16777215, 0); - var48 = var47 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var48, 16777215, 0); - var48 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var48, 16777215, 0); - var48 += 15; - var0.draw("PIN: " + TextureProvider.method2727(class81.otp) + (Client.cycle % 40 < 20 ? UserComparator7.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var48, 16777215, 0); - var48 -= 8; - var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var48, 16776960, 0); - var48 += 15; - var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var48, 16776960, 0); - var24 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15; - var36 = var48 - var0.ascent; - IndexedSprite var26; - if (Login.field1183) { - var26 = Login.options_buttons_2Sprite; - } else { - var26 = GrandExchangeOfferWorldComparator.options_buttons_0Sprite; - } - - var26.drawAt(var24, var36); - var48 += 15; - var7 = Login.loginBoxX + 180 - 80; - var8 = 321; - class191.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Continue", var7, var8 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180 + 80; - class191.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Cancel", var7, var8 + 5, 16777215, 0); - var1.drawCentered("Can't Log In?", Login.loginBoxX + 180, var8 + 36, 255, 0); - } else if (Login.loginIndex == 5) { - var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0); - var47 = 221; - var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 15; - var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var48 += 14; - var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var48, 16777215, 0); - var49 = 174; - - for (var25 = VerticalAlignment.method4328(); var0.stringWidth(var25) > var49; var25 = var25.substring(1)) { - } - - var0.draw(AbstractFont.escapeBrackets(var25) + (Client.cycle % 40 < 20 ? UserComparator7.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var48, 16777215, 0); - var48 += 15; - var6 = Login.loginBoxX + 180 - 80; - short var38 = 321; - class191.titlebuttonSprite.drawAt(var6 - 73, var38 - 20); - var0.drawCentered("Recover", var6, var38 + 5, 16777215, 0); - var6 = Login.loginBoxX + 180 + 80; - class191.titlebuttonSprite.drawAt(var6 - 73, var38 - 20); - var0.drawCentered("Back", var6, var38 + 5, 16777215, 0); - var38 = 356; - var1.drawCentered("Still having trouble logging in?", VarcInt.loginBoxCenter, var38, 268435455, 0); - } else if (Login.loginIndex == 6) { - var47 = 201; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var24 = Login.loginBoxX + 180; - var5 = 321; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Back", var24, var5 + 5, 16777215, 0); - } else if (Login.loginIndex == 7) { - var47 = 216; - var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 15; - var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var24 = Login.loginBoxX + 180 - 80; - var5 = 321; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Set Date of Birth", var24, var5 + 5, 16777215, 0); - var24 = Login.loginBoxX + 180 + 80; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Back", var24, var5 + 5, 16777215, 0); - } else if (Login.loginIndex == 8) { - var47 = 216; - var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 15; - var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var24 = Login.loginBoxX + 180 - 80; - var5 = 321; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Privacy Policy", var24, var5 + 5, 16777215, 0); - var24 = Login.loginBoxX + 180 + 80; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Back", var24, var5 + 5, 16777215, 0); - } else if (Login.loginIndex == 12) { - var47 = 201; - String var4 = ""; - var25 = ""; - String var50 = ""; - switch(Login.field1156) { - case 0: - var4 = "Your account has been disabled."; - var25 = Strings.field2863; - var50 = ""; - break; - case 1: - var4 = "Account locked as we suspect it has been stolen."; - var25 = Strings.field3016; - var50 = ""; - break; - default: - WorldMapID.method520(false); - } - - var0.drawCentered(var4, Login.loginBoxX + 180, var47, 16776960, 0); - var48 = var47 + 15; - var2.drawCentered(var25, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var2.drawCentered(var50, Login.loginBoxX + 180, var48, 16776960, 0); - var48 += 15; - var7 = Login.loginBoxX + 180; - var8 = 276; - class191.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Support Page", var7, var8 + 5, 16777215, 0); - var7 = Login.loginBoxX + 180; - var8 = 326; - class191.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); - var0.drawCentered("Back", var7, var8 + 5, 16777215, 0); - } else if (Login.loginIndex == 24) { - var47 = 221; - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var47, 16777215, 0); - var48 = var47 + 15; - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var48, 16777215, 0); - var48 += 15; - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var48, 16777215, 0); - var48 += 15; - var24 = Login.loginBoxX + 180; - var5 = 301; - class191.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); - var0.drawCentered("Ok", var24, var5 + 5, 16777215, 0); - } - } - } - - if (Client.gameState >= 10) { - int[] var3 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var3); - Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, canvasHeight); - UserComparator5.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle); - UserComparator5.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle); - Rasterizer2D.Rasterizer2D_setClipArray(var3); - } - - FileSystem.title_muteSprite[Actor.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463); - if (Client.gameState > 5 && Language.Language_EN == class43.clientLanguage) { - if (GrandExchangeOfferWorldComparator.field32 != null) { - var48 = Login.xPadding + 5; - var49 = 463; - byte var39 = 100; - byte var37 = 35; - GrandExchangeOfferWorldComparator.field32.drawAt(var48, var49); - var0.drawCentered("World" + " " + Client.worldId, var39 / 2 + var48, var37 / 2 + var49 - 2, 16777215, 0); - if (RouteStrategy.World_request != null) { - var1.drawCentered("Loading...", var39 / 2 + var48, var37 / 2 + var49 + 12, 16777215, 0); - } else { - var1.drawCentered("Click to switch", var39 / 2 + var48, var37 / 2 + var49 + 12, 16777215, 0); - } - } else { - GrandExchangeOfferWorldComparator.field32 = Interpreter.SpriteBuffer_getIndexedSpriteByName(WorldMapDecoration.archive8, "sl_button", ""); - } - } - - } - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1651164441" - ) - public static int method951(int var0) { - if (var0 > 0) { - return 1; - } else { - return var0 < 0 ? -1 : 0; - } - } -} +import java.applet.Applet; +import java.awt.Color; +import java.awt.Container; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Graphics; +import java.awt.Insets; +import java.awt.LayoutManager; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.ClipboardOwner; +import java.awt.datatransfer.StringSelection; +import java.awt.event.ActionEvent; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; +import java.awt.image.ImageObserver; +import java.net.URL; +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("bh") +@Implements("GameShell") +public abstract class GameShell extends Applet implements Runnable, FocusListener, WindowListener { + @ObfuscatedName("rx") + @ObfuscatedGetter( + intValue = 41369600 + ) + static int field455; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfm;" + ) + @Export("taskHandler") + protected static TaskHandler taskHandler; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lbh;" + ) + @Export("gameShell") + static GameShell gameShell; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1510935923 + ) + @Export("GameShell_redundantStartThreadCount") + static int GameShell_redundantStartThreadCount; + @ObfuscatedName("u") + @ObfuscatedGetter( + longValue = -6691432732698375703L + ) + @Export("stopTimeMs") + static long stopTimeMs; + @ObfuscatedName("r") + @Export("isKilled") + static boolean isKilled; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1528666585 + ) + static int field419; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1545406367 + ) + @Export("cycleDurationMillis") + static int cycleDurationMillis; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1198168777 + ) + @Export("fiveOrOne") + static int fiveOrOne; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1818100921 + ) + @Export("fps") + protected static int fps; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lfz;" + ) + @Export("clock") + static Clock clock; + @ObfuscatedName("a") + static long[] field430; + @ObfuscatedName("t") + static long[] field431; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -1408016773 + ) + static int field443; + @ObfuscatedName("av") + @Export("volatileFocus") + static volatile boolean volatileFocus; + @ObfuscatedName("aj") + @ObfuscatedGetter( + longValue = -3573600455328537839L + ) + @Export("garbageCollectorLastCollectionTime") + static long garbageCollectorLastCollectionTime; + @ObfuscatedName("ay") + @ObfuscatedGetter( + longValue = -7014184548821540431L + ) + @Export("garbageCollectorLastCheckTimeMs") + static long garbageCollectorLastCheckTimeMs; + @ObfuscatedName("p") + @Export("hasErrored") + boolean hasErrored; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1930363707 + ) + @Export("contentWidth") + protected int contentWidth; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1513929399 + ) + @Export("contentHeight") + protected int contentHeight; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 618502281 + ) + @Export("canvasX") + int canvasX; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -1744199249 + ) + @Export("canvasY") + int canvasY; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 2108655365 + ) + int field436; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -569680121 + ) + int field437; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -1457123993 + ) + @Export("maxCanvasWidth") + int maxCanvasWidth; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -587207601 + ) + @Export("maxCanvasHeight") + int maxCanvasHeight; + @ObfuscatedName("ar") + @Export("frame") + Frame frame; + @ObfuscatedName("ab") + @Export("canvas") + java.awt.Canvas canvas; + @ObfuscatedName("ax") + volatile boolean field420; + @ObfuscatedName("al") + @Export("resizeCanvasNextFrame") + boolean resizeCanvasNextFrame; + @ObfuscatedName("ad") + @Export("isCanvasInvalid") + volatile boolean isCanvasInvalid; + @ObfuscatedName("an") + @ObfuscatedGetter( + longValue = -4063357795447176907L + ) + volatile long field446; + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "Lav;" + ) + @Export("mouseWheelHandler") + MouseWheelHandler mouseWheelHandler; + @ObfuscatedName("am") + @Export("clipboard") + Clipboard clipboard; + @ObfuscatedName("ae") + @Export("eventQueue") + final EventQueue eventQueue; + + static { + gameShell = null; + GameShell_redundantStartThreadCount = 0; + stopTimeMs = 0L; + isKilled = false; + cycleDurationMillis = 20; + fiveOrOne = 1; + fps = 0; + field430 = new long[32]; + field431 = new long[32]; + field443 = 500; + volatileFocus = true; + garbageCollectorLastCollectionTime = -1L; + garbageCollectorLastCheckTimeMs = -1L; + } + + protected GameShell() { + this.hasErrored = false; + this.canvasX = 0; + this.canvasY = 0; + this.field420 = true; + this.resizeCanvasNextFrame = false; + this.isCanvasInvalid = false; + this.field446 = 0L; + EventQueue var1 = null; + + try { + var1 = Toolkit.getDefaultToolkit().getSystemEventQueue(); + } catch (Throwable var3) { + } + + this.eventQueue = var1; + WorldMapDecoration.method345(new DevicePcmPlayerProvider()); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1753820196" + ) + @Export("setMaxCanvasSize") + protected final void setMaxCanvasSize(int var1, int var2) { + if (this.maxCanvasWidth != var1 || var2 != this.maxCanvasHeight) { + this.method955(); + } + + this.maxCanvasWidth = var1; + this.maxCanvasHeight = var2; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;I)V", + garbageValue = "669071767" + ) + @Export("post") + final void post(Object var1) { + if (this.eventQueue != null) { + for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) { + try { + Thread.sleep(1L); + } catch (InterruptedException var4) { + } + } + + if (var1 != null) { + this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy")); + } + + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)Lft;", + garbageValue = "-133806221" + ) + @Export("mouseWheel") + protected MouseWheel mouseWheel() { + if (this.mouseWheelHandler == null) { + this.mouseWheelHandler = new MouseWheelHandler(); + this.mouseWheelHandler.addTo(this.canvas); + } + + return this.mouseWheelHandler; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2040782454" + ) + @Export("setUpClipboard") + protected void setUpClipboard() { + this.clipboard = this.getToolkit().getSystemClipboard(); + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-23270963" + ) + @Export("clipboardSetString") + protected void clipboardSetString(String var1) { + this.clipboard.setContents(new StringSelection(var1), (ClipboardOwner)null); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1635814939" + ) + @Export("setUpKeyboard") + protected final void setUpKeyboard() { + Skills.method4076(); + java.awt.Canvas var1 = this.canvas; + var1.setFocusTraversalKeysEnabled(false); + var1.addKeyListener(KeyHandler.KeyHandler_instance); + var1.addFocusListener(KeyHandler.KeyHandler_instance); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "2" + ) + @Export("setUpMouse") + protected final void setUpMouse() { + class43.method838(this.canvas); + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "684720685" + ) + @Export("resizeCanvas") + final void resizeCanvas() { + Container var1 = this.container(); + if (var1 != null) { + Bounds var2 = this.getFrameContentBounds(); + this.contentWidth = Math.max(var2.highX, this.field436); + this.contentHeight = Math.max(var2.highY, this.field437); + if (this.contentWidth <= 0) { + this.contentWidth = 1; + } + + if (this.contentHeight <= 0) { + this.contentHeight = 1; + } + + FloorDecoration.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); + WallDecoration.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); + this.canvasX = (this.contentWidth - FloorDecoration.canvasWidth) / 2; + this.canvasY = 0; + this.canvas.setSize(FloorDecoration.canvasWidth, WallDecoration.canvasHeight); + class42.rasterProvider = new RasterProvider(FloorDecoration.canvasWidth, WallDecoration.canvasHeight, this.canvas); + if (var1 == this.frame) { + Insets var3 = this.frame.getInsets(); + this.canvas.setLocation(var3.left + this.canvasX, this.canvasY + var3.top); + } else { + this.canvas.setLocation(this.canvasX, this.canvasY); + } + + this.field420 = true; + this.resizeGame(); + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2027797509" + ) + @Export("resizeGame") + protected abstract void resizeGame(); + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1270672810" + ) + @Export("clearBackground") + void clearBackground() { + int var1 = this.canvasX; + int var2 = this.canvasY; + int var3 = this.contentWidth - FloorDecoration.canvasWidth - var1; + int var4 = this.contentHeight - WallDecoration.canvasHeight - var2; + if (var1 > 0 || var3 > 0 || var2 > 0 || var4 > 0) { + try { + Container var5 = this.container(); + int var6 = 0; + int var7 = 0; + if (var5 == this.frame) { + Insets var8 = this.frame.getInsets(); + var6 = var8.left; + var7 = var8.top; + } + + Graphics var10 = var5.getGraphics(); + var10.setColor(Color.black); + if (var1 > 0) { + var10.fillRect(var6, var7, var1, this.contentHeight); + } + + if (var2 > 0) { + var10.fillRect(var6, var7, this.contentWidth, var2); + } + + if (var3 > 0) { + var10.fillRect(var6 + this.contentWidth - var3, var7, var3, this.contentHeight); + } + + if (var4 > 0) { + var10.fillRect(var6, var7 + this.contentHeight - var4, this.contentWidth, var4); + } + } catch (Exception var9) { + } + } + + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "147" + ) + @Export("replaceCanvas") + final void replaceCanvas() { + class83.method2065(this.canvas); + CollisionMap.method3538(this.canvas); + if (this.mouseWheelHandler != null) { + this.mouseWheelHandler.removeFrom(this.canvas); + } + + this.addCanvas(); + java.awt.Canvas var1 = this.canvas; + var1.setFocusTraversalKeysEnabled(false); + var1.addKeyListener(KeyHandler.KeyHandler_instance); + var1.addFocusListener(KeyHandler.KeyHandler_instance); + class43.method838(this.canvas); + if (this.mouseWheelHandler != null) { + this.mouseWheelHandler.addTo(this.canvas); + } + + this.method955(); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-2112987351" + ) + @Export("startThread") + protected final void startThread(int var1, int var2, int var3) { + try { + if (gameShell != null) { + ++GameShell_redundantStartThreadCount; + if (GameShell_redundantStartThreadCount >= 3) { + this.error("alreadyloaded"); + return; + } + + this.getAppletContext().showDocument(this.getDocumentBase(), "_self"); + return; + } + + gameShell = this; + FloorDecoration.canvasWidth = var1; + WallDecoration.canvasHeight = var2; + RunException.RunException_revision = var3; + RunException.RunException_applet = this; + if (taskHandler == null) { + taskHandler = new TaskHandler(); + } + + taskHandler.newThreadTask(this, 1); + } catch (Exception var5) { + class32.RunException_sendStackTrace((String)null, var5); + this.error("crash"); + } + + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "338" + ) + @Export("addCanvas") + final synchronized void addCanvas() { + Container var1 = this.container(); + if (this.canvas != null) { + this.canvas.removeFocusListener(this); + var1.remove(this.canvas); + } + + FloorDecoration.canvasWidth = Math.max(var1.getWidth(), this.field436); + WallDecoration.canvasHeight = Math.max(var1.getHeight(), this.field437); + Insets var2; + if (this.frame != null) { + var2 = this.frame.getInsets(); + FloorDecoration.canvasWidth -= var2.right + var2.left; + WallDecoration.canvasHeight -= var2.bottom + var2.top; + } + + this.canvas = new Canvas(this); + var1.setBackground(Color.BLACK); + var1.setLayout((LayoutManager)null); + var1.add(this.canvas); + this.canvas.setSize(FloorDecoration.canvasWidth, WallDecoration.canvasHeight); + this.canvas.setVisible(true); + this.canvas.setBackground(Color.BLACK); + if (var1 == this.frame) { + var2 = this.frame.getInsets(); + this.canvas.setLocation(var2.left + this.canvasX, this.canvasY + var2.top); + } else { + this.canvas.setLocation(this.canvasX, this.canvasY); + } + + this.canvas.addFocusListener(this); + this.canvas.requestFocus(); + this.field420 = true; + if (class42.rasterProvider != null && FloorDecoration.canvasWidth == class42.rasterProvider.width && WallDecoration.canvasHeight == class42.rasterProvider.height) { + ((RasterProvider)class42.rasterProvider).setComponent(this.canvas); + class42.rasterProvider.drawFull(0, 0); + } else { + class42.rasterProvider = new RasterProvider(FloorDecoration.canvasWidth, WallDecoration.canvasHeight, this.canvas); + } + + this.isCanvasInvalid = false; + this.field446 = class30.method566(); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1598778852" + ) + @Export("checkHost") + protected final boolean checkHost() { + String var1 = this.getDocumentBase().getHost().toLowerCase(); + if (!var1.equals("jagex.com") && !var1.endsWith(".jagex.com")) { + if (!var1.equals("runescape.com") && !var1.endsWith(".runescape.com")) { + if (var1.endsWith("127.0.0.1")) { + return true; + } else { + while (var1.length() > 0 && var1.charAt(var1.length() - 1) >= '0' && var1.charAt(var1.length() - 1) <= '9') { + var1 = var1.substring(0, var1.length() - 1); + } + + if (var1.endsWith("192.168.1.")) { + return true; + } else { + this.error("invalidhost"); + return false; + } + } + } else { + return true; + } + } else { + return true; + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1775618326" + ) + void method963() { + long var1 = class30.method566(); + long var3 = field431[WorldMapID.field259]; + field431[WorldMapID.field259] = var1; + WorldMapID.field259 = WorldMapID.field259 + 1 & 31; + if (0L != var3 && var1 > var3) { + } + + synchronized(this) { + TaskHandler.hasFocus = volatileFocus; + } + + this.doCycle(); + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2138228896" + ) + void method956() { + Container var1 = this.container(); + long var2 = class30.method566(); + long var4 = field430[Varcs.field1255]; + field430[Varcs.field1255] = var2; + Varcs.field1255 = Varcs.field1255 + 1 & 31; + if (var4 != 0L && var2 > var4) { + int var6 = (int)(var2 - var4); + fps = ((var6 >> 1) + 32000) / var6; + } + + if (++field443 - 1 > 50) { + field443 -= 50; + this.field420 = true; + this.canvas.setSize(FloorDecoration.canvasWidth, WallDecoration.canvasHeight); + this.canvas.setVisible(true); + if (var1 == this.frame) { + Insets var7 = this.frame.getInsets(); + this.canvas.setLocation(this.canvasX + var7.left, var7.top + this.canvasY); + } else { + this.canvas.setLocation(this.canvasX, this.canvasY); + } + } + + if (this.isCanvasInvalid) { + this.replaceCanvas(); + } + + this.method957(); + this.draw(this.field420); + if (this.field420) { + this.clearBackground(); + } + + this.field420 = false; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "26" + ) + final void method957() { + Bounds var1 = this.getFrameContentBounds(); + if (var1.highX != this.contentWidth || this.contentHeight != var1.highY || this.resizeCanvasNextFrame) { + this.resizeCanvas(); + this.resizeCanvasNextFrame = false; + } + + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1152400885" + ) + final void method955() { + this.resizeCanvasNextFrame = true; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "65280" + ) + @Export("kill") + final synchronized void kill() { + if (!isKilled) { + isKilled = true; + + try { + this.canvas.removeFocusListener(this); + } catch (Exception var5) { + } + + try { + this.kill0(); + } catch (Exception var4) { + } + + if (this.frame != null) { + try { + System.exit(0); + } catch (Throwable var3) { + } + } + + if (taskHandler != null) { + try { + taskHandler.close(); + } catch (Exception var2) { + } + } + + this.vmethod1307(); + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "16" + ) + @Export("setUp") + protected abstract void setUp(); + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-60" + ) + @Export("doCycle") + protected abstract void doCycle(); + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-1679134607" + ) + @Export("draw") + protected abstract void draw(boolean var1); + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "87" + ) + @Export("kill0") + protected abstract void kill0(); + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;ZB)V", + garbageValue = "-67" + ) + @Export("drawInitial") + protected final void drawInitial(int var1, String var2, boolean var3) { + try { + Graphics var4 = this.canvas.getGraphics(); + if (SequenceDefinition.fontHelvetica13 == null) { + SequenceDefinition.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13); + FloorOverlayDefinition.loginScreenFontMetrics = this.canvas.getFontMetrics(SequenceDefinition.fontHelvetica13); + } + + if (var3) { + var4.setColor(Color.black); + var4.fillRect(0, 0, FloorDecoration.canvasWidth, WallDecoration.canvasHeight); + } + + Color var5 = new Color(140, 17, 17); + + try { + if (class81.field1127 == null) { + class81.field1127 = this.canvas.createImage(304, 34); + } + + Graphics var6 = class81.field1127.getGraphics(); + var6.setColor(var5); + var6.drawRect(0, 0, 303, 33); + var6.fillRect(2, 2, var1 * 3, 30); + var6.setColor(Color.black); + var6.drawRect(1, 1, 301, 31); + var6.fillRect(var1 * 3 + 2, 2, 300 - var1 * 3, 30); + var6.setFont(SequenceDefinition.fontHelvetica13); + var6.setColor(Color.white); + var6.drawString(var2, (304 - FloorOverlayDefinition.loginScreenFontMetrics.stringWidth(var2)) / 2, 22); + var4.drawImage(class81.field1127, FloorDecoration.canvasWidth / 2 - 152, WallDecoration.canvasHeight / 2 - 18, (ImageObserver)null); + } catch (Exception var9) { + int var7 = FloorDecoration.canvasWidth / 2 - 152; + int var8 = WallDecoration.canvasHeight / 2 - 18; + var4.setColor(var5); + var4.drawRect(var7, var8, 303, 33); + var4.fillRect(var7 + 2, var8 + 2, var1 * 3, 30); + var4.setColor(Color.black); + var4.drawRect(var7 + 1, var8 + 1, 301, 31); + var4.fillRect(var1 * 3 + var7 + 2, var8 + 2, 300 - var1 * 3, 30); + var4.setFont(SequenceDefinition.fontHelvetica13); + var4.setColor(Color.white); + var4.drawString(var2, var7 + (304 - FloorOverlayDefinition.loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22); + } + } catch (Exception var10) { + this.canvas.repaint(); + } + + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2129811981" + ) + protected final void method1024() { + class81.field1127 = null; + SequenceDefinition.fontHelvetica13 = null; + FloorOverlayDefinition.loginScreenFontMetrics = null; + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "0" + ) + @Export("error") + protected void error(String var1) { + if (!this.hasErrored) { + this.hasErrored = true; + System.out.println("error_game_" + var1); + + try { + this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self"); + } catch (Exception var3) { + } + + } + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(B)Ljava/awt/Container;", + garbageValue = "-78" + ) + @Export("container") + Container container() { + return (Container)(this.frame != null ? this.frame : this); + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(B)Lll;", + garbageValue = "0" + ) + @Export("getFrameContentBounds") + Bounds getFrameContentBounds() { + Container var1 = this.container(); + int var2 = Math.max(var1.getWidth(), this.field436); + int var3 = Math.max(var1.getHeight(), this.field437); + if (this.frame != null) { + Insets var4 = this.frame.getInsets(); + var2 -= var4.left + var4.right; + var3 -= var4.top + var4.bottom; + } + + return new Bounds(var2, var3); + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "97221829" + ) + @Export("hasFrame") + protected final boolean hasFrame() { + return this.frame != null; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2052837160" + ) + protected abstract void vmethod1307(); + + public final void destroy() { + if (this == gameShell && !isKilled) { + stopTimeMs = class30.method566(); + long var1 = 4999L; + + try { + Thread.sleep(var1); + } catch (InterruptedException var5) { + } + + try { + Thread.sleep(1L); + } catch (InterruptedException var4) { + } + + this.kill(); + } + } + + public final synchronized void paint(Graphics var1) { + if (this == gameShell && !isKilled) { + this.field420 = true; + if (class30.method566() - this.field446 > 1000L) { + Rectangle var2 = var1.getClipBounds(); + if (var2 == null || var2.width >= FloorDecoration.canvasWidth && var2.height >= WallDecoration.canvasHeight) { + this.isCanvasInvalid = true; + } + } + + } + } + + public void run() { + try { + if (TaskHandler.javaVendor != null) { + String var1 = TaskHandler.javaVendor.toLowerCase(); + if (var1.indexOf("sun") != -1 || var1.indexOf("apple") != -1) { + String var2 = TaskHandler.javaVersion; + if (var2.equals("1.1") || var2.startsWith("1.1.") || var2.equals("1.2") || var2.startsWith("1.2.") || var2.equals("1.3") || var2.startsWith("1.3.") || var2.equals("1.4") || var2.startsWith("1.4.") || var2.equals("1.5") || var2.startsWith("1.5.") || var2.equals("1.6.0")) { + this.error("wrongjava"); + return; + } + + if (var2.startsWith("1.6.0_")) { + int var3; + for (var3 = 6; var3 < var2.length() && AbstractWorldMapIcon.isDigit(var2.charAt(var3)); ++var3) { + } + + String var4 = var2.substring(6, var3); + if (NetSocket.isNumber(var4) && TilePaint.parseInt(var4) < 10) { + this.error("wrongjava"); + return; + } + } + + fiveOrOne = 5; + } + } + + this.setFocusCycleRoot(true); + this.addCanvas(); + this.setUp(); + clock = ItemContainer.newClock(); + + while (0L == stopTimeMs || class30.method566() < stopTimeMs) { + field419 = clock.wait(cycleDurationMillis, fiveOrOne); + + for (int var5 = 0; var5 < field419; ++var5) { + this.method963(); + } + + this.method956(); + this.post(this.canvas); + } + } catch (Exception var6) { + class32.RunException_sendStackTrace((String)null, var6); + this.error("crash"); + } + + this.kill(); + } + + public final void start() { + if (this == gameShell && !isKilled) { + stopTimeMs = 0L; + } + } + + public final void stop() { + if (this == gameShell && !isKilled) { + stopTimeMs = class30.method566() + 4000L; + } + } + + public final void update(Graphics var1) { + this.paint(var1); + } + + public final void focusLost(FocusEvent var1) { + volatileFocus = false; + } + + public final void windowClosed(WindowEvent var1) { + } + + public final void windowDeiconified(WindowEvent var1) { + } + + public final void windowIconified(WindowEvent var1) { + } + + public final void windowOpened(WindowEvent var1) { + } + + public abstract void init(); + + public final void windowClosing(WindowEvent var1) { + this.destroy(); + } + + public final void windowActivated(WindowEvent var1) { + } + + public final void windowDeactivated(WindowEvent var1) { + } + + public final void focusGained(FocusEvent var1) { + volatileFocus = true; + this.field420 = true; + } + + @ObfuscatedName("ik") + @ObfuscatedSignature( + signature = "([Lho;Lho;ZI)V", + garbageValue = "-55146374" + ) + @Export("revalidateWidgetScroll") + static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { + int var3 = var1.scrollWidth != 0 ? var1.scrollWidth : var1.width; + int var4 = var1.scrollHeight != 0 ? var1.scrollHeight : var1.height; + FaceNormal.resizeInterface(var0, var1.id, var3, var4, var2); + if (var1.children != null) { + FaceNormal.resizeInterface(var1.children, var1.id, var3, var4, var2); + } + + InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); + if (var5 != null) { + class247.resizeComponents(var5.group, var3, var4, var2); + } + + if (var1.contentType == 1337) { + } + + } + + @ObfuscatedName("if") + @ObfuscatedSignature( + signature = "(IIIIII)V", + garbageValue = "1376272907" + ) + @Export("drawScrollBar") + static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) { + class4.scrollBarSprites[0].drawAt(var0, var1); + class4.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field699); + int var5 = var3 * (var3 - 32) / var4; + if (var5 < 8) { + var5 = 8; + } + + int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field700); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field702); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field702); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field702); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field702); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field701); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field701); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field701); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var5 + var6 + var1 + 14, 15, Client.field701); + } +} diff --git a/runescape-client/src/main/java/GrandExchangeEvent.java b/runescape-client/src/main/java/GrandExchangeEvent.java index 87ee38c07d..a4fc800d61 100644 --- a/runescape-client/src/main/java/GrandExchangeEvent.java +++ b/runescape-client/src/main/java/GrandExchangeEvent.java @@ -1,111 +1,214 @@ -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("v") -@Implements("GrandExchangeEvent") -public class GrandExchangeEvent { - @ObfuscatedName("fi") - @ObfuscatedSignature( - signature = "Lkf;" - ) - @Export("fontPlain11") - static Font fontPlain11; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -158786095 - ) - @Export("world") - public final int world; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = 3834067055658986045L - ) - @Export("age") - public final long age; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lz;" - ) - @Export("grandExchangeOffer") - public final GrandExchangeOffer grandExchangeOffer; - @ObfuscatedName("g") - @Export("offerName") - String offerName; - @ObfuscatedName("l") - @Export("previousOfferName") - String previousOfferName; - - @ObfuscatedSignature( - signature = "(Lkz;BI)V" - ) - GrandExchangeEvent(Buffer var1, byte var2, int var3) { - this.offerName = var1.readStringCp1252NullTerminated(); - this.previousOfferName = var1.readStringCp1252NullTerminated(); - this.world = var1.readUnsignedShort(); - this.age = var1.readLong(); - int var4 = var1.readInt(); - int var5 = var1.readInt(); - this.grandExchangeOffer = new GrandExchangeOffer(); - this.grandExchangeOffer.method98(2); - this.grandExchangeOffer.method92(var2); - this.grandExchangeOffer.unitPrice = var4; - this.grandExchangeOffer.totalQuantity = var5; - this.grandExchangeOffer.currentQuantity = 0; - this.grandExchangeOffer.currentPrice = 0; - this.grandExchangeOffer.id = var3; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "1" - ) - @Export("getOfferName") - public String getOfferName() { - return this.offerName; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "3" - ) - @Export("getPreviousOfferName") - public String getPreviousOfferName() { - return this.previousOfferName; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;II)I", - garbageValue = "1731864296" - ) - public static int method74(CharSequence var0, int var1) { - return class51.parseIntCustomRadix(var0, var1, true); - } - - @ObfuscatedName("jq") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-57" - ) - static final void method73() { - PacketBufferNode var0 = MenuAction.getPacketBufferNode(ClientPacket.field2262, Client.packetWriter.isaacCipher); - Client.packetWriter.addNode(var0); - - for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { - if (var1.type == 0 || var1.type == 3) { - StructDefinition.closeInterface(var1, true); - } - } - - if (Client.meslayerContinueWidget != null) { - WorldMapID.invalidateWidget(Client.meslayerContinueWidget); - Client.meslayerContinueWidget = null; - } - - } -} +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("m") +@Implements("GrandExchangeEvent") +public class GrandExchangeEvent { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1358084805 + ) + @Export("world") + public final int world; + @ObfuscatedName("n") + @ObfuscatedGetter( + longValue = 5655370423736122045L + ) + @Export("age") + public final long age; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Li;" + ) + @Export("grandExchangeOffer") + public final GrandExchangeOffer grandExchangeOffer; + @ObfuscatedName("u") + @Export("offerName") + String offerName; + @ObfuscatedName("r") + @Export("previousOfferName") + String previousOfferName; + + @ObfuscatedSignature( + signature = "(Lkl;BI)V" + ) + GrandExchangeEvent(Buffer var1, byte var2, int var3) { + this.offerName = var1.readStringCp1252NullTerminated(); + this.previousOfferName = var1.readStringCp1252NullTerminated(); + this.world = var1.readUnsignedShort(); + this.age = var1.readLong(); + int var4 = var1.readInt(); + int var5 = var1.readInt(); + this.grandExchangeOffer = new GrandExchangeOffer(); + this.grandExchangeOffer.method110(2); + this.grandExchangeOffer.method117(var2); + this.grandExchangeOffer.unitPrice = var4; + this.grandExchangeOffer.totalQuantity = var5; + this.grandExchangeOffer.currentQuantity = 0; + this.grandExchangeOffer.currentPrice = 0; + this.grandExchangeOffer.id = var3; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "963027705" + ) + @Export("getOfferName") + public String getOfferName() { + return this.offerName; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "1720570985" + ) + @Export("getPreviousOfferName") + public String getPreviousOfferName() { + return this.previousOfferName; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "33" + ) + public static void method83() { + HitSplatDefinition.HitSplatDefinition_cached.clear(); + HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); + HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); + } + + @ObfuscatedName("gj") + @ObfuscatedSignature( + signature = "(Lbt;B)V", + garbageValue = "76" + ) + static final void method88(PendingSpawn var0) { + long var1 = 0L; + int var3 = -1; + int var4 = 0; + int var5 = 0; + if (var0.type == 0) { + var1 = PacketWriter.scene.getBoundaryObjectTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 1) { + var1 = PacketWriter.scene.getWallDecorationTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 2) { + var1 = PacketWriter.scene.getGameObjectTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 3) { + var1 = PacketWriter.scene.getFloorDecorationTag(var0.plane, var0.x, var0.y); + } + + if (0L != var1) { + int var6 = PacketWriter.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); + var3 = class81.Entity_unpackID(var1); + var4 = var6 & 31; + var5 = var6 >> 6 & 3; + } + + var0.objectId = var3; + var0.field921 = var4; + var0.field922 = var5; + } + + @ObfuscatedName("ie") + @ObfuscatedSignature( + signature = "(Lbi;IIII)V", + garbageValue = "1547441010" + ) + @Export("addPlayerToMenu") + static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { + if (class223.localPlayer != var0) { + if (Client.menuOptionsCount < 400) { + String var4; + int var7; + if (var0.skillLevel == 0) { + String var5 = var0.actions[0] + var0.username + var0.actions[1]; + var7 = var0.combatLevel; + int var8 = class223.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = World.colorStartTag(16711680); + } else if (var9 < -6) { + var6 = World.colorStartTag(16723968); + } else if (var9 < -3) { + var6 = World.colorStartTag(16740352); + } else if (var9 < 0) { + var6 = World.colorStartTag(16756736); + } else if (var9 > 9) { + var6 = World.colorStartTag(65280); + } else if (var9 > 6) { + var6 = World.colorStartTag(4259584); + } else if (var9 > 3) { + var6 = World.colorStartTag(8453888); + } else if (var9 > 0) { + var6 = World.colorStartTag(12648192); + } else { + var6 = World.colorStartTag(16776960); + } + + var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; + } else { + var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; + } + + int var10; + if (Client.isItemSelected == 1) { + WorldMapData_1.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + World.colorStartTag(16777215) + var4, 14, var1, var2, var3); + } else if (Client.isSpellSelected) { + if ((ItemContainer.selectedSpellFlags & 8) == 8) { + WorldMapData_1.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + World.colorStartTag(16777215) + var4, 15, var1, var2, var3); + } + } else { + for (var10 = 7; var10 >= 0; --var10) { + if (Client.playerMenuActions[var10] != null) { + short var11 = 0; + if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { + if (AttackOption.AttackOption_hidden == Client.playerAttackOption) { + continue; + } + + if (AttackOption.AttackOption_alwaysRightClick == Client.playerAttackOption || Client.playerAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && var0.combatLevel > class223.localPlayer.combatLevel) { + var11 = 2000; + } + + if (class223.localPlayer.team != 0 && var0.team != 0) { + if (var0.team == class223.localPlayer.team) { + var11 = 2000; + } else { + var11 = 0; + } + } + } else if (Client.playerOptionsPriorities[var10]) { + var11 = 2000; + } + + boolean var12 = false; + var7 = Client.playerMenuOpcodes[var10] + var11; + WorldMapData_1.insertMenuItemNoShift(Client.playerMenuActions[var10], World.colorStartTag(16777215) + var4, var7, var1, var2, var3); + } + } + } + + for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { + if (Client.menuOpcodes[var10] == 23) { + Client.menuTargets[var10] = World.colorStartTag(16777215) + var4; + break; + } + } + + } + } + } +} diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java index 50441e1201..a82ef9c4df 100644 --- a/runescape-client/src/main/java/GrandExchangeEvents.java +++ b/runescape-client/src/main/java/GrandExchangeEvents.java @@ -1,156 +1,112 @@ -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -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("j") -@Implements("GrandExchangeEvents") -public class GrandExchangeEvents { - @ObfuscatedName("x") - @Export("GrandExchangeEvents_ageComparator") - public static Comparator GrandExchangeEvents_ageComparator; - @ObfuscatedName("t") - @Export("GrandExchangeEvents_priceComparator") - public static Comparator GrandExchangeEvents_priceComparator; - @ObfuscatedName("g") - @Export("GrandExchangeEvents_nameComparator") - public static Comparator GrandExchangeEvents_nameComparator; - @ObfuscatedName("l") - @Export("GrandExchangeEvents_quantityComparator") - public static Comparator GrandExchangeEvents_quantityComparator; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1066542769 - ) - @Export("PcmPlayer_count") - static int PcmPlayer_count; - @ObfuscatedName("gd") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("headIconHintSprites") - static Sprite[] headIconHintSprites; - @ObfuscatedName("c") - @Export("events") - public final List events; - - static { - GrandExchangeEvents_ageComparator = new GrandExchangeOfferAgeComparator(); - new GrandExchangeOfferWorldComparator(); - GrandExchangeEvents_priceComparator = new GrandExchangeOfferUnitPriceComparator(); - GrandExchangeEvents_nameComparator = new GrandExchangeOfferNameComparator(); - GrandExchangeEvents_quantityComparator = new GrandExchangeOfferTotalQuantityComparator(); - } - - @ObfuscatedSignature( - signature = "(Lkz;Z)V", - garbageValue = "1" - ) - public GrandExchangeEvents(Buffer var1, boolean var2) { - int var3 = var1.readUnsignedShort(); - boolean var4 = var1.readUnsignedByte() == 1; - byte var5; - if (var4) { - var5 = 1; - } else { - var5 = 0; - } - - int var6 = var1.readUnsignedShort(); - this.events = new ArrayList(var6); - - for (int var7 = 0; var7 < var6; ++var7) { - this.events.add(new GrandExchangeEvent(var1, var5, var3)); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;ZB)V", - garbageValue = "0" - ) - @Export("sort") - public void sort(Comparator var1, boolean var2) { - if (var2) { - Collections.sort(this.events, var1); - } else { - Collections.sort(this.events, Collections.reverseOrder(var1)); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;ZLkf;B)V", - garbageValue = "118" - ) - public static void method69(AbstractArchive var0, AbstractArchive var1, boolean var2, Font var3) { - class65.ItemDefinition_archive = var0; - ItemDefinition.ItemDefinition_modelArchive = var1; - ItemDefinition.ItemDefinition_inMembersWorld = var2; - ItemDefinition.ItemDefinition_fileCount = class65.ItemDefinition_archive.getGroupFileCount(10); - class215.ItemDefinition_fontPlain11 = var3; - } - - @ObfuscatedName("jp") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2004785230" - ) - static final void method66() { - Client.field815 = Client.cycleCntr; - } - - @ObfuscatedName("ko") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZB)Ljava/lang/String;", - garbageValue = "59" - ) - static String method67(String var0, boolean var1) { - String var2 = var1 ? "https://" : "http://"; - if (Client.gameBuild == 1) { - var0 = var0 + "-wtrc"; - } else if (Client.gameBuild == 2) { - var0 = var0 + "-wtqa"; - } else if (Client.gameBuild == 3) { - var0 = var0 + "-wtwip"; - } else if (Client.gameBuild == 5) { - var0 = var0 + "-wti"; - } else if (Client.gameBuild == 4) { - var0 = "local"; - } - - String var3 = ""; - if (WorldMapArea.field217 != null) { - var3 = "/p=" + WorldMapArea.field217; - } - - String var4 = "runescape.com"; - return var2 + var0 + "." + var4 + "/l=" + class43.clientLanguage + "/a=" + MouseRecorder.field565 + var3 + "/"; - } - - @ObfuscatedName("kq") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1862958560" - ) - static String method68(String var0) { - PlayerType[] var1 = PlayerAppearance.PlayerType_values(); - - for (int var2 = 0; var2 < var1.length; ++var2) { - PlayerType var3 = var1[var2]; - if (var3.modIcon != -1 && var0.startsWith(ArchiveDiskAction.method4133(var3.modIcon))) { - var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); - break; - } - } - - return var0; - } -} +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("q") +@Implements("GrandExchangeEvents") +public class GrandExchangeEvents { + @ObfuscatedName("n") + @Export("GrandExchangeEvents_ageComparator") + public static Comparator GrandExchangeEvents_ageComparator; + @ObfuscatedName("v") + @Export("GrandExchangeEvents_priceComparator") + public static Comparator GrandExchangeEvents_priceComparator; + @ObfuscatedName("u") + @Export("GrandExchangeEvents_nameComparator") + public static Comparator GrandExchangeEvents_nameComparator; + @ObfuscatedName("r") + @Export("GrandExchangeEvents_quantityComparator") + public static Comparator GrandExchangeEvents_quantityComparator; + @ObfuscatedName("z") + @Export("events") + public final List events; + + static { + GrandExchangeEvents_ageComparator = new GrandExchangeOfferAgeComparator(); + new GrandExchangeOfferWorldComparator(); + GrandExchangeEvents_priceComparator = new GrandExchangeOfferUnitPriceComparator(); + GrandExchangeEvents_nameComparator = new GrandExchangeOfferNameComparator(); + GrandExchangeEvents_quantityComparator = new GrandExchangeOfferTotalQuantityComparator(); + } + + @ObfuscatedSignature( + signature = "(Lkl;Z)V", + garbageValue = "1" + ) + public GrandExchangeEvents(Buffer var1, boolean var2) { + int var3 = var1.readUnsignedShort(); + boolean var4 = var1.readUnsignedByte() == 1; + byte var5; + if (var4) { + var5 = 1; + } else { + var5 = 0; + } + + int var6 = var1.readUnsignedShort(); + this.events = new ArrayList(var6); + + for (int var7 = 0; var7 < var6; ++var7) { + this.events.add(new GrandExchangeEvent(var1, var5, var3)); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/util/Comparator;ZI)V", + garbageValue = "663869471" + ) + @Export("sort") + public void sort(Comparator var1, boolean var2) { + if (var2) { + Collections.sort(this.events, var1); + } else { + Collections.sort(this.events, Collections.reverseOrder(var1)); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([BZB)Ljava/lang/Object;", + garbageValue = "-1" + ) + public static Object method76(byte[] var0, boolean var1) { + if (var0 == null) { + return null; + } else if (var0.length > 136) { + DirectByteArrayCopier var2 = new DirectByteArrayCopier(); + var2.set(var0); + return var2; + } else { + return var0; + } + } + + @ObfuscatedName("ke") + @ObfuscatedSignature( + signature = "(Lho;B)Lho;", + garbageValue = "91" + ) + static Widget method81(Widget var0) { + int var1 = UserComparator9.method3355(class2.getWidgetClickMask(var0)); + if (var1 == 0) { + return null; + } else { + for (int var2 = 0; var2 < var1; ++var2) { + var0 = Canvas.getWidget(var0.parentId); + if (var0 == null) { + return null; + } + } + + return var0; + } + } +} diff --git a/runescape-client/src/main/java/GrandExchangeOffer.java b/runescape-client/src/main/java/GrandExchangeOffer.java index ccbfdca142..0e896da916 100644 --- a/runescape-client/src/main/java/GrandExchangeOffer.java +++ b/runescape-client/src/main/java/GrandExchangeOffer.java @@ -1,311 +1,132 @@ -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.ScriptOpcodes; - -@ObfuscatedName("z") -@Implements("GrandExchangeOffer") -public class GrandExchangeOffer { - @ObfuscatedName("d") - static int[] field67; - @ObfuscatedName("da") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive1") - static Archive archive1; - @ObfuscatedName("c") - @Export("state") - byte state; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 742288721 - ) - @Export("id") - public int id; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -900885629 - ) - @Export("unitPrice") - public int unitPrice; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 915947343 - ) - @Export("totalQuantity") - public int totalQuantity; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1696571551 - ) - @Export("currentQuantity") - public int currentQuantity; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 737013101 - ) - @Export("currentPrice") - public int currentPrice; - - public GrandExchangeOffer() { - } - - @ObfuscatedSignature( - signature = "(Lkz;Z)V", - garbageValue = "0" - ) - public GrandExchangeOffer(Buffer var1, boolean var2) { - this.state = var1.readByte(); - this.id = var1.readUnsignedShort(); - this.unitPrice = var1.readInt(); - this.totalQuantity = var1.readInt(); - this.currentQuantity = var1.readInt(); - this.currentPrice = var1.readInt(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "1" - ) - @Export("status") - public int status() { - return this.state & 7; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "639881605" - ) - @Export("type") - public int type() { - return (this.state & 8) == 8 ? 1 : 0; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1620696399" - ) - void method98(int var1) { - this.state &= -8; - this.state = (byte)(this.state | var1 & 7); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-417146285" - ) - void method92(int var1) { - this.state &= -9; - if (var1 == 1) { - this.state = (byte)(this.state | 8); - } - - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "1743615056" - ) - static int method103(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = ClientPacket.loadWorlds() ? 1 : 0; - return 1; - } else { - World var3; - if (var0 == ScriptOpcodes.WORLDLIST_START) { - var3 = class185.worldListStart(); - if (var3 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.id; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.properties; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.activity; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.location; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.population; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.host; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { - var3 = Frames.getNextWorldListWorld(); - if (var3 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.id; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.properties; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.activity; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.location; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.population; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.host; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else { - World var4; - int var5; - int var7; - if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var4 = null; - - for (var5 = 0; var5 < World.World_count; ++var5) { - if (var7 == World.World_worlds[var5].id) { - var4 = World.World_worlds[var5]; - break; - } - } - - if (var4 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.id; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.properties; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var4.activity; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.location; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.population; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var4.host; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { - class160.Interpreter_intStackSize -= 4; - var7 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - boolean var10 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1] == 1; - var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - boolean var6 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3] == 1; - WorldMapID.sortWorldList(var7, var10, var5, var6); - return 1; - } else if (var0 != ScriptOpcodes.GETWORLDINFO) { - if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { - Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else { - int var8; - ParamDefinition var9; - if (var0 == ScriptOpcodes.NC_PARAM) { - class160.Interpreter_intStackSize -= 2; - var7 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var8 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var9 = GrandExchangeOfferTotalQuantityComparator.getParamDefinition(var8); - if (var9.isString()) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = FontName.getNpcDefinition(var7).getStringParam(var8, var9.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = FontName.getNpcDefinition(var7).getIntParam(var8, var9.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.LC_PARAM) { - class160.Interpreter_intStackSize -= 2; - var7 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var8 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var9 = GrandExchangeOfferTotalQuantityComparator.getParamDefinition(var8); - if (var9.isString()) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = WallDecoration.getObjectDefinition(var7).getStringParam(var8, var9.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = WallDecoration.getObjectDefinition(var7).getIntParam(var8, var9.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_PARAM) { - class160.Interpreter_intStackSize -= 2; - var7 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var8 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var9 = GrandExchangeOfferTotalQuantityComparator.getParamDefinition(var8); - if (var9.isString()) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = Player.ItemDefinition_get(var7).getStringParam(var8, var9.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Player.ItemDefinition_get(var7).getIntParam(var8, var9.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { - class160.Interpreter_intStackSize -= 2; - var7 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var8 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var9 = GrandExchangeOfferTotalQuantityComparator.getParamDefinition(var8); - if (var9.isString()) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = class225.StructDefinition_getStructDefinition(var7).getStringParam(var8, var9.defaultStr); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class225.StructDefinition_getStructDefinition(var7).getIntParam(var8, var9.defaultInt); - } - - return 1; - } else if (var0 == ScriptOpcodes.ON_MOBILE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLIENTTYPE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.clientType & 3; - return 1; - } else if (var0 == 6520) { - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) { - return 1; - } else if (var0 == 6522) { - --TextureProvider.Interpreter_stringStackSize; - --class160.Interpreter_intStackSize; - return 1; - } else if (var0 == 6523) { - --TextureProvider.Interpreter_stringStackSize; - --class160.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.BATTERYLEVEL) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - return 1; - } else if (var0 == ScriptOpcodes.BATTERYCHARGING) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - return 1; - } else if (var0 == ScriptOpcodes.WIFIAVAILABLE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - return 1; - } else { - return 2; - } - } - } else { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var7 >= 0 && var7 < World.World_count) { - var4 = World.World_worlds[var7]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.id; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.properties; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var4.activity; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.location; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var4.population; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var4.host; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } - } - } - } -} +import java.io.IOException; +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("i") +@Implements("GrandExchangeOffer") +public class GrandExchangeOffer { + @ObfuscatedName("nx") + @ObfuscatedSignature( + signature = "[Lho;" + ) + static Widget[] field61; + @ObfuscatedName("z") + @Export("state") + byte state; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 152227217 + ) + @Export("id") + public int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1304592967 + ) + @Export("unitPrice") + public int unitPrice; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1942003277 + ) + @Export("totalQuantity") + public int totalQuantity; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 244433103 + ) + @Export("currentQuantity") + public int currentQuantity; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 22250551 + ) + @Export("currentPrice") + public int currentPrice; + + public GrandExchangeOffer() { + } + + @ObfuscatedSignature( + signature = "(Lkl;Z)V", + garbageValue = "0" + ) + public GrandExchangeOffer(Buffer var1, boolean var2) { + this.state = var1.readByte(); + this.id = var1.readUnsignedShort(); + this.unitPrice = var1.readInt(); + this.totalQuantity = var1.readInt(); + this.currentQuantity = var1.readInt(); + this.currentPrice = var1.readInt(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-719257783" + ) + @Export("status") + public int status() { + return this.state & 7; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-9" + ) + @Export("type") + public int type() { + return (this.state & 8) == 8 ? 1 : 0; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1269791927" + ) + void method110(int var1) { + this.state &= -8; + this.state = (byte)(this.state | var1 & 7); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "3" + ) + void method117(int var1) { + this.state &= -9; + if (var1 == 1) { + this.state = (byte)(this.state | 8); + } + + } + + @ObfuscatedName("gc") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "2022647645" + ) + static final void method129(boolean var0) { + WorldMapID.playPcmPlayers(); + ++Client.packetWriter.pendingWrites; + if (Client.packetWriter.pendingWrites >= 50 || var0) { + Client.packetWriter.pendingWrites = 0; + if (!Client.field730 && Client.packetWriter.getSocket() != null) { + PacketBufferNode var1 = InterfaceParent.getPacketBufferNode(ClientPacket.field2207, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var1); + + try { + Client.packetWriter.flush(); + } catch (IOException var3) { + Client.field730 = true; + } + } + + } + } +} diff --git a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java index 0429d98d68..ec17033ce2 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java @@ -1,46 +1,742 @@ -import java.util.Comparator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("f") -@Implements("GrandExchangeOfferAgeComparator") -final class GrandExchangeOfferAgeComparator implements Comparator { - @ObfuscatedName("gj") - @Export("xteaKeys") - static int[][] xteaKeys; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lv;Lv;I)I", - garbageValue = "-231146255" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.age < var2.age ? -1 : (var1.age == var2.age ? 0 : 1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Lhy;IIII)V", - garbageValue = "-1708148250" - ) - @Export("Widget_setKeyRate") - static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { - if (var0.field2615 == null) { - throw new RuntimeException(); - } else { - var0.field2615[var1] = var2; - var0.field2616[var1] = var3; - } - } -} +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.net.URL; +import java.net.URLConnection; +import java.util.Comparator; +import java.util.Random; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("o") +@Implements("GrandExchangeOfferAgeComparator") +final class GrandExchangeOfferAgeComparator implements Comparator { + @ObfuscatedName("pq") + @Export("ClanChat_inClanChat") + static boolean ClanChat_inClanChat; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lho;" + ) + static Widget field76; + @ObfuscatedName("di") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive4") + static Archive archive4; + @ObfuscatedName("do") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive8") + static Archive archive8; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lm;Lm;B)I", + garbageValue = "24" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.age < var2.age ? -1 : (var1.age == var2.age ? 0 : 1); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-72081221" + ) + static void method167() { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + PlayerType.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); + } else { + long var1; + try { + URL var3 = new URL(FaceNormal.method3225("services", false) + "m=accountappeal/login.ws"); + URLConnection var4 = var3.openConnection(); + var4.setRequestProperty("connection", "close"); + var4.setDoInput(true); + var4.setDoOutput(true); + var4.setConnectTimeout(5000); + OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream()); + var5.write("data1=req"); + var5.flush(); + InputStream var6 = var4.getInputStream(); + Buffer var7 = new Buffer(new byte[1000]); + + while (true) { + int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); + if (var8 == -1) { + var7.offset = 0; + long var31 = var7.readLong(); + var1 = var31; + break; + } + + var7.offset += var8; + if (var7.offset >= 1000) { + var1 = 0L; + break; + } + } + } catch (Exception var46) { + var1 = 0L; + } + + byte var0; + if (0L == var1) { + var0 = 5; + } else { + String var47 = Login.Login_username; + Random var48 = new Random(); + Buffer var35 = new Buffer(128); + Buffer var9 = new Buffer(128); + int[] var10 = new int[]{var48.nextInt(), var48.nextInt(), (int)(var1 >> 32), (int)var1}; + var35.writeByte(10); + + int var11; + for (var11 = 0; var11 < 4; ++var11) { + var35.writeInt(var48.nextInt()); + } + + var35.writeInt(var10[0]); + var35.writeInt(var10[1]); + var35.writeLong(var1); + var35.writeLong(0L); + + for (var11 = 0; var11 < 4; ++var11) { + var35.writeInt(var48.nextInt()); + } + + var35.encryptRsa(class80.field1119, class80.field1120); + var9.writeByte(10); + + for (var11 = 0; var11 < 3; ++var11) { + var9.writeInt(var48.nextInt()); + } + + var9.writeLong(var48.nextLong()); + var9.writeLongMedium(var48.nextLong()); + if (Client.randomDatData != null) { + var9.writeBytes(Client.randomDatData, 0, Client.randomDatData.length); + } else { + byte[] var12 = new byte[24]; + + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.readFully(var12); + + int var13; + for (var13 = 0; var13 < 24 && var12[var13] == 0; ++var13) { + } + + if (var13 >= 24) { + throw new IOException(); + } + } catch (Exception var45) { + for (int var14 = 0; var14 < 24; ++var14) { + var12[var14] = -1; + } + } + + var9.writeBytes(var12, 0, var12.length); + } + + var9.writeLong(var48.nextLong()); + var9.encryptRsa(class80.field1119, class80.field1120); + var11 = class268.stringCp1252NullTerminatedByteSize(var47); + if (var11 % 8 != 0) { + var11 += 8 - var11 % 8; + } + + Buffer var49 = new Buffer(var11); + var49.writeStringCp1252NullTerminated(var47); + var49.offset = var11; + var49.xteaEncryptAll(var10); + Buffer var36 = new Buffer(var49.offset + var35.offset + var9.offset + 5); + var36.writeByte(2); + var36.writeByte(var35.offset); + var36.writeBytes(var35.array, 0, var35.offset); + var36.writeByte(var9.offset); + var36.writeBytes(var9.array, 0, var9.offset); + var36.writeShort(var49.offset); + var36.writeBytes(var49.array, 0, var49.offset); + byte[] var15 = var36.array; + String var38 = class3.method52(var15, 0, var15.length); + String var16 = var38; + + byte var43; + try { + URL var17 = new URL(FaceNormal.method3225("services", false) + "m=accountappeal/login.ws"); + URLConnection var18 = var17.openConnection(); + var18.setDoInput(true); + var18.setDoOutput(true); + var18.setConnectTimeout(5000); + OutputStreamWriter var19 = new OutputStreamWriter(var18.getOutputStream()); + int var22 = var16.length(); + StringBuilder var23 = new StringBuilder(var22); + + int var27; + for (int var24 = 0; var24 < var22; ++var24) { + char var25 = var16.charAt(var24); + if ((var25 < 'a' || var25 > 'z') && (var25 < 'A' || var25 > 'Z') && (var25 < '0' || var25 > '9') && var25 != '.' && var25 != '-' && var25 != '*' && var25 != '_') { + if (var25 == ' ') { + var23.append('+'); + } else { + byte var26 = Entity.charToByteCp1252(var25); + var23.append('%'); + var27 = var26 >> 4 & 15; + if (var27 >= 10) { + var23.append((char)(var27 + 55)); + } else { + var23.append((char)(var27 + 48)); + } + + var27 = var26 & 15; + if (var27 >= 10) { + var23.append((char)(var27 + 55)); + } else { + var23.append((char)(var27 + 48)); + } + } + } else { + var23.append(var25); + } + } + + String var21 = var23.toString(); + String var50 = "data2=" + var21 + "&dest="; + int var51 = "passwordchoice.ws".length(); + StringBuilder var40 = new StringBuilder(var51); + + for (var27 = 0; var27 < var51; ++var27) { + char var28 = "passwordchoice.ws".charAt(var27); + if ((var28 < 'a' || var28 > 'z') && (var28 < 'A' || var28 > 'Z') && (var28 < '0' || var28 > '9') && var28 != '.' && var28 != '-' && var28 != '*' && var28 != '_') { + if (var28 == ' ') { + var40.append('+'); + } else { + byte var29 = Entity.charToByteCp1252(var28); + var40.append('%'); + int var30 = var29 >> 4 & 15; + if (var30 >= 10) { + var40.append((char)(var30 + 55)); + } else { + var40.append((char)(var30 + 48)); + } + + var30 = var29 & 15; + if (var30 >= 10) { + var40.append((char)(var30 + 55)); + } else { + var40.append((char)(var30 + 48)); + } + } + } else { + var40.append(var28); + } + } + + String var41 = var40.toString(); + var19.write(var50 + var41); + var19.flush(); + InputStream var42 = var18.getInputStream(); + var36 = new Buffer(new byte[1000]); + + while (true) { + int var52 = var42.read(var36.array, var36.offset, 1000 - var36.offset); + if (var52 == -1) { + var19.close(); + var42.close(); + String var53 = new String(var36.array); + if (var53.startsWith("OFFLINE")) { + var43 = 4; + } else if (var53.startsWith("WRONG")) { + var43 = 7; + } else if (var53.startsWith("RELOAD")) { + var43 = 3; + } else if (var53.startsWith("Not permitted for social network accounts.")) { + var43 = 6; + } else { + var36.xteaDecryptAll(var10); + + while (var36.offset > 0 && var36.array[var36.offset - 1] == 0) { + --var36.offset; + } + + var53 = new String(var36.array, 0, var36.offset); + if (LoginScreenAnimation.isValidURL(var53)) { + ArchiveDiskActionHandler.openURL(var53, true, false); + var43 = 2; + } else { + var43 = 5; + } + } + break; + } + + var36.offset += var52; + if (var36.offset >= 1000) { + var43 = 5; + break; + } + } + } catch (Throwable var44) { + var44.printStackTrace(); + var43 = 5; + } + + var0 = var43; + } + + switch(var0) { + case 2: + PlayerType.setLoginResponseString(Strings.field3008, Strings.field3009, Strings.field3010); + Login.loginIndex = 6; + break; + case 3: + PlayerType.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 4: + PlayerType.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); + break; + case 5: + PlayerType.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); + break; + case 6: + PlayerType.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 7: + PlayerType.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); + } + + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(IIIIIILex;Lfa;I)V", + garbageValue = "2071227561" + ) + static final void method165(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) { + if (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var1][var2] & 2) != 0 || (Tiles.Tiles_renderFlags[var0][var1][var2] & 16) == 0) { + if (var0 < Tiles.Tiles_minPlane) { + Tiles.Tiles_minPlane = var0; + } + + ObjectDefinition var8 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var3); + int var9; + int var10; + if (var4 != 1 && var4 != 3) { + var9 = var8.sizeX; + var10 = var8.sizeY; + } else { + var9 = var8.sizeY; + var10 = var8.sizeX; + } + + int var11; + int var12; + if (var9 + var1 <= 104) { + var11 = (var9 >> 1) + var1; + var12 = (var9 + 1 >> 1) + var1; + } else { + var11 = var1; + var12 = var1 + 1; + } + + int var13; + int var14; + if (var10 + var2 <= 104) { + var13 = (var10 >> 1) + var2; + var14 = var2 + (var10 + 1 >> 1); + } else { + var13 = var2; + var14 = var2 + 1; + } + + int[][] var15 = Tiles.Tiles_heights[var0]; + int var16 = var15[var12][var13] + var15[var11][var13] + var15[var11][var14] + var15[var12][var14] >> 2; + int var17 = (var1 << 7) + (var9 << 6); + int var18 = (var2 << 7) + (var10 << 6); + long var19 = class267.calculateTag(var1, var2, 2, var8.int1 == 0, var3); + int var21 = var5 + (var4 << 6); + if (var8.int3 == 1) { + var21 += 256; + } + + int var23; + int var24; + if (var8.hasSound()) { + ObjectSound var22 = new ObjectSound(); + var22.plane = var0; + var22.x = var1 * 128; + var22.y = var2 * 128; + var23 = var8.sizeX; + var24 = var8.sizeY; + if (var4 == 1 || var4 == 3) { + var23 = var8.sizeY; + var24 = var8.sizeX; + } + + var22.field1059 = (var23 + var1) * 128; + var22.field1060 = (var24 + var2) * 128; + var22.soundEffectId = var8.ambientSoundId; + var22.field1061 = var8.int4 * 128; + var22.field1064 = var8.int5; + var22.field1070 = var8.int6; + var22.soundEffectIds = var8.soundEffectIds; + if (var8.transforms != null) { + var22.obj = var8; + var22.set(); + } + + ObjectSound.objectSounds.addFirst(var22); + if (var22.soundEffectIds != null) { + var22.field1067 = var22.field1064 + (int)(Math.random() * (double)(var22.field1070 - var22.field1064)); + } + } + + Object var34; + if (var5 == 22) { + if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(22, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newFloorDecoration(var0, var1, var2, var16, (Entity)var34, var19, var21); + if (var8.interactType == 1 && var7 != null) { + var7.setBlockedByFloorDec(var1, var2); + } + + } + } else if (var5 != 10 && var5 != 11) { + int[] var10000; + if (var5 >= 12) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.method3052(var0, var1, var2, var16, 1, 1, (Entity)var34, 0, var19, var21); + if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { + var10000 = Tiles.field488[var0][var1]; + var10000[var2] |= 2340; + } + + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + } else if (var5 == 0) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(0, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field489[var4], 0, var19, var21); + if (var4 == 0) { + if (var8.clipped) { + Tiles.field486[var0][var1][var2] = 50; + Tiles.field486[var0][var1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = Tiles.field488[var0][var1]; + var10000[var2] |= 585; + } + } else if (var4 == 1) { + if (var8.clipped) { + Tiles.field486[var0][var1][var2 + 1] = 50; + Tiles.field486[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = Tiles.field488[var0][var1]; + var10000[var2 + 1] |= 1170; + } + } else if (var4 == 2) { + if (var8.clipped) { + Tiles.field486[var0][var1 + 1][var2] = 50; + Tiles.field486[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + var10000 = Tiles.field488[var0][var1 + 1]; + var10000[var2] |= 585; + } + } else if (var4 == 3) { + if (var8.clipped) { + Tiles.field486[var0][var1][var2] = 50; + Tiles.field486[var0][var1 + 1][var2] = 50; + } + + if (var8.modelClipped) { + var10000 = Tiles.field488[var0][var1]; + var10000[var2] |= 1170; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3502(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3123(var0, var1, var2, var8.int2); + } + + } else if (var5 == 1) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(1, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field493[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + Tiles.field486[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + Tiles.field486[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + Tiles.field486[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + Tiles.field486[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3502(var1, var2, var5, var4, var8.boolean1); + } + + } else { + int var28; + if (var5 == 2) { + var28 = var4 + 1 & 3; + Object var29; + Object var30; + if (var8.animationId == -1 && var8.transforms == null) { + var29 = var8.getEntity(2, var4 + 4, var15, var17, var16, var18); + var30 = var8.getEntity(2, var28, var15, var17, var16, var18); + } else { + var29 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); + var30 = new DynamicObject(var3, 2, var28, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var29, (Entity)var30, Tiles.field489[var4], Tiles.field489[var28], var19, var21); + if (var8.modelClipped) { + if (var4 == 0) { + var10000 = Tiles.field488[var0][var1]; + var10000[var2] |= 585; + var10000 = Tiles.field488[var0][var1]; + var10000[1 + var2] |= 1170; + } else if (var4 == 1) { + var10000 = Tiles.field488[var0][var1]; + var10000[var2 + 1] |= 1170; + var10000 = Tiles.field488[var0][var1 + 1]; + var10000[var2] |= 585; + } else if (var4 == 2) { + var10000 = Tiles.field488[var0][var1 + 1]; + var10000[var2] |= 585; + var10000 = Tiles.field488[var0][var1]; + var10000[var2] |= 1170; + } else if (var4 == 3) { + var10000 = Tiles.field488[var0][var1]; + var10000[var2] |= 1170; + var10000 = Tiles.field488[var0][var1]; + var10000[var2] |= 585; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3502(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3123(var0, var1, var2, var8.int2); + } + + } else if (var5 == 3) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(3, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field493[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + Tiles.field486[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + Tiles.field486[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + Tiles.field486[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + Tiles.field486[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3502(var1, var2, var5, var4, var8.boolean1); + } + + } else if (var5 == 9) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.method3052(var0, var1, var2, var16, 1, 1, (Entity)var34, 0, var19, var21); + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3123(var0, var1, var2, var8.int2); + } + + } else if (var5 == 4) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(4, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field489[var4], 0, 0, 0, var19, var21); + } else { + long var31; + Object var33; + if (var5 == 5) { + var28 = 16; + var31 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var31) { + var28 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(class81.Entity_unpackID(var31)).int2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var33 = var8.getEntity(4, var4, var15, var17, var16, var18); + } else { + var33 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)null, Tiles.field489[var4], 0, var28 * Tiles.field491[var4], var28 * Tiles.field492[var4], var19, var21); + } else if (var5 == 6) { + var28 = 8; + var31 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var31) { + var28 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(class81.Entity_unpackID(var31)).int2 / 2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var33 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); + } else { + var33 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)null, 256, var4, var28 * Tiles.field484[var4], var28 * Tiles.field494[var4], var19, var21); + } else if (var5 == 7) { + var23 = var4 + 2 & 3; + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(4, var23 + 4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 4, var23 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Entity)var34, (Entity)null, 256, var23, 0, 0, var19, var21); + } else if (var5 == 8) { + var28 = 8; + var31 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var31) { + var28 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(class81.Entity_unpackID(var31)).int2 / 2; + } + + int var27 = var4 + 2 & 3; + Object var26; + if (var8.animationId == -1 && var8.transforms == null) { + var33 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); + var26 = var8.getEntity(4, var27 + 4, var15, var17, var16, var18); + } else { + var33 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); + var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)var26, 256, var4, var28 * Tiles.field484[var4], var28 * Tiles.field494[var4], var19, var21); + } + } + } + } else { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(10, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, true, (Entity)null); + } + + if (var34 != null && var6.method3052(var0, var1, var2, var16, var9, var10, (Entity)var34, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { + var23 = 15; + if (var34 instanceof Model) { + var23 = ((Model)var34).method2855() / 4; + if (var23 > 30) { + var23 = 30; + } + } + + for (var24 = 0; var24 <= var9; ++var24) { + for (int var25 = 0; var25 <= var10; ++var25) { + if (var23 > Tiles.field486[var0][var24 + var1][var25 + var2]) { + Tiles.field486[var0][var24 + var1][var25 + var2] = (byte)var23; + } + } + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + } + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(IIII)I", + garbageValue = "1521796882" + ) + @Export("hslToRgb") + static final int hslToRgb(int var0, int var1, int var2) { + if (var2 > 179) { + var1 /= 2; + } + + if (var2 > 192) { + var1 /= 2; + } + + if (var2 > 217) { + var1 /= 2; + } + + if (var2 > 243) { + var1 /= 2; + } + + int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; + return var3; + } +} diff --git a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java index 4faf9775c9..424d6f0603 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java @@ -1,73 +1,129 @@ -import java.util.Comparator; -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("h") -@Implements("GrandExchangeOfferNameComparator") -final class GrandExchangeOfferNameComparator implements Comparator { - @ObfuscatedName("ne") - @ObfuscatedGetter( - intValue = 1296404691 - ) - static int field79; - @ObfuscatedName("sp") - @ObfuscatedGetter( - intValue = -1426574287 - ) - @Export("foundItemIdCount") - static int foundItemIdCount; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("ObjectDefinition_archive") - public static AbstractArchive ObjectDefinition_archive; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lv;Lv;I)I", - garbageValue = "576633421" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.getOfferName().compareTo(var2.getOfferName()); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lhz;Ljava/lang/String;Ljava/lang/String;I)[Llt;", - garbageValue = "-527219234" - ) - public static IndexedSprite[] method122(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); - int var4 = var0.getFileId(var3, var2); - byte[] var7 = var0.takeFile(var3, var4); - boolean var6; - if (var7 == null) { - var6 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var7); - var6 = true; - } - - IndexedSprite[] var5; - if (!var6) { - var5 = null; - } else { - var5 = FileSystem.method3489(); - } - - return var5; - } -} +import java.util.Comparator; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("b") +@Implements("GrandExchangeOfferNameComparator") +final class GrandExchangeOfferNameComparator implements Comparator { + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + static AbstractArchive field66; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lm;Lm;I)I", + garbageValue = "1692871938" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.getOfferName().compareTo(var2.getOfferName()); + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;I)V", + garbageValue = "1206640259" + ) + public static void method153(AbstractArchive var0) { + VarbitDefinition.VarbitDefinition_archive = var0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([Ljava/lang/String;[SIIB)V", + garbageValue = "-18" + ) + @Export("sortItemsByName") + public static void sortItemsByName(String[] var0, short[] var1, int var2, int var3) { + if (var2 < var3) { + int var4 = (var3 + var2) / 2; + int var5 = var2; + String var6 = var0[var4]; + var0[var4] = var0[var3]; + var0[var3] = var6; + short var7 = var1[var4]; + var1[var4] = var1[var3]; + var1[var3] = var7; + + for (int var8 = var2; var8 < var3; ++var8) { + if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { + String var9 = var0[var8]; + var0[var8] = var0[var5]; + var0[var5] = var9; + short var10 = var1[var8]; + var1[var8] = var1[var5]; + var1[var5++] = var10; + } + } + + var0[var3] = var0[var5]; + var0[var5] = var6; + var1[var3] = var1[var5]; + var1[var5] = var7; + sortItemsByName(var0, var1, var2, var5 - 1); + sortItemsByName(var0, var1, var5 + 1, var3); + } + + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(Lfm;III)Ldv;", + garbageValue = "-1644992820" + ) + public static final PcmPlayer method151(TaskHandler var0, int var1, int var2) { + if (UrlRequest.PcmPlayer_sampleRate == 0) { + throw new IllegalStateException(); + } else if (var1 >= 0 && var1 < 2) { + if (var2 < 256) { + var2 = 256; + } + + try { + PcmPlayer var3 = PcmPlayer.pcmPlayerProvider.player(); + var3.samples = new int[256 * (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; + var3.field1391 = var2; + var3.init(); + var3.capacity = (var2 & -1024) + 1024; + if (var3.capacity > 16384) { + var3.capacity = 16384; + } + + var3.open(var3.capacity); + if (MenuAction.PcmPlayer_count > 0 && RunException.soundSystem == null) { + RunException.soundSystem = new SoundSystem(); + PcmPlayer.soundSystemExecutor = Executors.newScheduledThreadPool(1); + PcmPlayer.soundSystemExecutor.scheduleAtFixedRate(RunException.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); + } + + if (RunException.soundSystem != null) { + if (RunException.soundSystem.players[var1] != null) { + throw new IllegalArgumentException(); + } + + RunException.soundSystem.players[var1] = var3; + } + + return var3; + } catch (Throwable var4) { + return new PcmPlayer(); + } + } else { + throw new IllegalArgumentException(); + } + } +} diff --git a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java index 1a15d3f78e..e3812f33fb 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java @@ -1,121 +1,126 @@ -import java.util.Comparator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("bh") -@Implements("GrandExchangeOfferOwnWorldComparator") -public class GrandExchangeOfferOwnWorldComparator implements Comparator { - @ObfuscatedName("dm") - @ObfuscatedSignature( - signature = "Lfc;" - ) - @Export("js5SocketTask") - static Task js5SocketTask; - @ObfuscatedName("c") - @Export("filterWorlds") - boolean filterWorlds; - - GrandExchangeOfferOwnWorldComparator() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lv;Lv;S)I", - garbageValue = "27782" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - if (var2.world == var1.world) { - return 0; - } else { - if (this.filterWorlds) { - if (Client.worldId == var1.world) { - return -1; - } - - if (var2.world == Client.worldId) { - return 1; - } - } - - return var1.world < var2.world ? -1 : 1; - } - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "([BIIII[Lfj;I)V", - garbageValue = "-1084526407" - ) - static final void method1244(byte[] var0, int var1, int var2, int var3, int var4, CollisionMap[] var5) { - int var7; - int var8; - for (int var6 = 0; var6 < 4; ++var6) { - for (var7 = 0; var7 < 64; ++var7) { - for (var8 = 0; var8 < 64; ++var8) { - if (var7 + var1 > 0 && var7 + var1 < 103 && var8 + var2 > 0 && var8 + var2 < 103) { - int[] var10000 = var5[var6].flags[var7 + var1]; - var10000[var8 + var2] &= -16777217; - } - } - } - } - - Buffer var10 = new Buffer(var0); - - for (var7 = 0; var7 < 4; ++var7) { - for (var8 = 0; var8 < 64; ++var8) { - for (int var9 = 0; var9 < 64; ++var9) { - class32.loadTerrain(var10, var7, var8 + var1, var9 + var2, var3, var4, 0); - } - } - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1688016819" - ) - @Export("Messages_getLastChatID") - static int Messages_getLastChatID(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); - if (var1 == null) { - return -1; - } else { - return var1.nextDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.nextDual).count; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-325368382" - ) - static void method1232() { - Login.worldSelectOpen = false; - Login.leftTitleSprite.drawAt(Login.xPadding, 0); - class191.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - HealthBar.logoSprite.drawAt(Login.xPadding + 382 - HealthBar.logoSprite.subWidth / 2, 18); - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)I", - garbageValue = "1088235300" - ) - public static int method1245(String var0) { - return var0.length() + 2; - } -} +import java.io.File; +import java.util.Comparator; +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("bb") +@Implements("GrandExchangeOfferOwnWorldComparator") +public class GrandExchangeOfferOwnWorldComparator implements Comparator { + @ObfuscatedName("qs") + @ObfuscatedGetter( + intValue = 683599059 + ) + static int field627; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("KitDefinition_modelsArchive") + public static AbstractArchive KitDefinition_modelsArchive; + @ObfuscatedName("r") + @Export("cacheDir") + public static File cacheDir; + @ObfuscatedName("dg") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive12") + static Archive archive12; + @ObfuscatedName("fg") + @ObfuscatedSignature( + signature = "Lkn;" + ) + @Export("fontPlain11") + static Font fontPlain11; + @ObfuscatedName("hq") + @ObfuscatedGetter( + intValue = 1137329779 + ) + @Export("cameraX") + static int cameraX; + @ObfuscatedName("ji") + @ObfuscatedSignature( + signature = "Lho;" + ) + static Widget field628; + @ObfuscatedName("z") + @Export("filterWorlds") + boolean filterWorlds; + + GrandExchangeOfferOwnWorldComparator() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lm;Lm;I)I", + garbageValue = "-1661947065" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + if (var2.world == var1.world) { + return 0; + } else { + if (this.filterWorlds) { + if (Client.worldId == var1.world) { + return -1; + } + + if (var2.world == Client.worldId) { + return 1; + } + } + + return var1.world < var2.world ? -1 : 1; + } + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)Liz;", + garbageValue = "123" + ) + @Export("getObjectDefinition") + public static ObjectDefinition getObjectDefinition(int var0) { + ObjectDefinition var1 = (ObjectDefinition)ObjectDefinition.ObjectDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = ObjectDefinition.ObjectDefinition_archive.takeFile(6, var0); + var1 = new ObjectDefinition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + if (var1.isSolid) { + var1.interactType = 0; + var1.boolean1 = false; + } + + ObjectDefinition.ObjectDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IS)Lbe;", + garbageValue = "-12583" + ) + @Export("Messages_getMessage") + static Message Messages_getMessage(int var0) { + return (Message)Messages.Messages_hashTable.get((long)var0); + } +} diff --git a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java index 2390b454f0..557f09d2a9 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java @@ -1,62 +1,402 @@ -import java.lang.management.GarbageCollectorMXBean; -import java.util.Comparator; -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("d") -@Implements("GrandExchangeOfferTotalQuantityComparator") -final class GrandExchangeOfferTotalQuantityComparator implements Comparator { - @ObfuscatedName("ac") - @Export("garbageCollector") - static GarbageCollectorMXBean garbageCollector; - @ObfuscatedName("hy") - @ObfuscatedGetter( - intValue = -1848118147 - ) - @Export("cameraY") - static int cameraY; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lv;Lv;I)I", - garbageValue = "1419484112" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.grandExchangeOffer.totalQuantity < var2.grandExchangeOffer.totalQuantity ? -1 : (var2.grandExchangeOffer.totalQuantity == var1.grandExchangeOffer.totalQuantity ? 0 : 1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lij;", - garbageValue = "957184783" - ) - @Export("getParamDefinition") - public static ParamDefinition getParamDefinition(int var0) { - ParamDefinition var1 = (ParamDefinition)ParamDefinition.ParamDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = ParamDefinition.ParamDefinition_archive.takeFile(11, var0); - var1 = new ParamDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - ParamDefinition.ParamDefinition_cached.put(var1, (long)var0); - return var1; - } - } -} +import java.util.Comparator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("y") +@Implements("GrandExchangeOfferTotalQuantityComparator") +final class GrandExchangeOfferTotalQuantityComparator implements Comparator { + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("worldSelectArrows") + static IndexedSprite[] worldSelectArrows; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lm;Lm;I)I", + garbageValue = "-1270482233" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.grandExchangeOffer.totalQuantity < var2.grandExchangeOffer.totalQuantity ? -1 : (var2.grandExchangeOffer.totalQuantity == var1.grandExchangeOffer.totalQuantity ? 0 : 1); + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1729511296" + ) + public static boolean method93(int var0) { + return (var0 >> 20 & 1) != 0; + } + + @ObfuscatedName("ez") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1447475674" + ) + static int method100() { + if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { + int var0 = 0; + + for (int var1 = 0; var1 <= Client.archiveLoaderArchive; ++var1) { + var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; + } + + return var0 * 10000 / Client.field908; + } else { + return 10000; + } + } + + @ObfuscatedName("ec") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "99" + ) + static void method91(int var0, int var1) { + int[] var2 = new int[9]; + + for (int var3 = 0; var3 < var2.length; ++var3) { + int var4 = var3 * 32 + 15 + 128; + int var5 = var4 * 3 + 600; + int var7 = Rasterizer3D.Rasterizer3D_sine[var4]; + int var9 = var1 - 334; + if (var9 < 0) { + var9 = 0; + } else if (var9 > 100) { + var9 = 100; + } + + int var10 = (Client.zoomWidth - Client.zoomHeight) * var9 / 100 + Client.zoomHeight; + int var8 = var10 * var5 / 256; + var2[var3] = var7 * var8 >> 16; + } + + Scene.Scene_buildVisiblityMap(var2, 500, 800, var0 * 334 / var1, 334); + } + + @ObfuscatedName("gq") + @ObfuscatedSignature( + signature = "(Lgw;I)V", + garbageValue = "865930097" + ) + static final void method105(class185 var0) { + PacketBuffer var1 = Client.packetWriter.packetBuffer; + int var4; + int var5; + int var6; + int var7; + int var8; + int var9; + int var10; + int var12; + int var13; + int var14; + if (class185.field2298 == var0) { + byte var2 = var1.readByte(); + byte var3 = var1.readByte(); + var4 = var1.readUnsignedByte(); + var5 = var4 >> 2; + var6 = var4 & 3; + var7 = Client.field697[var5]; + var8 = var1.method5456(); + var9 = (var8 >> 4 & 7) + class40.field326; + var10 = (var8 & 7) + WorldMapSection2.field195; + byte var11 = var1.method5459(); + var12 = var1.method5465(); + var13 = var1.method5464(); + var14 = var1.readUnsignedShort(); + int var15 = var1.method5465(); + byte var16 = var1.method5458(); + Player var17; + if (var15 == Client.localPlayerIndex) { + var17 = class223.localPlayer; + } else { + var17 = Client.players[var15]; + } + + if (var17 != null) { + ObjectDefinition var18 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var14); + int var19; + int var20; + if (var6 != 1 && var6 != 3) { + var19 = var18.sizeX; + var20 = var18.sizeY; + } else { + var19 = var18.sizeY; + var20 = var18.sizeX; + } + + int var21 = var9 + (var19 >> 1); + int var22 = var9 + (var19 + 1 >> 1); + int var23 = var10 + (var20 >> 1); + int var24 = var10 + (var20 + 1 >> 1); + int[][] var25 = Tiles.Tiles_heights[WorldMapRectangle.plane]; + int var26 = var25[var21][var23] + var25[var22][var23] + var25[var21][var24] + var25[var22][var24] >> 2; + int var27 = (var9 << 7) + (var19 << 6); + int var28 = (var10 << 7) + (var20 << 6); + Model var29 = var18.getModel(var5, var6, var25, var27, var26, var28); + if (var29 != null) { + WorldMapSection1.updatePendingSpawn(WorldMapRectangle.plane, var9, var10, var7, -1, 0, 0, var12 + 1, var13 + 1); + var17.animationCycleStart = var12 + Client.cycle; + var17.animationCycleEnd = var13 + Client.cycle; + var17.model0 = var29; + var17.field606 = var9 * 128 + var19 * 64; + var17.field608 = var10 * 128 + var20 * 64; + var17.tileHeight2 = var26; + byte var30; + if (var2 > var11) { + var30 = var2; + var2 = var11; + var11 = var30; + } + + if (var3 > var16) { + var30 = var3; + var3 = var16; + var16 = var30; + } + + var17.field622 = var2 + var9; + var17.field612 = var11 + var9; + var17.field611 = var10 + var3; + var17.field613 = var10 + var16; + } + } + } + + int var37; + int var38; + int var40; + if (class185.field2302 == var0) { + var37 = var1.method5465(); + var38 = var1.method5456(); + var4 = (var38 >> 4 & 7) + class40.field326; + var5 = (var38 & 7) + WorldMapSection2.field195; + var6 = var1.readUnsignedByte(); + var7 = var6 >> 2; + var8 = var6 & 3; + var9 = Client.field697[var7]; + if (var4 >= 0 && var5 >= 0 && var4 < 103 && var5 < 103) { + if (var9 == 0) { + BoundaryObject var31 = PacketWriter.scene.method3064(WorldMapRectangle.plane, var4, var5); + if (var31 != null) { + var40 = class81.Entity_unpackID(var31.tag); + if (var7 == 2) { + var31.entity1 = new DynamicObject(var40, 2, var8 + 4, WorldMapRectangle.plane, var4, var5, var37, false, var31.entity1); + var31.entity2 = new DynamicObject(var40, 2, var8 + 1 & 3, WorldMapRectangle.plane, var4, var5, var37, false, var31.entity2); + } else { + var31.entity1 = new DynamicObject(var40, var7, var8, WorldMapRectangle.plane, var4, var5, var37, false, var31.entity1); + } + } + } + + if (var9 == 1) { + WallDecoration var42 = PacketWriter.scene.method3065(WorldMapRectangle.plane, var4, var5); + if (var42 != null) { + var40 = class81.Entity_unpackID(var42.tag); + if (var7 != 4 && var7 != 5) { + if (var7 == 6) { + var42.entity1 = new DynamicObject(var40, 4, var8 + 4, WorldMapRectangle.plane, var4, var5, var37, false, var42.entity1); + } else if (var7 == 7) { + var42.entity1 = new DynamicObject(var40, 4, (var8 + 2 & 3) + 4, WorldMapRectangle.plane, var4, var5, var37, false, var42.entity1); + } else if (var7 == 8) { + var42.entity1 = new DynamicObject(var40, 4, var8 + 4, WorldMapRectangle.plane, var4, var5, var37, false, var42.entity1); + var42.entity2 = new DynamicObject(var40, 4, (var8 + 2 & 3) + 4, WorldMapRectangle.plane, var4, var5, var37, false, var42.entity2); + } + } else { + var42.entity1 = new DynamicObject(var40, 4, var8, WorldMapRectangle.plane, var4, var5, var37, false, var42.entity1); + } + } + } + + if (var9 == 2) { + GameObject var43 = PacketWriter.scene.method3066(WorldMapRectangle.plane, var4, var5); + if (var7 == 11) { + var7 = 10; + } + + if (var43 != null) { + var43.entity = new DynamicObject(class81.Entity_unpackID(var43.tag), var7, var8, WorldMapRectangle.plane, var4, var5, var37, false, var43.entity); + } + } + + if (var9 == 3) { + FloorDecoration var44 = PacketWriter.scene.getFloorDecoration(WorldMapRectangle.plane, var4, var5); + if (var44 != null) { + var44.entity = new DynamicObject(class81.Entity_unpackID(var44.tag), 22, var8, WorldMapRectangle.plane, var4, var5, var37, false, var44.entity); + } + } + } + + } else { + TileItem var33; + if (class185.field2304 == var0) { + var37 = var1.method5455(); + var38 = (var37 >> 4 & 7) + class40.field326; + var4 = (var37 & 7) + WorldMapSection2.field195; + var5 = var1.method5632(); + if (var38 >= 0 && var4 >= 0 && var38 < 104 && var4 < 104) { + NodeDeque var32 = Client.groundItems[WorldMapRectangle.plane][var38][var4]; + if (var32 != null) { + for (var33 = (TileItem)var32.last(); var33 != null; var33 = (TileItem)var32.previous()) { + if ((var5 & 32767) == var33.id) { + var33.remove(); + break; + } + } + + if (var32.last() == null) { + Client.groundItems[WorldMapRectangle.plane][var38][var4] = null; + } + + WorldMapCacheName.updateItemPile(var38, var4); + } + } + + } else if (class185.field2296 == var0) { + var37 = var1.method5456(); + var38 = var37 >> 2; + var4 = var37 & 3; + var5 = Client.field697[var38]; + var6 = var1.method5455(); + var7 = (var6 >> 4 & 7) + class40.field326; + var8 = (var6 & 7) + WorldMapSection2.field195; + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + WorldMapSection1.updatePendingSpawn(WorldMapRectangle.plane, var7, var8, var5, -1, var38, var4, 0, -1); + } + + } else if (class185.field2297 == var0) { + var37 = var1.method5465(); + var38 = var1.method5464(); + var4 = var1.method5455(); + var5 = (var4 >> 4 & 7) + class40.field326; + var6 = (var4 & 7) + WorldMapSection2.field195; + if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { + var33 = new TileItem(); + var33.id = var38; + var33.quantity = var37; + if (Client.groundItems[WorldMapRectangle.plane][var5][var6] == null) { + Client.groundItems[WorldMapRectangle.plane][var5][var6] = new NodeDeque(); + } + + Client.groundItems[WorldMapRectangle.plane][var5][var6].addFirst(var33); + WorldMapCacheName.updateItemPile(var5, var6); + } + + } else { + if (class185.field2300 == var0) { + var37 = var1.method5496(); + var38 = (var37 >> 4 & 7) + class40.field326; + var4 = (var37 & 7) + WorldMapSection2.field195; + var5 = var1.method5496(); + var6 = var5 >> 4 & 15; + var7 = var5 & 7; + var8 = var1.readUnsignedShort(); + var9 = var1.method5496(); + if (var38 >= 0 && var4 >= 0 && var38 < 104 && var4 < 104) { + var10 = var6 + 1; + if (class223.localPlayer.pathX[0] >= var38 - var10 && class223.localPlayer.pathX[0] <= var10 + var38 && class223.localPlayer.pathY[0] >= var4 - var10 && class223.localPlayer.pathY[0] <= var10 + var4 && Client.field868 != 0 && var7 > 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var8; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var7; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var9; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = var6 + (var4 << 8) + (var38 << 16); + ++Client.soundEffectCount; + } + } + } + + if (class185.field2299 == var0) { + var37 = var1.readUnsignedByte(); + var38 = var37 >> 2; + var4 = var37 & 3; + var5 = Client.field697[var38]; + var6 = var1.method5455(); + var7 = (var6 >> 4 & 7) + class40.field326; + var8 = (var6 & 7) + WorldMapSection2.field195; + var9 = var1.readUnsignedShort(); + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + WorldMapSection1.updatePendingSpawn(WorldMapRectangle.plane, var7, var8, var5, var9, var38, var4, 0, -1); + } + + } else if (class185.field2295 == var0) { + var37 = var1.method5632(); + var38 = var1.method5496(); + var4 = (var38 >> 4 & 7) + class40.field326; + var5 = (var38 & 7) + WorldMapSection2.field195; + var6 = var1.method5464(); + var7 = var1.method5632(); + byte var39 = var1.method5460(); + var9 = var1.method5496() * 4; + var10 = var1.readUnsignedByte(); + var40 = var1.method5455(); + byte var41 = var1.method5458(); + var13 = var1.method5471(); + var14 = var1.method5496() * 4; + var12 = var41 + var4; + var8 = var39 + var5; + if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104 && var12 >= 0 && var8 >= 0 && var12 < 104 && var8 < 104 && var37 != 65535) { + var4 = var4 * 128 + 64; + var5 = var5 * 128 + 64; + var12 = var12 * 128 + 64; + var8 = var8 * 128 + 64; + Projectile var34 = new Projectile(var37, WorldMapRectangle.plane, var4, var5, MusicPatchPcmStream.getTileHeight(var4, var5, WorldMapRectangle.plane) - var14, var6 + Client.cycle, var7 + Client.cycle, var40, var10, var13, var9); + var34.setDestination(var12, var8, MusicPatchPcmStream.getTileHeight(var12, var8, WorldMapRectangle.plane) - var9, var6 + Client.cycle); + Client.projectiles.addFirst(var34); + } + + } else if (class185.field2303 != var0) { + if (class185.field2301 == var0) { + var37 = var1.method5632(); + var38 = var1.method5455(); + var4 = var1.method5455(); + var5 = (var4 >> 4 & 7) + class40.field326; + var6 = (var4 & 7) + WorldMapSection2.field195; + var7 = var1.method5464(); + if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { + var5 = var5 * 128 + 64; + var6 = var6 * 128 + 64; + GraphicsObject var45 = new GraphicsObject(var7, WorldMapRectangle.plane, var5, var6, MusicPatchPcmStream.getTileHeight(var5, var6, WorldMapRectangle.plane) - var38, var37, Client.cycle); + Client.graphicsObjects.addFirst(var45); + } + + } + } else { + var37 = var1.method5464(); + var38 = var1.method5465(); + var4 = var1.method5456(); + var5 = (var4 >> 4 & 7) + class40.field326; + var6 = (var4 & 7) + WorldMapSection2.field195; + var7 = var1.method5465(); + if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { + NodeDeque var35 = Client.groundItems[WorldMapRectangle.plane][var5][var6]; + if (var35 != null) { + for (TileItem var36 = (TileItem)var35.last(); var36 != null; var36 = (TileItem)var35.previous()) { + if ((var37 & 32767) == var36.id && var7 == var36.quantity) { + var36.quantity = var38; + break; + } + } + + WorldMapCacheName.updateItemPile(var5, var6); + } + } + + } + } + } + } +} diff --git a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java index 9b06abccbf..1bb11c5253 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java @@ -1,98 +1,124 @@ -import java.io.File; -import java.io.IOException; -import java.util.Comparator; -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("n") -@Implements("GrandExchangeOfferUnitPriceComparator") -final class GrandExchangeOfferUnitPriceComparator implements Comparator { - @ObfuscatedName("pa") - @ObfuscatedSignature( - signature = "Ljz;" - ) - @Export("clanChat") - static ClanChat clanChat; - @ObfuscatedName("sb") - @ObfuscatedSignature( - signature = "Lln;" - ) - @Export("worldMap") - static WorldMap worldMap; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -135135315 - ) - static int field75; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lv;Lv;I)I", - garbageValue = "-1189972175" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.grandExchangeOffer.unitPrice < var2.grandExchangeOffer.unitPrice ? -1 : (var2.grandExchangeOffer.unitPrice == var1.grandExchangeOffer.unitPrice ? 0 : 1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)[Lgn;", - garbageValue = "-20" - ) - public static class185[] method116() { - return new class185[]{class185.field2298, class185.field2300, class185.field2297, class185.field2299, class185.field2304, class185.field2296, class185.field2302, class185.field2301, class185.field2303, class185.field2305}; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;ZB)Lmr;", - garbageValue = "48" - ) - @Export("getPreferencesFile") - public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { - File var3 = new File(InvDefinition.cacheDir, "preferences" + var0 + ".dat"); - if (var3.exists()) { - try { - AccessFile var10 = new AccessFile(var3, "rw", 10000L); - return var10; - } catch (IOException var9) { - } - } - - String var4 = ""; - if (ViewportMouse.cacheGamebuild == 33) { - var4 = "_rc"; - } else if (ViewportMouse.cacheGamebuild == 34) { - var4 = "_wip"; - } - - File var5 = new File(Message.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat"); - AccessFile var6; - if (!var2 && var5.exists()) { - try { - var6 = new AccessFile(var5, "rw", 10000L); - return var6; - } catch (IOException var8) { - } - } - - try { - var6 = new AccessFile(var3, "rw", 10000L); - return var6; - } catch (IOException var7) { - throw new RuntimeException(); - } - } -} +import java.util.Comparator; +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("c") +@Implements("GrandExchangeOfferUnitPriceComparator") +final class GrandExchangeOfferUnitPriceComparator implements Comparator { + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1987201491 + ) + @Export("loginBoxCenter") + static int loginBoxCenter; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lm;Lm;I)I", + garbageValue = "1379036847" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.grandExchangeOffer.unitPrice < var2.grandExchangeOffer.unitPrice ? -1 : (var2.grandExchangeOffer.unitPrice == var1.grandExchangeOffer.unitPrice ? 0 : 1); + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)Lix;", + garbageValue = "-1839745147" + ) + @Export("SequenceDefinition_get") + public static SequenceDefinition SequenceDefinition_get(int var0) { + SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = SequenceDefinition.SequenceDefinition_archive.takeFile(12, var0); + var1 = new SequenceDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;ZI)[B", + garbageValue = "264970062" + ) + @Export("serialize") + public static byte[] serialize(Object var0, boolean var1) { + if (var0 == null) { + return null; + } else if (var0 instanceof byte[]) { + byte[] var6 = (byte[])((byte[])var0); + if (var1) { + int var4 = var6.length; + byte[] var5 = new byte[var4]; + System.arraycopy(var6, 0, var5, 0, var4); + return var5; + } else { + return var6; + } + } else if (var0 instanceof AbstractByteArrayCopier) { + AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; + return var2.get(); + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("eg") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "35" + ) + static final void method139() { + Scene.Scene_isLowDetail = false; + Client.isLowDetail = false; + } + + @ObfuscatedName("gl") + @ObfuscatedSignature( + signature = "(Lbi;B)Z", + garbageValue = "64" + ) + static boolean method134(Player var0) { + if (Client.drawPlayerNames == 0) { + return false; + } else if (class223.localPlayer != var0) { + boolean var1 = (Client.drawPlayerNames & 4) != 0; + boolean var2 = var1; + boolean var3; + if (!var1) { + var3 = (Client.drawPlayerNames & 1) != 0; + var2 = var3 && var0.isFriend(); + } + + var3 = var2; + if (!var2) { + boolean var4 = (Client.drawPlayerNames & 2) != 0; + var3 = var4 && var0.isClanMember(); + } + + return var3; + } else { + return class16.method195(); + } + } +} diff --git a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java index e9faa67a09..f9ae7a987e 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java @@ -1,158 +1,237 @@ -import java.util.Comparator; -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("u") -@Implements("GrandExchangeOfferWorldComparator") -final class GrandExchangeOfferWorldComparator implements Comparator { - @ObfuscatedName("sl") - @ObfuscatedGetter( - longValue = 7996115852397139965L - ) - static long field25; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 850096723 - ) - @Export("PcmPlayer_sampleRate") - public static int PcmPlayer_sampleRate; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Llt;" - ) - @Export("options_buttons_0Sprite") - static IndexedSprite options_buttons_0Sprite; - @ObfuscatedName("i") - static String[] field30; - @ObfuscatedName("bt") - @ObfuscatedSignature( - signature = "Llt;" - ) - static IndexedSprite field32; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lv;Lv;I)I", - garbageValue = "2009087817" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.world < var2.world ? -1 : (var2.world == var1.world ? 0 : 1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)Ljava/lang/String;", - garbageValue = "-1287260544" - ) - public static String method60(Buffer var0) { - String var1; - try { - int var2 = var0.readUShortSmart(); - if (var2 > 32767) { - var2 = 32767; - } - - byte[] var3 = new byte[var2]; - var0.offset += class210.huffman.decompress(var0.array, var0.offset, var3, 0, var2); - String var4 = class51.decodeStringCp1252(var3, 0, var2); - var1 = var4; - } catch (Exception var6) { - var1 = "Cabbage"; - } - - return var1; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "236963295" - ) - public static void method62() { - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "1642239877" - ) - @Export("SpriteBuffer_decode") - public static void SpriteBuffer_decode(byte[] var0) { - Buffer var1 = new Buffer(var0); - var1.offset = var0.length - 2; - class325.SpriteBuffer_spriteCount = var1.readUnsignedShort(); - class325.SpriteBuffer_xOffsets = new int[class325.SpriteBuffer_spriteCount]; - SecureRandomCallable.SpriteBuffer_yOffsets = new int[class325.SpriteBuffer_spriteCount]; - class325.SpriteBuffer_spriteWidths = new int[class325.SpriteBuffer_spriteCount]; - SoundSystem.SpriteBuffer_spriteHeights = new int[class325.SpriteBuffer_spriteCount]; - InvDefinition.SpriteBuffer_pixels = new byte[class325.SpriteBuffer_spriteCount][]; - var1.offset = var0.length - 7 - class325.SpriteBuffer_spriteCount * 8; - class325.SpriteBuffer_spriteWidth = var1.readUnsignedShort(); - class325.SpriteBuffer_spriteHeight = var1.readUnsignedShort(); - int var2 = (var1.readUnsignedByte() & 255) + 1; - - int var3; - for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { - class325.SpriteBuffer_xOffsets[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { - SecureRandomCallable.SpriteBuffer_yOffsets[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { - class325.SpriteBuffer_spriteWidths[var3] = var1.readUnsignedShort(); - } - - for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { - SoundSystem.SpriteBuffer_spriteHeights[var3] = var1.readUnsignedShort(); - } - - var1.offset = var0.length - 7 - class325.SpriteBuffer_spriteCount * 8 - (var2 - 1) * 3; - class325.SpriteBuffer_spritePalette = new int[var2]; - - for (var3 = 1; var3 < var2; ++var3) { - class325.SpriteBuffer_spritePalette[var3] = var1.readMedium(); - if (class325.SpriteBuffer_spritePalette[var3] == 0) { - class325.SpriteBuffer_spritePalette[var3] = 1; - } - } - - var1.offset = 0; - - for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { - int var4 = class325.SpriteBuffer_spriteWidths[var3]; - int var5 = SoundSystem.SpriteBuffer_spriteHeights[var3]; - int var6 = var5 * var4; - byte[] var7 = new byte[var6]; - InvDefinition.SpriteBuffer_pixels[var3] = var7; - int var8 = var1.readUnsignedByte(); - int var9; - if (var8 == 0) { - for (var9 = 0; var9 < var6; ++var9) { - var7[var9] = var1.readByte(); - } - } else if (var8 == 1) { - for (var9 = 0; var9 < var4; ++var9) { - for (int var10 = 0; var10 < var5; ++var10) { - var7[var9 + var4 * var10] = var1.readByte(); - } - } - } - } - - } -} +import java.util.Comparator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("p") +@Implements("GrandExchangeOfferWorldComparator") +final class GrandExchangeOfferWorldComparator implements Comparator { + @ObfuscatedName("qd") + @ObfuscatedSignature( + signature = "Ldv;" + ) + @Export("pcmPlayer1") + static PcmPlayer pcmPlayer1; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lm;Lm;I)I", + garbageValue = "-1166584542" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.world < var2.world ? -1 : (var2.world == var1.world ? 0 : 1); + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Lho;", + garbageValue = "-217608323" + ) + @Export("getWidgetChild") + public static Widget getWidgetChild(int var0, int var1) { + Widget var2 = Canvas.getWidget(var0); + if (var1 == -1) { + return var2; + } else { + return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkl;IIIIIII)V", + garbageValue = "-109432634" + ) + @Export("loadTerrain") + static final void loadTerrain(Buffer var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7; + if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { + Tiles.Tiles_renderFlags[var1][var2][var3] = 0; + + while (true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + if (var1 == 0) { + Tiles.Tiles_heights[0][var2][var3] = -WorldMapDecoration.method347(var2 + 932731 + var4, var5 + var3 + 556238) * 8; + } else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; + } + break; + } + + if (var7 == 1) { + int var8 = var0.readUnsignedByte(); + if (var8 == 1) { + var8 = 0; + } + + if (var1 == 0) { + Tiles.Tiles_heights[0][var2][var3] = -var8 * 8; + } else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - var8 * 8; + } + break; + } + + if (var7 <= 49) { + Tiles.field483[var1][var2][var3] = var0.readByte(); + DevicePcmPlayerProvider.field393[var1][var2][var3] = (byte)((var7 - 2) / 4); + class287.field3634[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); + } else if (var7 <= 81) { + Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); + } else { + Tiles.field501[var1][var2][var3] = (byte)(var7 - 81); + } + } + } else { + while (true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + break; + } + + if (var7 == 1) { + var0.readUnsignedByte(); + break; + } + + if (var7 <= 49) { + var0.readUnsignedByte(); + } + } + } + + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIIIIZI)Llf;", + garbageValue = "-366639753" + ) + @Export("getItemSprite") + public static final Sprite getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) { + if (var1 == -1) { + var4 = 0; + } else if (var4 == 2 && var1 != 1) { + var4 = 1; + } + + long var6 = ((long)var3 << 42) + ((long)var4 << 40) + ((long)var2 << 38) + (long)var0 + ((long)var1 << 16); + Sprite var8; + if (!var5) { + var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6); + if (var8 != null) { + return var8; + } + } + + ItemDefinition var9 = Occluder.ItemDefinition_get(var0); + if (var1 > 1 && var9.countobj != null) { + int var10 = -1; + + for (int var11 = 0; var11 < 10; ++var11) { + if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { + var10 = var9.countobj[var11]; + } + } + + if (var10 != -1) { + var9 = Occluder.ItemDefinition_get(var10); + } + } + + Model var19 = var9.getModel(1); + if (var19 == null) { + return null; + } else { + Sprite var20 = null; + if (var9.noteTemplate != -1) { + var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); + if (var20 == null) { + return null; + } + } else if (var9.notedId != -1) { + var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); + if (var20 == null) { + return null; + } + } else if (var9.placeholderTemplate != -1) { + var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); + if (var20 == null) { + return null; + } + } + + int[] var12 = Rasterizer2D.Rasterizer2D_pixels; + int var13 = Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_height; + int[] var15 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var15); + var8 = new Sprite(36, 32); + Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); + Rasterizer2D.Rasterizer2D_clear(); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + Rasterizer3D.method2988(16, 16); + Rasterizer3D.field1754 = false; + if (var9.placeholderTemplate != -1) { + var20.drawTransBgAt(0, 0); + } + + int var16 = var9.zoom2d; + if (var5) { + var16 = (int)(1.5D * (double)var16); + } else if (var2 == 2) { + var16 = (int)(1.04D * (double)var16); + } + + int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; + int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; + var19.calculateBoundsCylinder(); + var19.method2866(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); + if (var9.notedId != -1) { + var20.drawTransBgAt(0, 0); + } + + if (var2 >= 1) { + var8.outline(1); + } + + if (var2 >= 2) { + var8.outline(16777215); + } + + if (var3 != 0) { + var8.shadow(var3); + } + + Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); + if (var9.noteTemplate != -1) { + var20.drawTransBgAt(0, 0); + } + + if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { + FaceNormal.ItemDefinition_fontPlain11.draw(class43.method839(var1), 0, 9, 16776960, 1); + } + + if (!var5) { + ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6); + } + + Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); + Rasterizer2D.Rasterizer2D_setClipArray(var15); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + Rasterizer3D.field1754 = true; + return var8; + } + } +} diff --git a/runescape-client/src/main/java/GraphicsDefaults.java b/runescape-client/src/main/java/GraphicsDefaults.java index 36d7e09324..f6c9c36e1c 100644 --- a/runescape-client/src/main/java/GraphicsDefaults.java +++ b/runescape-client/src/main/java/GraphicsDefaults.java @@ -1,173 +1,124 @@ -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("kk") -@Implements("GraphicsDefaults") -public class GraphicsDefaults { - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1326295971 - ) - @Export("canvasWidth") - public static int canvasWidth; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 743645305 - ) - @Export("compass") - public int compass; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1263393423 - ) - public int field3794; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -222158885 - ) - @Export("mapScenes") - public int mapScenes; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 293018585 - ) - @Export("headIconsPk") - public int headIconsPk; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 59968597 - ) - public int field3797; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 407705871 - ) - public int field3798; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 24582741 - ) - public int field3800; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1990585073 - ) - public int field3804; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 309369313 - ) - public int field3801; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -328738669 - ) - public int field3802; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1048737749 - ) - public int field3799; - - public GraphicsDefaults() { - this.compass = -1; - this.field3794 = -1; - this.mapScenes = -1; - this.headIconsPk = -1; - this.field3797 = -1; - this.field3798 = -1; - this.field3800 = -1; - this.field3804 = -1; - this.field3801 = -1; - this.field3802 = -1; - this.field3799 = -1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;I)V", - garbageValue = "361058639" - ) - @Export("decode") - public void decode(AbstractArchive var1) { - byte[] var2 = var1.takeFileFlat(DefaultsGroup.field3792.group); - Buffer var3 = new Buffer(var2); - - while (true) { - int var4 = var3.readUnsignedByte(); - if (var4 == 0) { - return; - } - - switch(var4) { - case 1: - var3.readMedium(); - break; - case 2: - this.compass = var3.method5623(); - this.field3794 = var3.method5623(); - this.mapScenes = var3.method5623(); - this.headIconsPk = var3.method5623(); - this.field3797 = var3.method5623(); - this.field3798 = var3.method5623(); - this.field3800 = var3.method5623(); - this.field3804 = var3.method5623(); - this.field3801 = var3.method5623(); - this.field3802 = var3.method5623(); - this.field3799 = var3.method5623(); - } - } - } - - @ObfuscatedName("ji") - @ObfuscatedSignature( - signature = "(IIII)Lbw;", - garbageValue = "-1376012645" - ) - static final InterfaceParent method5875(int var0, int var1, int var2) { - InterfaceParent var3 = new InterfaceParent(); - var3.group = var1; - var3.type = var2; - Client.interfaceParents.put(var3, (long)var0); - DevicePcmPlayerProvider.Widget_resetModelFrames(var1); - Widget var4 = Player.getWidget(var0); - WorldMapID.invalidateWidget(var4); - if (Client.meslayerContinueWidget != null) { - WorldMapID.invalidateWidget(Client.meslayerContinueWidget); - Client.meslayerContinueWidget = null; - } - - for (int var5 = 0; var5 < Client.menuOptionsCount; ++var5) { - int var7 = Client.menuOpcodes[var5]; - boolean var6 = var7 == 57 || var7 == 58 || var7 == 1007 || var7 == 25 || var7 == 30; - if (var6) { - if (var5 < Client.menuOptionsCount - 1) { - for (int var8 = var5; var8 < Client.menuOptionsCount - 1; ++var8) { - Client.menuActions[var8] = Client.menuActions[var8 + 1]; - Client.menuTargets[var8] = Client.menuTargets[var8 + 1]; - Client.menuOpcodes[var8] = Client.menuOpcodes[var8 + 1]; - Client.menuIdentifiers[var8] = Client.menuIdentifiers[var8 + 1]; - Client.menuArguments1[var8] = Client.menuArguments1[var8 + 1]; - Client.menuArguments2[var8] = Client.menuArguments2[var8 + 1]; - Client.menuShiftClick[var8] = Client.menuShiftClick[var8 + 1]; - } - } - - --var5; - --Client.menuOptionsCount; - } - } - - WorldMapRegion.calculateMenuBounds(); - class197.revalidateWidgetScroll(class289.Widget_interfaceComponents[var0 >> 16], var4, false); - Tile.runWidgetOnLoadListener(var1); - if (Client.rootInterface != -1) { - WorldMapRectangle.runIntfCloseListeners(Client.rootInterface, 1); - } - - return var3; - } -} +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("kw") +@Implements("GraphicsDefaults") +public class GraphicsDefaults { + @ObfuscatedName("fz") + @ObfuscatedSignature( + signature = "Lkn;" + ) + @Export("fontPlain12") + static Font fontPlain12; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1913101075 + ) + @Export("compass") + public int compass; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -245940859 + ) + public int field3797; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 2030709025 + ) + @Export("mapScenes") + public int mapScenes; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 936076039 + ) + @Export("headIconsPk") + public int headIconsPk; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1090087377 + ) + public int field3800; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1274199689 + ) + public int field3796; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 423516137 + ) + public int field3802; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1649613365 + ) + public int field3803; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1828299055 + ) + public int field3804; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 495147529 + ) + public int field3807; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1539500843 + ) + public int field3806; + + public GraphicsDefaults() { + this.compass = -1; + this.field3797 = -1; + this.mapScenes = -1; + this.headIconsPk = -1; + this.field3800 = -1; + this.field3796 = -1; + this.field3802 = -1; + this.field3803 = -1; + this.field3804 = -1; + this.field3807 = -1; + this.field3806 = -1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;I)V", + garbageValue = "1722575536" + ) + @Export("decode") + public void decode(AbstractArchive var1) { + byte[] var2 = var1.takeFileFlat(DefaultsGroup.field3794.group); + Buffer var3 = new Buffer(var2); + + while (true) { + int var4 = var3.readUnsignedByte(); + if (var4 == 0) { + return; + } + + switch(var4) { + case 1: + var3.readMedium(); + break; + case 2: + this.compass = var3.method5438(); + this.field3797 = var3.method5438(); + this.mapScenes = var3.method5438(); + this.headIconsPk = var3.method5438(); + this.field3800 = var3.method5438(); + this.field3796 = var3.method5438(); + this.field3802 = var3.method5438(); + this.field3803 = var3.method5438(); + this.field3804 = var3.method5438(); + this.field3807 = var3.method5438(); + this.field3806 = var3.method5438(); + } + } + } +} diff --git a/runescape-client/src/main/java/GraphicsObject.java b/runescape-client/src/main/java/GraphicsObject.java index 15929b5cc8..07bf4514f2 100644 --- a/runescape-client/src/main/java/GraphicsObject.java +++ b/runescape-client/src/main/java/GraphicsObject.java @@ -1,195 +1,131 @@ -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("bq") -@Implements("GraphicsObject") -public final class GraphicsObject extends Entity { - @ObfuscatedName("fa") - @ObfuscatedSignature( - signature = "Lku;" - ) - @Export("WorldMapElement_fonts") - static Fonts WorldMapElement_fonts; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -46719175 - ) - @Export("id") - int id; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 824152429 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -652492191 - ) - @Export("cycleStart") - int cycleStart; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1299632507 - ) - @Export("plane") - int plane; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1087465937 - ) - @Export("x") - int x; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 12234547 - ) - @Export("height") - int height; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Liw;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 353830109 - ) - @Export("frame") - int frame; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1621269353 - ) - @Export("frameCycle") - int frameCycle; - @ObfuscatedName("z") - @Export("isFinished") - boolean isFinished; - - GraphicsObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - this.frame = 0; - this.frameCycle = 0; - this.isFinished = false; - this.id = var1; - this.plane = var2; - this.x = var3; - this.y = var4; - this.height = var5; - this.cycleStart = var7 + var6; - int var8 = NetCache.SpotAnimationDefinition_get(this.id).sequence; - if (var8 != -1) { - this.isFinished = false; - this.sequenceDefinition = class83.SequenceDefinition_get(var8); - } else { - this.isFinished = true; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "477710925" - ) - @Export("advance") - final void advance(int var1) { - if (!this.isFinished) { - this.frameCycle += var1; - - while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) { - this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; - ++this.frame; - if (this.frame >= this.sequenceDefinition.frameIds.length) { - this.isFinished = true; - break; - } - } - - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ldr;", - garbageValue = "-35" - ) - @Export("getModel") - protected final Model getModel() { - SpotAnimationDefinition var1 = NetCache.SpotAnimationDefinition_get(this.id); - Model var2; - if (!this.isFinished) { - var2 = var1.getModel(this.frame); - } else { - var2 = var1.getModel(-1); - } - - return var2 == null ? null : var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkt;B)V", - garbageValue = "-5" - ) - @Export("updatePlayer") - static final void updatePlayer(PacketBuffer var0) { - var0.importIndex(); - int var1 = Client.localPlayerIndex; - Player var2 = Varps.localPlayer = Client.players[var1] = new Player(); - var2.index = var1; - int var3 = var0.readBits(30); - byte var4 = (byte)(var3 >> 28); - int var5 = var3 >> 14 & 16383; - int var6 = var3 & 16383; - var2.pathX[0] = var5 - class4.baseX * 64; - var2.x = ((var2.pathX[0] << 7) + (var2.transformedSize() << 6)) * 62504387; - var2.pathY[0] = var6 - ScriptEvent.baseY; - var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6); - MouseRecorder.plane = var2.plane = var4; - if (Players.field1221[var1] != null) { - var2.read(Players.field1221[var1]); - } - - Players.Players_count = 0; - Players.Players_indices[++Players.Players_count - 1] = var1; - Players.field1217[var1] = 0; - Players.Players_emptyIdxCount = 0; - - for (int var7 = 1; var7 < 2048; ++var7) { - if (var7 != var1) { - int var8 = var0.readBits(18); - int var9 = var8 >> 16; - int var10 = var8 >> 8 & 597; - int var11 = var8 & 597; - Players.Players_regions[var7] = (var10 << 14) + var11 + (var9 << 28); - Players.Players_orientations[var7] = 0; - Players.Players_targetIndices[var7] = -1; - Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var7; - Players.field1217[var7] = 0; - } - } - - var0.exportIndex(); - } - - @ObfuscatedName("hl") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "4" - ) - @Export("addCancelMenuEntry") - static void addCancelMenuEntry() { - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - Client.menuActions[0] = "Cancel"; - Client.menuTargets[0] = ""; - Client.menuOpcodes[0] = 1006; - Client.menuShiftClick[0] = false; - Client.menuOptionsCount = 1; - } -} +import java.security.SecureRandom; +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("bp") +@Implements("GraphicsObject") +public final class GraphicsObject extends Entity { + @ObfuscatedName("ec") + @Export("secureRandom") + static SecureRandom secureRandom; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -725302413 + ) + @Export("height") + int height; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 781452541 + ) + @Export("id") + int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 34616617 + ) + @Export("cycleStart") + int cycleStart; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1951259679 + ) + @Export("plane") + int plane; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1240960337 + ) + @Export("x") + int x; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1722241771 + ) + @Export("y") + int y; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lix;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 926579167 + ) + @Export("frame") + int frame; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1223841967 + ) + @Export("frameCycle") + int frameCycle; + @ObfuscatedName("i") + @Export("isFinished") + boolean isFinished; + + GraphicsObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + this.frame = 0; + this.frameCycle = 0; + this.isFinished = false; + this.id = var1; + this.plane = var2; + this.x = var3; + this.y = var4; + this.height = var5; + this.cycleStart = var7 + var6; + int var8 = InterfaceParent.SpotAnimationDefinition_get(this.id).sequence; + if (var8 != -1) { + this.isFinished = false; + this.sequenceDefinition = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var8); + } else { + this.isFinished = true; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-72" + ) + @Export("advance") + final void advance(int var1) { + if (!this.isFinished) { + this.frameCycle += var1; + + while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) { + this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; + ++this.frame; + if (this.frame >= this.sequenceDefinition.frameIds.length) { + this.isFinished = true; + break; + } + } + + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ldh;", + garbageValue = "-62237472" + ) + @Export("getModel") + protected final Model getModel() { + SpotAnimationDefinition var1 = InterfaceParent.SpotAnimationDefinition_get(this.id); + Model var2; + if (!this.isFinished) { + var2 = var1.getModel(this.frame); + } else { + var2 = var1.getModel(-1); + } + + return var2 == null ? null : var2; + } +} diff --git a/runescape-client/src/main/java/HealthBar.java b/runescape-client/src/main/java/HealthBar.java index e2aa3a3d6e..3ee4e3ecf9 100644 --- a/runescape-client/src/main/java/HealthBar.java +++ b/runescape-client/src/main/java/HealthBar.java @@ -1,309 +1,184 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("cb") -@Implements("HealthBar") -public class HealthBar extends Node { - @ObfuscatedName("j") - static byte[][][] field1089; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Llt;" - ) - @Export("logoSprite") - static IndexedSprite logoSprite; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("Widget_spritesArchive") - static AbstractArchive Widget_spritesArchive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lco;" - ) - @Export("pcmPlayerProvider") - public static PcmPlayerProvider pcmPlayerProvider; - @ObfuscatedName("fp") - @ObfuscatedSignature( - signature = "Lkf;" - ) - @Export("fontBold12") - static Font fontBold12; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lix;" - ) - @Export("definition") - HealthBarDefinition definition; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ljd;" - ) - @Export("updates") - IterableNodeDeque updates; - - @ObfuscatedSignature( - signature = "(Lix;)V" - ) - HealthBar(HealthBarDefinition var1) { - this.updates = new IterableNodeDeque(); - this.definition = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1491232381" - ) - @Export("put") - void put(int var1, int var2, int var3, int var4) { - HealthBarUpdate var5 = null; - int var6 = 0; - - for (HealthBarUpdate var7 = (HealthBarUpdate)this.updates.last(); var7 != null; var7 = (HealthBarUpdate)this.updates.previous()) { - ++var6; - if (var7.cycle == var1) { - var7.set(var1, var2, var3, var4); - return; - } - - if (var7.cycle <= var1) { - var5 = var7; - } - } - - if (var5 == null) { - if (var6 < 4) { - this.updates.addLast(new HealthBarUpdate(var1, var2, var3, var4)); - } - - } else { - IterableNodeDeque.IterableNodeDeque_addBefore(new HealthBarUpdate(var1, var2, var3, var4), var5); - if (var6 >= 4) { - this.updates.last().remove(); - } - - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)Lbl;", - garbageValue = "1" - ) - @Export("get") - HealthBarUpdate get(int var1) { - HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last(); - if (var2 != null && var2.cycle <= var1) { - for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) { - var2.remove(); - var2 = var3; - } - - if (this.definition.int5 + var2.cycle + var2.cycleOffset > var1) { - return var2; - } else { - var2.remove(); - return null; - } - } else { - return null; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-796562710" - ) - @Export("isEmpty") - boolean isEmpty() { - return this.updates.method4874(); - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "-60300776" - ) - @Export("isAlphaNumeric") - public static boolean isAlphaNumeric(char var0) { - return var0 >= '0' && var0 <= '9' || var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "-1113312719" - ) - static int method2006(int var0, Script var1, boolean var2) { - int var3; - int var4; - if (var0 == ScriptOpcodes.ADD) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 + var4; - return 1; - } else if (var0 == ScriptOpcodes.SUB) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 - var4; - return 1; - } else if (var0 == ScriptOpcodes.MULTIPLY) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 * var4; - return 1; - } else if (var0 == ScriptOpcodes.DIV) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 / var4; - return 1; - } else if (var0 == ScriptOpcodes.RANDOM) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3); - return 1; - } else if (var0 == ScriptOpcodes.RANDOMINC) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1)); - return 1; - } else if (var0 == ScriptOpcodes.INTERPOLATE) { - class160.Interpreter_intStackSize -= 5; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - int var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - int var6 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3]; - int var7 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 4]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 + (var7 - var5) * (var4 - var3) / (var6 - var5); - return 1; - } else if (var0 == ScriptOpcodes.ADDPERCENT) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 + var3 * var4 / 100; - return 1; - } else if (var0 == ScriptOpcodes.SETBIT) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 | 1 << var4; - return 1; - } else if (var0 == ScriptOpcodes.CLEARBIT) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4); - return 1; - } else if (var0 == ScriptOpcodes.TESTBIT) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.MOD) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 % var4; - return 1; - } else if (var0 == ScriptOpcodes.POW) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - if (var3 == 0) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4); - } - - return 1; - } else if (var0 == ScriptOpcodes.INVPOW) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - if (var3 == 0) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - switch(var4) { - case 0: - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; - break; - case 1: - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3; - break; - case 2: - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3); - break; - case 3: - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3); - break; - case 4: - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3)); - break; - default: - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4); - } - - return 1; - } - } else if (var0 == ScriptOpcodes.AND) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 & var4; - return 1; - } else if (var0 == ScriptOpcodes.OR) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 | var4; - return 1; - } else if (var0 == ScriptOpcodes.SCALE) { - class160.Interpreter_intStackSize -= 3; - long var9 = (long)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - long var11 = (long)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - long var13 = (long)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (int)(var9 * var13 / var11); - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "-65" - ) - static int method1999(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.LOGOUT) { - Client.logoutTimer = 250; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("hy") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1895452388" - ) - static final void method2007(int var0, int var1, int var2, int var3) { - for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { - if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetYs[var4] + Client.rootWidgetHeights[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { - Client.field827[var4] = true; - } - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("cz") +@Implements("HealthBar") +public class HealthBar extends Node { + @ObfuscatedName("bu") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("worldSelectRightSprite") + static IndexedSprite worldSelectRightSprite; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lip;" + ) + @Export("definition") + HealthBarDefinition definition; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Ljs;" + ) + @Export("updates") + IterableNodeDeque updates; + + @ObfuscatedSignature( + signature = "(Lip;)V" + ) + HealthBar(HealthBarDefinition var1) { + this.updates = new IterableNodeDeque(); + this.definition = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIIIB)V", + garbageValue = "1" + ) + @Export("put") + void put(int var1, int var2, int var3, int var4) { + HealthBarUpdate var5 = null; + int var6 = 0; + + for (HealthBarUpdate var7 = (HealthBarUpdate)this.updates.last(); var7 != null; var7 = (HealthBarUpdate)this.updates.previous()) { + ++var6; + if (var7.cycle == var1) { + var7.set(var1, var2, var3, var4); + return; + } + + if (var7.cycle <= var1) { + var5 = var7; + } + } + + if (var5 == null) { + if (var6 < 4) { + this.updates.addLast(new HealthBarUpdate(var1, var2, var3, var4)); + } + + } else { + IterableNodeDeque.IterableNodeDeque_addBefore(new HealthBarUpdate(var1, var2, var3, var4), var5); + if (var6 >= 4) { + this.updates.last().remove(); + } + + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IB)Lbq;", + garbageValue = "109" + ) + @Export("get") + HealthBarUpdate get(int var1) { + HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last(); + if (var2 != null && var2.cycle <= var1) { + for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) { + var2.remove(); + var2 = var3; + } + + if (this.definition.int5 + var2.cycleOffset + var2.cycle > var1) { + return var2; + } else { + var2.remove(); + return null; + } + } else { + return null; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-783831173" + ) + @Export("isEmpty") + boolean isEmpty() { + return this.updates.method4763(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Llb;III)I", + garbageValue = "-1932083268" + ) + static int method2030(IterableNodeHashTable var0, int var1, int var2) { + if (var0 == null) { + return var2; + } else { + IntegerNode var3 = (IntegerNode)var0.get((long)var1); + return var3 == null ? var2 : var3.integer; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IZI)Ljava/lang/String;", + garbageValue = "878473077" + ) + @Export("intToString") + public static String intToString(int var0, boolean var1) { + if (var1 && var0 >= 0) { + int var3 = var0; + String var2; + if (var1 && var0 >= 0) { + int var4 = 2; + + for (int var5 = var0 / 10; var5 != 0; ++var4) { + var5 /= 10; + } + + char[] var6 = new char[var4]; + var6[0] = '+'; + + for (int var7 = var4 - 1; var7 > 0; --var7) { + int var8 = var3; + var3 /= 10; + int var9 = var8 - var3 * 10; + if (var9 >= 10) { + var6[var7] = (char)(var9 + 87); + } else { + var6[var7] = (char)(var9 + 48); + } + } + + var2 = new String(var6); + } else { + var2 = Integer.toString(var0, 10); + } + + return var2; + } else { + return Integer.toString(var0); + } + } + + @ObfuscatedName("fr") + @ObfuscatedSignature( + signature = "(Lby;I)V", + garbageValue = "1394806934" + ) + static final void method2028(Actor var0) { + if (var0.field976 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var0.sequence).frameLengths[var0.sequenceFrame]) { + int var1 = var0.field976 - var0.field948; + int var2 = Client.cycle - var0.field948; + int var3 = var0.field932 * -527978816 + var0.field971 * 128; + int var4 = var0.field932 * -527978816 + var0.field973 * 128; + int var5 = var0.field972 * 128 + var0.field932 * -527978816; + int var6 = var0.field932 * -527978816 + var0.field974 * 128; + var0.x = (var2 * var5 + var3 * (var1 - var2)) / var1; + var0.y = (var6 * var2 + var4 * (var1 - var2)) / var1 * -944175751; + } + + var0.field949 = 0; + var0.orientation = var0.field977; + var0.rotation = var0.orientation; + } +} diff --git a/runescape-client/src/main/java/HealthBarDefinition.java b/runescape-client/src/main/java/HealthBarDefinition.java index 72060d1058..e834a69eb4 100644 --- a/runescape-client/src/main/java/HealthBarDefinition.java +++ b/runescape-client/src/main/java/HealthBarDefinition.java @@ -1,223 +1,208 @@ -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("ix") -@Implements("HealthBarDefinition") -public class HealthBarDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("HealthBarDefinition_archive") - public static AbstractArchive HealthBarDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("HitSplatDefinition_spritesArchive") - static AbstractArchive HitSplatDefinition_spritesArchive; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("HealthBarDefinition_cached") - public static EvictingDualNodeHashTable HealthBarDefinition_cached; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("HealthBarDefinition_cachedSprites") - static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1806671907 - ) - public int field3253; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 379529355 - ) - @Export("int1") - public int int1; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1016386229 - ) - @Export("int2") - public int int2; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -565788357 - ) - @Export("int3") - public int int3; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1008936631 - ) - @Export("int4") - public int int4; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1386850377 - ) - @Export("int5") - public int int5; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1663965695 - ) - @Export("frontSpriteID") - int frontSpriteID; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1998724721 - ) - @Export("backSpriteID") - int backSpriteID; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1503683449 - ) - @Export("width") - public int width; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 571878805 - ) - @Export("widthPadding") - public int widthPadding; - - static { - HealthBarDefinition_cached = new EvictingDualNodeHashTable(64); - HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); - } - - public HealthBarDefinition() { - this.int1 = 255; - this.int2 = 255; - this.int3 = -1; - this.int4 = 1; - this.int5 = 70; - this.frontSpriteID = -1; - this.backSpriteID = -1; - this.width = 30; - this.widthPadding = 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;B)V", - garbageValue = "0" - ) - @Export("decode") - public void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "1787792869" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - var1.readUnsignedShort(); - } else if (var2 == 2) { - this.int1 = var1.readUnsignedByte(); - } else if (var2 == 3) { - this.int2 = var1.readUnsignedByte(); - } else if (var2 == 4) { - this.int3 = 0; - } else if (var2 == 5) { - this.int5 = var1.readUnsignedShort(); - } else if (var2 == 6) { - var1.readUnsignedByte(); - } else if (var2 == 7) { - this.frontSpriteID = var1.method5623(); - } else if (var2 == 8) { - this.backSpriteID = var1.method5623(); - } else if (var2 == 11) { - this.int3 = var1.readUnsignedShort(); - } else if (var2 == 14) { - this.width = var1.readUnsignedByte(); - } else if (var2 == 15) { - this.widthPadding = var1.readUnsignedByte(); - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)Lli;", - garbageValue = "-8" - ) - @Export("getFrontSprite") - public Sprite getFrontSprite() { - if (this.frontSpriteID < 0) { - return null; - } else { - Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.frontSpriteID); - if (var1 != null) { - return var1; - } else { - var1 = FillMode.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.frontSpriteID, 0); - if (var1 != null) { - HealthBarDefinition_cachedSprites.put(var1, (long)this.frontSpriteID); - } - - return var1; - } - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Lli;", - garbageValue = "1663906218" - ) - @Export("getBackSprite") - public Sprite getBackSprite() { - if (this.backSpriteID < 0) { - return null; - } else { - Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.backSpriteID); - if (var1 != null) { - return var1; - } else { - var1 = FillMode.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.backSpriteID, 0); - if (var1 != null) { - HealthBarDefinition_cachedSprites.put(var1, (long)this.backSpriteID); - } - - return var1; - } - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(CII)Ljava/lang/String;", - garbageValue = "-1190988008" - ) - public static String method4481(char var0, int var1) { - char[] var2 = new char[var1]; - - for (int var3 = 0; var3 < var1; ++var3) { - var2[var3] = var0; - } - - return new String(var2); - } -} +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("ip") +@Implements("HealthBarDefinition") +public class HealthBarDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HealthBarDefinition_archive") + public static AbstractArchive HealthBarDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HitSplatDefinition_spritesArchive") + static AbstractArchive HitSplatDefinition_spritesArchive; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("HealthBarDefinition_cached") + public static EvictingDualNodeHashTable HealthBarDefinition_cached; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("HealthBarDefinition_cachedSprites") + public static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -2020710967 + ) + public int field3258; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 2073172143 + ) + @Export("int1") + public int int1; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1672807375 + ) + @Export("int2") + public int int2; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1245763213 + ) + @Export("int3") + public int int3; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1160994935 + ) + @Export("int4") + public int int4; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -2056406209 + ) + @Export("int5") + public int int5; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1546985657 + ) + @Export("frontSpriteID") + int frontSpriteID; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1484247529 + ) + @Export("backSpriteID") + int backSpriteID; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 2061624127 + ) + @Export("width") + public int width; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1482399655 + ) + @Export("widthPadding") + public int widthPadding; + + static { + HealthBarDefinition_cached = new EvictingDualNodeHashTable(64); + HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); + } + + public HealthBarDefinition() { + this.int1 = 255; + this.int2 = 255; + this.int3 = -1; + this.int4 = 1; + this.int5 = 70; + this.frontSpriteID = -1; + this.backSpriteID = -1; + this.width = 30; + this.widthPadding = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-1504288957" + ) + @Export("decode") + public void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;IB)V", + garbageValue = "2" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + var1.readUnsignedShort(); + } else if (var2 == 2) { + this.int1 = var1.readUnsignedByte(); + } else if (var2 == 3) { + this.int2 = var1.readUnsignedByte(); + } else if (var2 == 4) { + this.int3 = 0; + } else if (var2 == 5) { + this.int5 = var1.readUnsignedShort(); + } else if (var2 == 6) { + var1.readUnsignedByte(); + } else if (var2 == 7) { + this.frontSpriteID = var1.method5438(); + } else if (var2 == 8) { + this.backSpriteID = var1.method5438(); + } else if (var2 == 11) { + this.int3 = var1.readUnsignedShort(); + } else if (var2 == 14) { + this.width = var1.readUnsignedByte(); + } else if (var2 == 15) { + this.widthPadding = var1.readUnsignedByte(); + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Llf;", + garbageValue = "445043084" + ) + @Export("getFrontSprite") + public Sprite getFrontSprite() { + if (this.frontSpriteID < 0) { + return null; + } else { + Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.frontSpriteID); + if (var1 != null) { + return var1; + } else { + var1 = NPCDefinition.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.frontSpriteID, 0); + if (var1 != null) { + HealthBarDefinition_cachedSprites.put(var1, (long)this.frontSpriteID); + } + + return var1; + } + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(B)Llf;", + garbageValue = "-62" + ) + @Export("getBackSprite") + public Sprite getBackSprite() { + if (this.backSpriteID < 0) { + return null; + } else { + Sprite var1 = (Sprite)HealthBarDefinition_cachedSprites.get((long)this.backSpriteID); + if (var1 != null) { + return var1; + } else { + var1 = NPCDefinition.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.backSpriteID, 0); + if (var1 != null) { + HealthBarDefinition_cachedSprites.put(var1, (long)this.backSpriteID); + } + + return var1; + } + } + } +} diff --git a/runescape-client/src/main/java/HealthBarUpdate.java b/runescape-client/src/main/java/HealthBarUpdate.java index 64b7b1b832..9b927f7827 100644 --- a/runescape-client/src/main/java/HealthBarUpdate.java +++ b/runescape-client/src/main/java/HealthBarUpdate.java @@ -1,87 +1,163 @@ -import java.util.Iterator; -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("bl") -@Implements("HealthBarUpdate") -public class HealthBarUpdate extends Node { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 563892135 - ) - @Export("cycle") - int cycle; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1489030815 - ) - @Export("health") - int health; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1355122563 - ) - @Export("health2") - int health2; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -716904445 - ) - @Export("cycleOffset") - int cycleOffset; - - HealthBarUpdate(int var1, int var2, int var3, int var4) { - this.cycle = var1; - this.health = var2; - this.health2 = var3; - this.cycleOffset = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1563848755" - ) - @Export("set") - void set(int var1, int var2, int var3, int var4) { - this.cycle = var1; - this.health = var2; - this.health2 = var3; - this.cycleOffset = var4; - } - - @ObfuscatedName("ga") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-330956579" - ) - static void method1708() { - if (Client.renderSelf) { - GameObject.addPlayerToScene(Varps.localPlayer, false); - } - - } - - @ObfuscatedName("jy") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-86" - ) - @Export("FriendSystem_invalidateIgnoreds") - static final void FriendSystem_invalidateIgnoreds() { - Iterator var0 = Messages.Messages_hashTable.iterator(); - - while (var0.hasNext()) { - Message var1 = (Message)var0.next(); - var1.clearIsFromIgnored(); - } - - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.invalidateIgnoreds(); - } - - } -} +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("bq") +@Implements("HealthBarUpdate") +public class HealthBarUpdate extends Node { + @ObfuscatedName("f") + public static String field993; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 2051178983 + ) + @Export("cycle") + int cycle; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -670451385 + ) + @Export("health") + int health; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -326291957 + ) + @Export("health2") + int health2; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -809927427 + ) + @Export("cycleOffset") + int cycleOffset; + + HealthBarUpdate(int var1, int var2, int var3, int var4) { + this.cycle = var1; + this.health = var2; + this.health2 = var3; + this.cycleOffset = var4; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1094969728" + ) + @Export("set") + void set(int var1, int var2, int var3, int var4) { + this.cycle = var1; + this.health = var2; + this.health2 = var3; + this.cycleOffset = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Lbe;", + garbageValue = "776889337" + ) + @Export("Messages_getByChannelAndID") + static Message Messages_getByChannelAndID(int var0, int var1) { + ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); + return var2.getMessage(var1); + } + + @ObfuscatedName("ff") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "146894465" + ) + static final void method1765() { + for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) { + int var10002 = Client.queuedSoundEffectDelays[var0]--; + if (Client.queuedSoundEffectDelays[var0] >= -10) { + SoundEffect var9 = Client.soundEffects[var0]; + if (var9 == null) { + Object var10000 = null; + var9 = SoundEffect.readSoundEffect(GrandExchangeOfferAgeComparator.archive4, Client.soundEffectIds[var0], 0); + if (var9 == null) { + continue; + } + + int[] var13 = Client.queuedSoundEffectDelays; + var13[var0] += var9.calculateDelay(); + Client.soundEffects[var0] = var9; + } + + if (Client.queuedSoundEffectDelays[var0] < 0) { + int var2; + if (Client.soundLocations[var0] != 0) { + int var3 = (Client.soundLocations[var0] & 255) * 128; + int var4 = Client.soundLocations[var0] >> 16 & 255; + int var5 = var4 * 128 + 64 - class223.localPlayer.x; + if (var5 < 0) { + var5 = -var5; + } + + int var6 = Client.soundLocations[var0] >> 8 & 255; + int var7 = var6 * 128 + 64 - class223.localPlayer.y * 682054857; + if (var7 < 0) { + var7 = -var7; + } + + int var8 = var5 + var7 - 128; + if (var8 > var3) { + Client.queuedSoundEffectDelays[var0] = -100; + continue; + } + + if (var8 < 0) { + var8 = 0; + } + + var2 = (var3 - var8) * Client.field868 / var3; + } else { + var2 = Client.soundEffectVolume; + } + + if (var2 > 0) { + RawSound var10 = var9.toRawSound().resample(Interpreter.decimator); + RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2); + var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); + WorldMapLabelSize.pcmStreamMixer.addSubStream(var11); + } + + Client.queuedSoundEffectDelays[var0] = -100; + } + } else { + --Client.soundEffectCount; + + for (int var1 = var0; var1 < Client.soundEffectCount; ++var1) { + Client.soundEffectIds[var1] = Client.soundEffectIds[var1 + 1]; + Client.soundEffects[var1] = Client.soundEffects[var1 + 1]; + Client.queuedSoundEffectLoops[var1] = Client.queuedSoundEffectLoops[var1 + 1]; + Client.queuedSoundEffectDelays[var1] = Client.queuedSoundEffectDelays[var1 + 1]; + Client.soundLocations[var1] = Client.soundLocations[var1 + 1]; + } + + --var0; + } + } + + if (Client.field759) { + boolean var12; + if (class197.field2386 != 0) { + var12 = true; + } else { + var12 = class49.midiPcmStream.isReady(); + } + + if (!var12) { + if (Client.field761 != 0 && Client.field666 != -1) { + class83.method2064(class225.archive6, Client.field666, 0, Client.field761, false); + } + + Client.field759 = false; + } + } + + } +} diff --git a/runescape-client/src/main/java/HitSplatDefinition.java b/runescape-client/src/main/java/HitSplatDefinition.java index 16df2c1f6b..a0eb441bf3 100644 --- a/runescape-client/src/main/java/HitSplatDefinition.java +++ b/runescape-client/src/main/java/HitSplatDefinition.java @@ -1,570 +1,413 @@ -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("ic") -@Implements("HitSplatDefinition") -public class HitSplatDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("HitSplatDefinition_archive") - static AbstractArchive HitSplatDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - static AbstractArchive field3300; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("HitSplatDefinition_cached") - static EvictingDualNodeHashTable HitSplatDefinition_cached; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("HitSplatDefinition_cachedSprites") - static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("HitSplatDefinition_cachedFonts") - static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -357420585 - ) - @Export("fontId") - int fontId; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 327492087 - ) - @Export("textColor") - public int textColor; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -687651927 - ) - public int field3306; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1048362973 - ) - int field3314; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -224285899 - ) - int field3308; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 163479341 - ) - int field3312; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 295694895 - ) - int field3313; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -1371594611 - ) - public int field3311; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1444212513 - ) - public int field3310; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1563267253 - ) - public int field3307; - @ObfuscatedName("w") - String field3309; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1065378437 - ) - public int field3315; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -267578869 - ) - public int field3316; - @ObfuscatedName("a") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -222601541 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 158583145 - ) - @Export("transformVarp") - int transformVarp; - - static { - HitSplatDefinition_cached = new EvictingDualNodeHashTable(64); - HitSplatDefinition_cachedSprites = new EvictingDualNodeHashTable(64); - HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20); - } - - HitSplatDefinition() { - this.fontId = -1; - this.textColor = 16777215; - this.field3306 = 70; - this.field3314 = -1; - this.field3308 = -1; - this.field3312 = -1; - this.field3313 = -1; - this.field3311 = 0; - this.field3310 = 0; - this.field3307 = -1; - this.field3309 = ""; - this.field3315 = -1; - this.field3316 = 0; - this.transformVarbit = -1; - this.transformVarp = -1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1961600783" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "138973037" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.fontId = var1.method5623(); - } else if (var2 == 2) { - this.textColor = var1.readMedium(); - } else if (var2 == 3) { - this.field3314 = var1.method5623(); - } else if (var2 == 4) { - this.field3312 = var1.method5623(); - } else if (var2 == 5) { - this.field3308 = var1.method5623(); - } else if (var2 == 6) { - this.field3313 = var1.method5623(); - } else if (var2 == 7) { - this.field3311 = var1.readShort(); - } else if (var2 == 8) { - this.field3309 = var1.readStringCp1252NullCircumfixed(); - } else if (var2 == 9) { - this.field3306 = var1.readUnsignedShort(); - } else if (var2 == 10) { - this.field3310 = var1.readShort(); - } else if (var2 == 11) { - this.field3307 = 0; - } else if (var2 == 12) { - this.field3315 = var1.readUnsignedByte(); - } else if (var2 == 13) { - this.field3316 = var1.readShort(); - } else if (var2 == 14) { - this.field3307 = var1.readUnsignedShort(); - } else if (var2 == 17 || var2 == 18) { - this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { - this.transformVarbit = -1; - } - - this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { - this.transformVarp = -1; - } - - int var3 = -1; - if (var2 == 18) { - var3 = var1.readUnsignedShort(); - if (var3 == 65535) { - var3 = -1; - } - } - - int var4 = var1.readUnsignedByte(); - this.transforms = new int[var4 + 2]; - - for (int var5 = 0; var5 <= var4; ++var5) { - this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { - this.transforms[var5] = -1; - } - } - - this.transforms[var4 + 1] = var3; - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Lic;", - garbageValue = "-2043410275" - ) - @Export("transform") - public final HitSplatDefinition transform() { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapCacheName.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { - var1 = Varps.Varps_main[this.transformVarp]; - } - - int var2; - if (var1 >= 0 && var1 < this.transforms.length - 1) { - var2 = this.transforms[var1]; - } else { - var2 = this.transforms[this.transforms.length - 1]; - } - - return var2 != -1 ? Interpreter.HitSplatDefinition_get(var2) : null; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)Ljava/lang/String;", - garbageValue = "-7" - ) - @Export("getString") - public String getString(int var1) { - String var2 = this.field3309; - - while (true) { - int var3 = var2.indexOf("%1"); - if (var3 < 0) { - return var2; - } - - var2 = var2.substring(0, var3) + Skeleton.intToString(var1, false) + var2.substring(var3 + 2); - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)Lli;", - garbageValue = "-1669943283" - ) - public Sprite method4568() { - if (this.field3314 < 0) { - return null; - } else { - Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3314); - if (var1 != null) { - return var1; - } else { - var1 = FillMode.SpriteBuffer_getSprite(field3300, this.field3314, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3314); - } - - return var1; - } - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)Lli;", - garbageValue = "-675719915" - ) - public Sprite method4581() { - if (this.field3308 < 0) { - return null; - } else { - Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3308); - if (var1 != null) { - return var1; - } else { - var1 = FillMode.SpriteBuffer_getSprite(field3300, this.field3308, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3308); - } - - return var1; - } - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)Lli;", - garbageValue = "-1399773302" - ) - public Sprite method4570() { - if (this.field3312 < 0) { - return null; - } else { - Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3312); - if (var1 != null) { - return var1; - } else { - var1 = FillMode.SpriteBuffer_getSprite(field3300, this.field3312, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3312); - } - - return var1; - } - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(S)Lli;", - garbageValue = "-24882" - ) - public Sprite method4561() { - if (this.field3313 < 0) { - return null; - } else { - Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3313); - if (var1 != null) { - return var1; - } else { - var1 = FillMode.SpriteBuffer_getSprite(field3300, this.field3313, 0); - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3313); - } - - return var1; - } - } - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)Lkf;", - garbageValue = "0" - ) - @Export("getFont") - public Font getFont() { - if (this.fontId == -1) { - return null; - } else { - Font var1 = (Font)HitSplatDefinition_cachedFonts.get((long)this.fontId); - if (var1 != null) { - return var1; - } else { - AbstractArchive var3 = field3300; - AbstractArchive var4 = class189.HitSplatDefinition_fontsArchive; - int var5 = this.fontId; - byte[] var7 = var3.takeFile(var5, 0); - boolean var6; - if (var7 == null) { - var6 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var7); - var6 = true; - } - - Font var2; - if (!var6) { - var2 = null; - } else { - byte[] var8 = var4.takeFile(var5, 0); - Font var10; - if (var8 == null) { - var10 = null; - } else { - Font var9 = new Font(var8, class325.SpriteBuffer_xOffsets, SecureRandomCallable.SpriteBuffer_yOffsets, class325.SpriteBuffer_spriteWidths, SoundSystem.SpriteBuffer_spriteHeights, class325.SpriteBuffer_spritePalette, InvDefinition.SpriteBuffer_pixels); - class192.SpriteBuffer_clear(); - var10 = var9; - } - - var2 = var10; - } - - if (var2 != null) { - HitSplatDefinition_cachedFonts.put(var2, (long)this.fontId); - } - - return var2; - } - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIII)Z", - garbageValue = "-240401517" - ) - static final boolean method4589(byte[] var0, int var1, int var2) { - boolean var3 = true; - Buffer var4 = new Buffer(var0); - int var5 = -1; - - label67: - while (true) { - int var6 = var4.method5480(); - if (var6 == 0) { - return var3; - } - - var5 += var6; - int var7 = 0; - boolean var8 = false; - - while (true) { - int var9; - while (!var8) { - var9 = var4.readUShortSmart(); - if (var9 == 0) { - continue label67; - } - - var7 += var9 - 1; - int var10 = var7 & 63; - int var11 = var7 >> 6 & 63; - int var12 = var4.readUnsignedByte() >> 2; - int var13 = var11 + var1; - int var14 = var10 + var2; - if (var13 > 0 && var14 > 0 && var13 < 103 && var14 < 103) { - ObjectDefinition var15 = WallDecoration.getObjectDefinition(var5); - if (var12 != 22 || !Client.isLowDetail || var15.int1 != 0 || var15.interactType == 1 || var15.boolean2) { - if (!var15.needsModelFiles()) { - ++Client.field676; - var3 = false; - } - - var8 = true; - } - } - } - - var9 = var4.readUShortSmart(); - if (var9 == 0) { - break; - } - - var4.readUnsignedByte(); - } - } - } - - @ObfuscatedName("fp") - @ObfuscatedSignature( - signature = "(Lbe;B)V", - garbageValue = "0" - ) - static final void method4558(Actor var0) { - var0.isWalking = false; - SequenceDefinition var1; - if (var0.movementSequence != -1) { - var1 = class83.SequenceDefinition_get(var0.movementSequence); - if (var1 != null && var1.frameIds != null) { - ++var0.movementFrameCycle; - if (var0.movementFrame < var1.frameIds.length && var0.movementFrameCycle > var1.frameLengths[var0.movementFrame]) { - var0.movementFrameCycle = 1; - ++var0.movementFrame; - WorldMapSectionType.addSequenceSoundEffect(var1, var0.movementFrame, var0.x * -78439701, var0.y); - } - - if (var0.movementFrame >= var1.frameIds.length) { - var0.movementFrameCycle = 0; - var0.movementFrame = 0; - WorldMapSectionType.addSequenceSoundEffect(var1, var0.movementFrame, var0.x * -78439701, var0.y); - } - } else { - var0.movementSequence = -1; - } - } - - if (var0.spotAnimation != -1 && Client.cycle >= var0.field957) { - if (var0.spotAnimationFrame < 0) { - var0.spotAnimationFrame = 0; - } - - int var3 = NetCache.SpotAnimationDefinition_get(var0.spotAnimation).sequence; - if (var3 != -1) { - SequenceDefinition var2 = class83.SequenceDefinition_get(var3); - if (var2 != null && var2.frameIds != null) { - ++var0.spotAnimationFrameCycle; - if (var0.spotAnimationFrame < var2.frameIds.length && var0.spotAnimationFrameCycle > var2.frameLengths[var0.spotAnimationFrame]) { - var0.spotAnimationFrameCycle = 1; - ++var0.spotAnimationFrame; - WorldMapSectionType.addSequenceSoundEffect(var2, var0.spotAnimationFrame, var0.x * -78439701, var0.y); - } - - if (var0.spotAnimationFrame >= var2.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var2.frameIds.length)) { - var0.spotAnimation = -1; - } - } else { - var0.spotAnimation = -1; - } - } else { - var0.spotAnimation = -1; - } - } - - if (var0.sequence != -1 && var0.sequenceDelay <= 1) { - var1 = class83.SequenceDefinition_get(var0.sequence); - if (var1.field3496 == 1 && var0.field969 > 0 && var0.field963 <= Client.cycle && var0.field964 < Client.cycle) { - var0.sequenceDelay = 1; - return; - } - } - - if (var0.sequence != -1 && var0.sequenceDelay == 0) { - var1 = class83.SequenceDefinition_get(var0.sequence); - if (var1 != null && var1.frameIds != null) { - ++var0.sequenceFrameCycle; - if (var0.sequenceFrame < var1.frameIds.length && var0.sequenceFrameCycle > var1.frameLengths[var0.sequenceFrame]) { - var0.sequenceFrameCycle = 1; - ++var0.sequenceFrame; - WorldMapSectionType.addSequenceSoundEffect(var1, var0.sequenceFrame, var0.x * -78439701, var0.y); - } - - if (var0.sequenceFrame >= var1.frameIds.length) { - var0.sequenceFrame -= var1.frameCount; - ++var0.field924; - if (var0.field924 >= var1.field3492) { - var0.sequence = -1; - } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var1.frameIds.length) { - WorldMapSectionType.addSequenceSoundEffect(var1, var0.sequenceFrame, var0.x * -78439701, var0.y); - } else { - var0.sequence = -1; - } - } - - var0.isWalking = var1.field3495; - } else { - var0.sequence = -1; - } - } - - if (var0.sequenceDelay > 0) { - --var0.sequenceDelay; - } - - } -} +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("iv") +@Implements("HitSplatDefinition") +public class HitSplatDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HitSplatDefinition_archive") + public static AbstractArchive HitSplatDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("HitSplatDefinition_fontsArchive") + static AbstractArchive HitSplatDefinition_fontsArchive; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("HitSplatDefinition_cached") + public static EvictingDualNodeHashTable HitSplatDefinition_cached; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("HitSplatDefinition_cachedSprites") + static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("HitSplatDefinition_cachedFonts") + static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; + @ObfuscatedName("es") + @ObfuscatedGetter( + intValue = 290330035 + ) + @Export("port1") + static int port1; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -135266261 + ) + @Export("fontId") + int fontId; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -296610035 + ) + @Export("textColor") + public int textColor; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 31719475 + ) + public int field3318; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1509097345 + ) + int field3319; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -591877115 + ) + int field3332; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -2011301745 + ) + int field3321; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1974829897 + ) + int field3322; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -87931297 + ) + public int field3323; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -577071813 + ) + public int field3311; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1569661547 + ) + public int field3325; + @ObfuscatedName("f") + String field3316; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1618086973 + ) + public int field3327; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1970000523 + ) + public int field3334; + @ObfuscatedName("l") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 354517383 + ) + @Export("transformVarbit") + int transformVarbit; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -168749029 + ) + @Export("transformVarp") + int transformVarp; + + static { + HitSplatDefinition_cached = new EvictingDualNodeHashTable(64); + HitSplatDefinition_cachedSprites = new EvictingDualNodeHashTable(64); + HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20); + } + + public HitSplatDefinition() { + this.fontId = -1; + this.textColor = 16777215; + this.field3318 = 70; + this.field3319 = -1; + this.field3332 = -1; + this.field3321 = -1; + this.field3322 = -1; + this.field3323 = 0; + this.field3311 = 0; + this.field3325 = -1; + this.field3316 = ""; + this.field3327 = -1; + this.field3334 = 0; + this.transformVarbit = -1; + this.transformVarp = -1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-110" + ) + @Export("decode") + public void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "1800631473" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.fontId = var1.method5438(); + } else if (var2 == 2) { + this.textColor = var1.readMedium(); + } else if (var2 == 3) { + this.field3319 = var1.method5438(); + } else if (var2 == 4) { + this.field3321 = var1.method5438(); + } else if (var2 == 5) { + this.field3332 = var1.method5438(); + } else if (var2 == 6) { + this.field3322 = var1.method5438(); + } else if (var2 == 7) { + this.field3323 = var1.readShort(); + } else if (var2 == 8) { + this.field3316 = var1.readStringCp1252NullCircumfixed(); + } else if (var2 == 9) { + this.field3318 = var1.readUnsignedShort(); + } else if (var2 == 10) { + this.field3311 = var1.readShort(); + } else if (var2 == 11) { + this.field3325 = 0; + } else if (var2 == 12) { + this.field3327 = var1.readUnsignedByte(); + } else if (var2 == 13) { + this.field3334 = var1.readShort(); + } else if (var2 == 14) { + this.field3325 = var1.readUnsignedShort(); + } else if (var2 == 17 || var2 == 18) { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } + + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } + + int var3 = -1; + if (var2 == 18) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } + + int var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; + + for (int var5 = 0; var5 <= var4; ++var5) { + this.transforms[var5] = var1.readUnsignedShort(); + if (this.transforms[var5] == 65535) { + this.transforms[var5] = -1; + } + } + + this.transforms[var4 + 1] = var3; + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Liv;", + garbageValue = "723685" + ) + @Export("transform") + public final HitSplatDefinition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = WorldMapSprite.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } + + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } + + if (var2 != -1) { + HitSplatDefinition var4 = (HitSplatDefinition)HitSplatDefinition_cached.get((long)var2); + HitSplatDefinition var3; + if (var4 != null) { + var3 = var4; + } else { + byte[] var5 = HitSplatDefinition_archive.takeFile(32, var2); + var4 = new HitSplatDefinition(); + if (var5 != null) { + var4.decode(new Buffer(var5)); + } + + HitSplatDefinition_cached.put(var4, (long)var2); + var3 = var4; + } + + return var3; + } else { + return null; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IB)Ljava/lang/String;", + garbageValue = "13" + ) + @Export("getString") + public String getString(int var1) { + String var2 = this.field3316; + + while (true) { + int var3 = var2.indexOf("%1"); + if (var3 < 0) { + return var2; + } + + var2 = var2.substring(0, var3) + HealthBar.intToString(var1, false) + var2.substring(var3 + 2); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)Llf;", + garbageValue = "106816510" + ) + public Sprite method4508() { + if (this.field3319 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3319); + if (var1 != null) { + return var1; + } else { + var1 = NPCDefinition.SpriteBuffer_getSprite(GrandExchangeOfferNameComparator.field66, this.field3319, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3319); + } + + return var1; + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Llf;", + garbageValue = "-123360505" + ) + public Sprite method4505() { + if (this.field3332 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3332); + if (var1 != null) { + return var1; + } else { + var1 = NPCDefinition.SpriteBuffer_getSprite(GrandExchangeOfferNameComparator.field66, this.field3332, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3332); + } + + return var1; + } + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(B)Llf;", + garbageValue = "88" + ) + public Sprite method4506() { + if (this.field3321 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3321); + if (var1 != null) { + return var1; + } else { + var1 = NPCDefinition.SpriteBuffer_getSprite(GrandExchangeOfferNameComparator.field66, this.field3321, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3321); + } + + return var1; + } + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Llf;", + garbageValue = "750571201" + ) + public Sprite method4530() { + if (this.field3322 < 0) { + return null; + } else { + Sprite var1 = (Sprite)HitSplatDefinition_cachedSprites.get((long)this.field3322); + if (var1 != null) { + return var1; + } else { + var1 = NPCDefinition.SpriteBuffer_getSprite(GrandExchangeOfferNameComparator.field66, this.field3322, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3322); + } + + return var1; + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Lkn;", + garbageValue = "-1418238828" + ) + @Export("getFont") + public Font getFont() { + if (this.fontId == -1) { + return null; + } else { + Font var1 = (Font)HitSplatDefinition_cachedFonts.get((long)this.fontId); + if (var1 != null) { + return var1; + } else { + var1 = ClanMate.method4964(GrandExchangeOfferNameComparator.field66, HitSplatDefinition_fontsArchive, this.fontId, 0); + if (var1 != null) { + HitSplatDefinition_cachedFonts.put(var1, (long)this.fontId); + } + + return var1; + } + } + } +} diff --git a/runescape-client/src/main/java/HorizontalAlignment.java b/runescape-client/src/main/java/HorizontalAlignment.java index c9b86596c8..b328f888f9 100644 --- a/runescape-client/src/main/java/HorizontalAlignment.java +++ b/runescape-client/src/main/java/HorizontalAlignment.java @@ -1,54 +1,56 @@ -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("ie") -@Implements("HorizontalAlignment") -public enum HorizontalAlignment implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lie;" - ) - field3428(2, 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lie;" - ) - @Export("HorizontalAlignment_centered") - HorizontalAlignment_centered(1, 1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lie;" - ) - field3430(0, 2); - - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -490726387 - ) - @Export("value") - public final int value; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 501971729 - ) - @Export("id") - final int id; - - HorizontalAlignment(int var3, int var4) { - this.value = var3; - this.id = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } -} +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("in") +@Implements("HorizontalAlignment") +public enum HorizontalAlignment implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lin;" + ) + field3444(1, 0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lin;" + ) + @Export("HorizontalAlignment_centered") + HorizontalAlignment_centered(2, 1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lin;" + ) + field3442(0, 2); + + @ObfuscatedName("q") + public static short[] field3447; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 87636045 + ) + @Export("value") + public final int value; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1916297519 + ) + @Export("id") + final int id; + + HorizontalAlignment(int var3, int var4) { + this.value = var3; + this.id = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } +} diff --git a/runescape-client/src/main/java/Huffman.java b/runescape-client/src/main/java/Huffman.java index f81b6eb22c..098a48b578 100644 --- a/runescape-client/src/main/java/Huffman.java +++ b/runescape-client/src/main/java/Huffman.java @@ -1,320 +1,296 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hq") -@Implements("Huffman") -public class Huffman { - @ObfuscatedName("c") - @Export("masks") - int[] masks; - @ObfuscatedName("x") - @Export("bits") - byte[] bits; - @ObfuscatedName("t") - @Export("keys") - int[] keys; - - public Huffman(byte[] var1) { - int var2 = var1.length; - this.masks = new int[var2]; - this.bits = var1; - int[] var3 = new int[33]; - this.keys = new int[8]; - int var4 = 0; - - for (int var5 = 0; var5 < var2; ++var5) { - byte var6 = var1[var5]; - if (var6 != 0) { - int var7 = 1 << 32 - var6; - int var8 = var3[var6]; - this.masks[var5] = var8; - int var9; - int var10; - int var11; - int var12; - if ((var8 & var7) != 0) { - var9 = var3[var6 - 1]; - } else { - var9 = var8 | var7; - - for (var10 = var6 - 1; var10 >= 1; --var10) { - var11 = var3[var10]; - if (var8 != var11) { - break; - } - - var12 = 1 << 32 - var10; - if ((var11 & var12) != 0) { - var3[var10] = var3[var10 - 1]; - break; - } - - var3[var10] = var11 | var12; - } - } - - var3[var6] = var9; - - for (var10 = var6 + 1; var10 <= 32; ++var10) { - if (var8 == var3[var10]) { - var3[var10] = var9; - } - } - - var10 = 0; - - for (var11 = 0; var11 < var6; ++var11) { - var12 = Integer.MIN_VALUE >>> var11; - if ((var8 & var12) != 0) { - if (this.keys[var10] == 0) { - this.keys[var10] = var4; - } - - var10 = this.keys[var10]; - } else { - ++var10; - } - - if (var10 >= this.keys.length) { - int[] var13 = new int[this.keys.length * 2]; - - for (int var14 = 0; var14 < this.keys.length; ++var14) { - var13[var14] = this.keys[var14]; - } - - this.keys = var13; - } - - var12 >>>= 1; - } - - this.keys[var10] = ~var5; - if (var10 >= var4) { - var4 = var10 + 1; - } - } - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([BII[BII)I", - garbageValue = "-1468979642" - ) - @Export("compress") - int compress(byte[] var1, int var2, int var3, byte[] var4, int var5) { - int var6 = 0; - int var7 = var5 << 3; - - for (var3 += var2; var2 < var3; ++var2) { - int var8 = var1[var2] & 255; - int var9 = this.masks[var8]; - byte var10 = this.bits[var8]; - if (var10 == 0) { - throw new RuntimeException("" + var8); - } - - int var11 = var7 >> 3; - int var12 = var7 & 7; - var6 &= -var12 >> 31; - int var13 = (var10 + var12 - 1 >> 3) + var11; - var12 += 24; - var4[var11] = (byte)(var6 |= var9 >>> var12); - if (var11 < var13) { - ++var11; - var12 -= 8; - var4[var11] = (byte)(var6 = var9 >>> var12); - if (var11 < var13) { - ++var11; - var12 -= 8; - var4[var11] = (byte)(var6 = var9 >>> var12); - if (var11 < var13) { - ++var11; - var12 -= 8; - var4[var11] = (byte)(var6 = var9 >>> var12); - if (var11 < var13) { - ++var11; - var12 -= 8; - var4[var11] = (byte)(var6 = var9 << -var12); - } - } - } - } - - var7 += var10; - } - - return (var7 + 7 >> 3) - var5; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "([BI[BIII)I", - garbageValue = "-103624284" - ) - @Export("decompress") - int decompress(byte[] var1, int var2, byte[] var3, int var4, int var5) { - if (var5 == 0) { - return 0; - } else { - int var6 = 0; - var5 += var4; - int var7 = var2; - - while (true) { - byte var8 = var1[var7]; - if (var8 < 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - int var9; - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - if ((var8 & 64) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - if ((var8 & 32) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - if ((var8 & 16) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - if ((var8 & 8) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - if ((var8 & 4) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - if ((var8 & 2) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - if ((var8 & 1) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } - - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { - break; - } - - var6 = 0; - } - - ++var7; - } - - return var7 + 1 - var2; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "-31428" - ) - static void method3942() { - Players.Players_count = 0; - - for (int var0 = 0; var0 < 2048; ++var0) { - Players.field1221[var0] = null; - Players.field1220[var0] = 1; - } - - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-434876538" - ) - static final void method3943() { - WorldMapSection2.method283("You can't add yourself to your own ignore list"); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ht") +@Implements("Huffman") +public class Huffman { + @ObfuscatedName("z") + @Export("masks") + int[] masks; + @ObfuscatedName("n") + @Export("bits") + byte[] bits; + @ObfuscatedName("v") + @Export("keys") + int[] keys; + + public Huffman(byte[] var1) { + int var2 = var1.length; + this.masks = new int[var2]; + this.bits = var1; + int[] var3 = new int[33]; + this.keys = new int[8]; + int var4 = 0; + + for (int var5 = 0; var5 < var2; ++var5) { + byte var6 = var1[var5]; + if (var6 != 0) { + int var7 = 1 << 32 - var6; + int var8 = var3[var6]; + this.masks[var5] = var8; + int var9; + int var10; + int var11; + int var12; + if ((var8 & var7) != 0) { + var9 = var3[var6 - 1]; + } else { + var9 = var8 | var7; + + for (var10 = var6 - 1; var10 >= 1; --var10) { + var11 = var3[var10]; + if (var8 != var11) { + break; + } + + var12 = 1 << 32 - var10; + if ((var11 & var12) != 0) { + var3[var10] = var3[var10 - 1]; + break; + } + + var3[var10] = var11 | var12; + } + } + + var3[var6] = var9; + + for (var10 = var6 + 1; var10 <= 32; ++var10) { + if (var8 == var3[var10]) { + var3[var10] = var9; + } + } + + var10 = 0; + + for (var11 = 0; var11 < var6; ++var11) { + var12 = Integer.MIN_VALUE >>> var11; + if ((var8 & var12) != 0) { + if (this.keys[var10] == 0) { + this.keys[var10] = var4; + } + + var10 = this.keys[var10]; + } else { + ++var10; + } + + if (var10 >= this.keys.length) { + int[] var13 = new int[this.keys.length * 2]; + + for (int var14 = 0; var14 < this.keys.length; ++var14) { + var13[var14] = this.keys[var14]; + } + + this.keys = var13; + } + + var12 >>>= 1; + } + + this.keys[var10] = ~var5; + if (var10 >= var4) { + var4 = var10 + 1; + } + } + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([BII[BII)I", + garbageValue = "2067037926" + ) + @Export("compress") + int compress(byte[] var1, int var2, int var3, byte[] var4, int var5) { + int var6 = 0; + int var7 = var5 << 3; + + for (var3 += var2; var2 < var3; ++var2) { + int var8 = var1[var2] & 255; + int var9 = this.masks[var8]; + byte var10 = this.bits[var8]; + if (var10 == 0) { + throw new RuntimeException("" + var8); + } + + int var11 = var7 >> 3; + int var12 = var7 & 7; + var6 &= -var12 >> 31; + int var13 = (var12 + var10 - 1 >> 3) + var11; + var12 += 24; + var4[var11] = (byte)(var6 |= var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 << -var12); + } + } + } + } + + var7 += var10; + } + + return (var7 + 7 >> 3) - var5; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "([BI[BIII)I", + garbageValue = "98933619" + ) + @Export("decompress") + int decompress(byte[] var1, int var2, byte[] var3, int var4, int var5) { + if (var5 == 0) { + return 0; + } else { + int var6 = 0; + var5 += var4; + int var7 = var2; + + while (true) { + byte var8 = var1[var7]; + if (var8 < 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + int var9; + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + if ((var8 & 64) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + if ((var8 & 32) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + if ((var8 & 16) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + if ((var8 & 8) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + if ((var8 & 4) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + if ((var8 & 2) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + if ((var8 & 1) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } + + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } + + var6 = 0; + } + + ++var7; + } + + return var7 + 1 - var2; + } + } +} diff --git a/runescape-client/src/main/java/IgnoreList.java b/runescape-client/src/main/java/IgnoreList.java index 842d109974..fd2fc8f82f 100644 --- a/runescape-client/src/main/java/IgnoreList.java +++ b/runescape-client/src/main/java/IgnoreList.java @@ -1,100 +1,97 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ji") -@Implements("IgnoreList") -public class IgnoreList extends UserList { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lll;" - ) - @Export("loginType") - final LoginType loginType; - - @ObfuscatedSignature( - signature = "(Lll;)V" - ) - public IgnoreList(LoginType var1) { - super(400); - this.loginType = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Ljw;", - garbageValue = "-734254876" - ) - @Export("newInstance") - User newInstance() { - return new Ignored(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)[Ljw;", - garbageValue = "1353779565" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new Ignored[var1]; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "112" - ) - @Export("read") - public void read(Buffer var1, int var2) { - while (true) { - if (var1.offset < var2) { - int var3 = var1.readUnsignedByte(); - boolean var4 = (var3 & 1) == 1; - Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); - Username var6 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); - var1.readStringCp1252NullTerminated(); - if (var5 != null && var5.hasCleanName()) { - Ignored var7 = (Ignored)this.getByCurrentUsername(var5); - if (var4) { - Ignored var8 = (Ignored)this.getByCurrentUsername(var6); - if (var8 != null && var7 != var8) { - if (var7 != null) { - this.remove(var8); - } else { - var7 = var8; - } - } - } - - if (var7 != null) { - this.changeName(var7, var5, var6); - continue; - } - - if (this.getSize() < 400) { - int var9 = this.getSize(); - var7 = (Ignored)this.addLast(var5, var6); - var7.id = var9; - } - continue; - } - - throw new IllegalStateException(); - } - - return; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)I", - garbageValue = "-317762275" - ) - @Export("parseInt") - public static int parseInt(CharSequence var0) { - return class51.parseIntCustomRadix(var0, 10, true); - } -} +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("jw") +@Implements("IgnoreList") +public class IgnoreList extends UserList { + @ObfuscatedName("hg") + @ObfuscatedGetter( + intValue = 1294899127 + ) + @Export("cameraPitch") + static int cameraPitch; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lli;" + ) + @Export("loginType") + final LoginType loginType; + + @ObfuscatedSignature( + signature = "(Lli;)V" + ) + public IgnoreList(LoginType var1) { + super(400); + this.loginType = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)Ljh;", + garbageValue = "2" + ) + @Export("newInstance") + User newInstance() { + return new Ignored(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)[Ljh;", + garbageValue = "951526901" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new Ignored[var1]; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;IB)V", + garbageValue = "30" + ) + @Export("read") + public void read(Buffer var1, int var2) { + while (true) { + if (var1.offset < var2) { + int var3 = var1.readUnsignedByte(); + boolean var4 = (var3 & 1) == 1; + Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + Username var6 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + var1.readStringCp1252NullTerminated(); + if (var5 != null && var5.hasCleanName()) { + Ignored var7 = (Ignored)this.getByCurrentUsername(var5); + if (var4) { + Ignored var8 = (Ignored)this.getByCurrentUsername(var6); + if (var8 != null && var7 != var8) { + if (var7 != null) { + this.remove(var8); + } else { + var7 = var8; + } + } + } + + if (var7 != null) { + this.changeName(var7, var5, var6); + continue; + } + + if (this.getSize() < 400) { + int var9 = this.getSize(); + var7 = (Ignored)this.addLast(var5, var6); + var7.id = var9; + } + continue; + } + + throw new IllegalStateException(); + } + + return; + } + } +} diff --git a/runescape-client/src/main/java/Ignored.java b/runescape-client/src/main/java/Ignored.java index 5f83106891..ee34d29f15 100644 --- a/runescape-client/src/main/java/Ignored.java +++ b/runescape-client/src/main/java/Ignored.java @@ -1,48 +1,43 @@ -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("ja") -@Implements("Ignored") -public class Ignored extends User { - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -741331501 - ) - static int field3577; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 2731755 - ) - @Export("id") - int id; - - Ignored() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lja;I)I", - garbageValue = "-1305970112" - ) - @Export("compareTo_ignored") - int compareTo_ignored(Ignored var1) { - return this.id - var1.id; - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(Ljw;B)I", - garbageValue = "-92" - ) - @Export("compareTo_user") - public int compareTo_user(User var1) { - return this.compareTo_ignored((Ignored)var1); - } - - public int compareTo(Object var1) { - return this.compareTo_ignored((Ignored)var1); - } -} +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("jn") +@Implements("Ignored") +public class Ignored extends User { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -2093810797 + ) + @Export("id") + int id; + + Ignored() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljn;I)I", + garbageValue = "1947810954" + ) + @Export("compareTo_ignored") + int compareTo_ignored(Ignored var1) { + return this.id - var1.id; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljh;I)I", + garbageValue = "-531306911" + ) + @Export("compareTo_user") + public int compareTo_user(User var1) { + return this.compareTo_ignored((Ignored)var1); + } + + public int compareTo(Object var1) { + return this.compareTo_ignored((Ignored)var1); + } +} diff --git a/runescape-client/src/main/java/IndexedSprite.java b/runescape-client/src/main/java/IndexedSprite.java index 0236bcfce9..b5eb2b37bf 100644 --- a/runescape-client/src/main/java/IndexedSprite.java +++ b/runescape-client/src/main/java/IndexedSprite.java @@ -1,274 +1,274 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("lt") -@Implements("IndexedSprite") -public final class IndexedSprite extends Rasterizer2D { - @ObfuscatedName("c") - @Export("pixels") - public byte[] pixels; - @ObfuscatedName("x") - @Export("palette") - public int[] palette; - @ObfuscatedName("t") - @Export("subWidth") - public int subWidth; - @ObfuscatedName("g") - @Export("subHeight") - public int subHeight; - @ObfuscatedName("l") - @Export("xOffset") - public int xOffset; - @ObfuscatedName("u") - @Export("yOffset") - public int yOffset; - @ObfuscatedName("j") - @Export("width") - public int width; - @ObfuscatedName("v") - @Export("height") - public int height; - - @ObfuscatedName("c") - @Export("normalize") - public void normalize() { - if (this.subWidth != this.width || this.subHeight != this.height) { - byte[] var1 = new byte[this.width * this.height]; - int var2 = 0; - - for (int var3 = 0; var3 < this.subHeight; ++var3) { - for (int var4 = 0; var4 < this.subWidth; ++var4) { - var1[var4 + (var3 + this.yOffset) * this.width + this.xOffset] = this.pixels[var2++]; - } - } - - this.pixels = var1; - this.subWidth = this.width; - this.subHeight = this.height; - this.xOffset = 0; - this.yOffset = 0; - } - } - - @ObfuscatedName("x") - @Export("shiftColors") - public void shiftColors(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.palette.length; ++var4) { - int var5 = this.palette[var4] >> 16 & 255; - var5 += var1; - if (var5 < 0) { - var5 = 0; - } else if (var5 > 255) { - var5 = 255; - } - - int var6 = this.palette[var4] >> 8 & 255; - var6 += var2; - if (var6 < 0) { - var6 = 0; - } else if (var6 > 255) { - var6 = 255; - } - - int var7 = this.palette[var4] & 255; - var7 += var3; - if (var7 < 0) { - var7 = 0; - } else if (var7 > 255) { - var7 = 255; - } - - this.palette[var4] = var7 + (var6 << 8) + (var5 << 16); - } - - } - - @ObfuscatedName("t") - @Export("drawAt") - public void drawAt(int var1, int var2) { - var1 += this.xOffset; - var2 += this.yOffset; - int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var4 = 0; - int var5 = this.subHeight; - int var6 = this.subWidth; - int var7 = Rasterizer2D.Rasterizer2D_width - var6; - int var8 = 0; - int var9; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var5 -= var9; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var4 += var9 * var6; - var3 += var9 * Rasterizer2D.Rasterizer2D_width; - } - - if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var6 -= var9; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var4 += var9; - var3 += var9; - var8 += var9; - var7 += var9; - } - - if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var6 -= var9; - var8 += var9; - var7 += var9; - } - - if (var6 > 0 && var5 > 0) { - IndexedSprite_two(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var4, var3, var6, var5, var7, var8); - } - } - - @ObfuscatedName("l") - public void method6059(int var1, int var2, int var3, int var4) { - int var5 = this.subWidth; - int var6 = this.subHeight; - int var7 = 0; - int var8 = 0; - int var9 = this.width; - int var10 = this.height; - int var11 = (var9 << 16) / var3; - int var12 = (var10 << 16) / var4; - int var13; - if (this.xOffset > 0) { - var13 = (var11 + (this.xOffset << 16) - 1) / var11; - var1 += var13; - var7 += var13 * var11 - (this.xOffset << 16); - } - - if (this.yOffset > 0) { - var13 = (var12 + (this.yOffset << 16) - 1) / var12; - var2 += var13; - var8 += var13 * var12 - (this.yOffset << 16); - } - - if (var5 < var9) { - var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; - } - - if (var6 < var10) { - var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } - - var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var14 = Rasterizer2D.Rasterizer2D_width - var3; - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - int var15; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var4 -= var15; - var13 += var15 * Rasterizer2D.Rasterizer2D_width; - var8 += var12 * var15; - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var3 -= var15; - var14 += var15; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var3 -= var15; - var13 += var15; - var7 += var11 * var15; - var14 += var15; - } - - IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5); - } - - @ObfuscatedName("g") - @Export("IndexedSprite_two") - static void IndexedSprite_two(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = -(var5 >> 2); - var5 = -(var5 & 3); - - for (int var10 = -var6; var10 < 0; ++var10) { - int var11; - byte var12; - for (var11 = var9; var11 < 0; ++var11) { - var12 = var1[var3++]; - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; - } - - var12 = var1[var3++]; - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; - } - - var12 = var1[var3++]; - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; - } - - var12 = var1[var3++]; - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; - } - } - - for (var11 = var5; var11 < 0; ++var11) { - var12 = var1[var3++]; - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; - } - } - - var4 += var7; - var3 += var8; - } - - } - - @ObfuscatedName("u") - @Export("IndexedSprite_something") - static void IndexedSprite_something(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { - int var12 = var3; - - for (int var13 = -var8; var13 < 0; ++var13) { - int var14 = var11 * (var4 >> 16); - - for (int var15 = -var7; var15 < 0; ++var15) { - byte var16 = var1[(var3 >> 16) + var14]; - if (var16 != 0) { - var0[var5++] = var2[var16 & 255]; - } else { - ++var5; - } - - var3 += var9; - } - - var4 += var10; - var3 = var12; - var5 += var6; - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("lp") +@Implements("IndexedSprite") +public final class IndexedSprite extends Rasterizer2D { + @ObfuscatedName("z") + @Export("pixels") + public byte[] pixels; + @ObfuscatedName("n") + @Export("palette") + public int[] palette; + @ObfuscatedName("v") + @Export("subWidth") + public int subWidth; + @ObfuscatedName("u") + @Export("subHeight") + public int subHeight; + @ObfuscatedName("r") + @Export("xOffset") + public int xOffset; + @ObfuscatedName("p") + @Export("yOffset") + public int yOffset; + @ObfuscatedName("q") + @Export("width") + public int width; + @ObfuscatedName("m") + @Export("height") + public int height; + + @ObfuscatedName("z") + @Export("normalize") + public void normalize() { + if (this.subWidth != this.width || this.subHeight != this.height) { + byte[] var1 = new byte[this.width * this.height]; + int var2 = 0; + + for (int var3 = 0; var3 < this.subHeight; ++var3) { + for (int var4 = 0; var4 < this.subWidth; ++var4) { + var1[var4 + (var3 + this.yOffset) * this.width + this.xOffset] = this.pixels[var2++]; + } + } + + this.pixels = var1; + this.subWidth = this.width; + this.subHeight = this.height; + this.xOffset = 0; + this.yOffset = 0; + } + } + + @ObfuscatedName("n") + @Export("shiftColors") + public void shiftColors(int var1, int var2, int var3) { + for (int var4 = 0; var4 < this.palette.length; ++var4) { + int var5 = this.palette[var4] >> 16 & 255; + var5 += var1; + if (var5 < 0) { + var5 = 0; + } else if (var5 > 255) { + var5 = 255; + } + + int var6 = this.palette[var4] >> 8 & 255; + var6 += var2; + if (var6 < 0) { + var6 = 0; + } else if (var6 > 255) { + var6 = 255; + } + + int var7 = this.palette[var4] & 255; + var7 += var3; + if (var7 < 0) { + var7 = 0; + } else if (var7 > 255) { + var7 = 255; + } + + this.palette[var4] = var7 + (var6 << 8) + (var5 << 16); + } + + } + + @ObfuscatedName("v") + @Export("drawAt") + public void drawAt(int var1, int var2) { + var1 += this.xOffset; + var2 += this.yOffset; + int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var4 = 0; + int var5 = this.subHeight; + int var6 = this.subWidth; + int var7 = Rasterizer2D.Rasterizer2D_width - var6; + int var8 = 0; + int var9; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var5 -= var9; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var4 += var9 * var6; + var3 += var9 * Rasterizer2D.Rasterizer2D_width; + } + + if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var6 -= var9; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if (var6 > 0 && var5 > 0) { + IndexedSprite_two(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var4, var3, var6, var5, var7, var8); + } + } + + @ObfuscatedName("r") + public void method6019(int var1, int var2, int var3, int var4) { + int var5 = this.subWidth; + int var6 = this.subHeight; + int var7 = 0; + int var8 = 0; + int var9 = this.width; + int var10 = this.height; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if (this.xOffset > 0) { + var13 = (var11 + (this.xOffset << 16) - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.xOffset << 16); + } + + if (this.yOffset > 0) { + var13 = (var12 + (this.yOffset << 16) - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.yOffset << 16); + } + + if (var5 < var9) { + var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; + } + + if (var6 < var10) { + var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } + + var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + int var15; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var15; + var13 += var15 * Rasterizer2D.Rasterizer2D_width; + var8 += var12 * var15; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var15; + var14 += var15; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } + + IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } + + @ObfuscatedName("u") + @Export("IndexedSprite_two") + static void IndexedSprite_two(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for (int var10 = -var6; var10 < 0; ++var10) { + int var11; + byte var12; + for (var11 = var9; var11 < 0; ++var11) { + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } + + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } + + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } + + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } + } + + for (var11 = var5; var11 < 0; ++var11) { + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("p") + @Export("IndexedSprite_something") + static void IndexedSprite_something(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + int var12 = var3; + + for (int var13 = -var8; var13 < 0; ++var13) { + int var14 = var11 * (var4 >> 16); + + for (int var15 = -var7; var15 < 0; ++var15) { + byte var16 = var1[(var3 >> 16) + var14]; + if (var16 != 0) { + var0[var5++] = var2[var16 & 255]; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var12; + var5 += var6; + } + + } +} diff --git a/runescape-client/src/main/java/Instrument.java b/runescape-client/src/main/java/Instrument.java index 4021f1ea23..5aea16b499 100644 --- a/runescape-client/src/main/java/Instrument.java +++ b/runescape-client/src/main/java/Instrument.java @@ -1,426 +1,426 @@ -import java.util.Random; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dw") -@Implements("Instrument") -public class Instrument { - @ObfuscatedName("q") - @Export("Instrument_samples") - static int[] Instrument_samples; - @ObfuscatedName("y") - @Export("Instrument_noise") - static int[] Instrument_noise; - @ObfuscatedName("r") - @Export("Instrument_sine") - static int[] Instrument_sine; - @ObfuscatedName("w") - @Export("Instrument_phases") - static int[] Instrument_phases; - @ObfuscatedName("m") - @Export("Instrument_delays") - static int[] Instrument_delays; - @ObfuscatedName("o") - @Export("Instrument_volumeSteps") - static int[] Instrument_volumeSteps; - @ObfuscatedName("a") - @Export("Instrument_pitchSteps") - static int[] Instrument_pitchSteps; - @ObfuscatedName("b") - @Export("Instrument_pitchBaseSteps") - static int[] Instrument_pitchBaseSteps; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("pitch") - SoundEnvelope pitch; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("volume") - SoundEnvelope volume; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("pitchModifier") - SoundEnvelope pitchModifier; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("pitchModifierAmplitude") - SoundEnvelope pitchModifierAmplitude; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("volumeMultiplier") - SoundEnvelope volumeMultiplier; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("volumeMultiplierAmplitude") - SoundEnvelope volumeMultiplierAmplitude; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("release") - SoundEnvelope release; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("attack") - SoundEnvelope attack; - @ObfuscatedName("d") - @Export("oscillatorVolume") - int[] oscillatorVolume; - @ObfuscatedName("z") - @Export("oscillatorPitch") - int[] oscillatorPitch; - @ObfuscatedName("n") - @Export("oscillatorDelays") - int[] oscillatorDelays; - @ObfuscatedName("h") - @Export("delayTime") - int delayTime; - @ObfuscatedName("f") - @Export("delayDecay") - int delayDecay; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Ldl;" - ) - @Export("filter") - AudioFilter filter; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Ldo;" - ) - @Export("filterEnvelope") - SoundEnvelope filterEnvelope; - @ObfuscatedName("e") - @Export("duration") - int duration; - @ObfuscatedName("i") - @Export("offset") - int offset; - - static { - Instrument_noise = new int[32768]; - Random var0 = new Random(0L); - - int var1; - for (var1 = 0; var1 < 32768; ++var1) { - Instrument_noise[var1] = (var0.nextInt() & 2) - 1; - } - - Instrument_sine = new int[32768]; - - for (var1 = 0; var1 < 32768; ++var1) { - Instrument_sine[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D); - } - - Instrument_samples = new int[220500]; - Instrument_phases = new int[5]; - Instrument_delays = new int[5]; - Instrument_volumeSteps = new int[5]; - Instrument_pitchSteps = new int[5]; - Instrument_pitchBaseSteps = new int[5]; - } - - Instrument() { - this.oscillatorVolume = new int[]{0, 0, 0, 0, 0}; - this.oscillatorPitch = new int[]{0, 0, 0, 0, 0}; - this.oscillatorDelays = new int[]{0, 0, 0, 0, 0}; - this.delayTime = 0; - this.delayDecay = 100; - this.duration = 500; - this.offset = 0; - } - - @ObfuscatedName("c") - @Export("synthesize") - final int[] synthesize(int var1, int var2) { - class300.clearIntArray(Instrument_samples, 0, var1); - if (var2 < 10) { - return Instrument_samples; - } else { - double var3 = (double)var1 / ((double)var2 + 0.0D); - this.pitch.reset(); - this.volume.reset(); - int var5 = 0; - int var6 = 0; - int var7 = 0; - if (this.pitchModifier != null) { - this.pitchModifier.reset(); - this.pitchModifierAmplitude.reset(); - var5 = (int)((double)(this.pitchModifier.end - this.pitchModifier.start) * 32.768D / var3); - var6 = (int)((double)this.pitchModifier.start * 32.768D / var3); - } - - int var8 = 0; - int var9 = 0; - int var10 = 0; - if (this.volumeMultiplier != null) { - this.volumeMultiplier.reset(); - this.volumeMultiplierAmplitude.reset(); - var8 = (int)((double)(this.volumeMultiplier.end - this.volumeMultiplier.start) * 32.768D / var3); - var9 = (int)((double)this.volumeMultiplier.start * 32.768D / var3); - } - - int var11; - for (var11 = 0; var11 < 5; ++var11) { - if (this.oscillatorVolume[var11] != 0) { - Instrument_phases[var11] = 0; - Instrument_delays[var11] = (int)((double)this.oscillatorDelays[var11] * var3); - Instrument_volumeSteps[var11] = (this.oscillatorVolume[var11] << 14) / 100; - Instrument_pitchSteps[var11] = (int)((double)(this.pitch.end - this.pitch.start) * 32.768D * Math.pow(1.0057929410678534D, (double)this.oscillatorPitch[var11]) / var3); - Instrument_pitchBaseSteps[var11] = (int)((double)this.pitch.start * 32.768D / var3); - } - } - - int var12; - int var13; - int var14; - int var15; - int[] var10000; - for (var11 = 0; var11 < var1; ++var11) { - var12 = this.pitch.doStep(var1); - var13 = this.volume.doStep(var1); - if (this.pitchModifier != null) { - var14 = this.pitchModifier.doStep(var1); - var15 = this.pitchModifierAmplitude.doStep(var1); - var12 += this.evaluateWave(var7, var15, this.pitchModifier.form) >> 1; - var7 = var7 + var6 + (var14 * var5 >> 16); - } - - if (this.volumeMultiplier != null) { - var14 = this.volumeMultiplier.doStep(var1); - var15 = this.volumeMultiplierAmplitude.doStep(var1); - var13 = var13 * ((this.evaluateWave(var10, var15, this.volumeMultiplier.form) >> 1) + 32768) >> 15; - var10 = var10 + var9 + (var14 * var8 >> 16); - } - - for (var14 = 0; var14 < 5; ++var14) { - if (this.oscillatorVolume[var14] != 0) { - var15 = Instrument_delays[var14] + var11; - if (var15 < var1) { - var10000 = Instrument_samples; - var10000[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form); - var10000 = Instrument_phases; - var10000[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14]; - } - } - } - } - - int var16; - if (this.release != null) { - this.release.reset(); - this.attack.reset(); - var11 = 0; - boolean var19 = false; - boolean var20 = true; - - for (var14 = 0; var14 < var1; ++var14) { - var15 = this.release.doStep(var1); - var16 = this.attack.doStep(var1); - if (var20) { - var12 = (var15 * (this.release.end - this.release.start) >> 8) + this.release.start; - } else { - var12 = (var16 * (this.release.end - this.release.start) >> 8) + this.release.start; - } - - var11 += 256; - if (var11 >= var12) { - var11 = 0; - var20 = !var20; - } - - if (var20) { - Instrument_samples[var14] = 0; - } - } - } - - if (this.delayTime > 0 && this.delayDecay > 0) { - var11 = (int)((double)this.delayTime * var3); - - for (var12 = var11; var12 < var1; ++var12) { - var10000 = Instrument_samples; - var10000[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100; - } - } - - if (this.filter.pairs[0] > 0 || this.filter.pairs[1] > 0) { - this.filterEnvelope.reset(); - var11 = this.filterEnvelope.doStep(var1 + 1); - var12 = this.filter.compute(0, (float)var11 / 65536.0F); - var13 = this.filter.compute(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)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - - for (var17 = 0; var17 < var12; ++var17) { - var16 += (int)((long)Instrument_samples[var14 + var12 - 1 - var17] * (long)AudioFilter.coefficients[0][var17] >> 16); - } - - for (var17 = 0; var17 < var14; ++var17) { - var16 -= (int)((long)Instrument_samples[var14 - 1 - var17] * (long)AudioFilter.coefficients[1][var17] >> 16); - } - - Instrument_samples[var14] = var16; - var11 = this.filterEnvelope.doStep(var1 + 1); - ++var14; - } - - var15 = 128; - - while (true) { - if (var15 > var1 - var12) { - var15 = var1 - var12; - } - - int var18; - while (var14 < var15) { - var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - - for (var18 = 0; var18 < var12; ++var18) { - var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); - } - - for (var18 = 0; var18 < var13; ++var18) { - var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); - } - - Instrument_samples[var14] = var17; - var11 = this.filterEnvelope.doStep(var1 + 1); - ++var14; - } - - if (var14 >= var1 - var12) { - while (var14 < var1) { - var17 = 0; - - for (var18 = var14 + var12 - var1; var18 < var12; ++var18) { - var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); - } - - for (var18 = 0; var18 < var13; ++var18) { - var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); - } - - Instrument_samples[var14] = var17; - this.filterEnvelope.doStep(var1 + 1); - ++var14; - } - break; - } - - var12 = this.filter.compute(0, (float)var11 / 65536.0F); - var13 = this.filter.compute(1, (float)var11 / 65536.0F); - var15 += 128; - } - } - } - - for (var11 = 0; var11 < var1; ++var11) { - if (Instrument_samples[var11] < -32768) { - Instrument_samples[var11] = -32768; - } - - if (Instrument_samples[var11] > 32767) { - Instrument_samples[var11] = 32767; - } - } - - return Instrument_samples; - } - } - - @ObfuscatedName("x") - @Export("evaluateWave") - final int evaluateWave(int var1, int var2, int var3) { - if (var3 == 1) { - return (var1 & 32767) < 16384 ? var2 : -var2; - } else if (var3 == 2) { - return Instrument_sine[var1 & 32767] * var2 >> 14; - } else if (var3 == 3) { - return (var2 * (var1 & 32767) >> 14) - var2; - } else { - return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 32767] : 0; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - @Export("decode") - final void decode(Buffer var1) { - this.pitch = new SoundEnvelope(); - this.pitch.decode(var1); - this.volume = new SoundEnvelope(); - this.volume.decode(var1); - int var2 = var1.readUnsignedByte(); - if (var2 != 0) { - --var1.offset; - this.pitchModifier = new SoundEnvelope(); - this.pitchModifier.decode(var1); - this.pitchModifierAmplitude = new SoundEnvelope(); - this.pitchModifierAmplitude.decode(var1); - } - - var2 = var1.readUnsignedByte(); - if (var2 != 0) { - --var1.offset; - this.volumeMultiplier = new SoundEnvelope(); - this.volumeMultiplier.decode(var1); - this.volumeMultiplierAmplitude = new SoundEnvelope(); - this.volumeMultiplierAmplitude.decode(var1); - } - - var2 = var1.readUnsignedByte(); - if (var2 != 0) { - --var1.offset; - this.release = new SoundEnvelope(); - this.release.decode(var1); - this.attack = new SoundEnvelope(); - this.attack.decode(var1); - } - - for (int var3 = 0; var3 < 10; ++var3) { - int var4 = var1.readUShortSmart(); - if (var4 == 0) { - break; - } - - this.oscillatorVolume[var3] = var4; - this.oscillatorPitch[var3] = var1.readShortSmart(); - this.oscillatorDelays[var3] = var1.readUShortSmart(); - } - - this.delayTime = var1.readUShortSmart(); - this.delayDecay = var1.readUShortSmart(); - this.duration = var1.readUnsignedShort(); - this.offset = var1.readUnsignedShort(); - this.filter = new AudioFilter(); - this.filterEnvelope = new SoundEnvelope(); - this.filter.method2666(var1, this.filterEnvelope); - } -} +import java.util.Random; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dk") +@Implements("Instrument") +public class Instrument { + @ObfuscatedName("g") + @Export("Instrument_samples") + static int[] Instrument_samples; + @ObfuscatedName("x") + @Export("Instrument_noise") + static int[] Instrument_noise; + @ObfuscatedName("h") + @Export("Instrument_sine") + static int[] Instrument_sine; + @ObfuscatedName("f") + @Export("Instrument_phases") + static int[] Instrument_phases; + @ObfuscatedName("j") + @Export("Instrument_delays") + static int[] Instrument_delays; + @ObfuscatedName("d") + @Export("Instrument_volumeSteps") + static int[] Instrument_volumeSteps; + @ObfuscatedName("l") + @Export("Instrument_pitchSteps") + static int[] Instrument_pitchSteps; + @ObfuscatedName("k") + @Export("Instrument_pitchBaseSteps") + static int[] Instrument_pitchBaseSteps; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("pitch") + SoundEnvelope pitch; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("volume") + SoundEnvelope volume; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("pitchModifier") + SoundEnvelope pitchModifier; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("pitchModifierAmplitude") + SoundEnvelope pitchModifierAmplitude; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("volumeMultiplier") + SoundEnvelope volumeMultiplier; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("volumeMultiplierAmplitude") + SoundEnvelope volumeMultiplierAmplitude; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("release") + SoundEnvelope release; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("attack") + SoundEnvelope attack; + @ObfuscatedName("y") + @Export("oscillatorVolume") + int[] oscillatorVolume; + @ObfuscatedName("i") + @Export("oscillatorPitch") + int[] oscillatorPitch; + @ObfuscatedName("c") + @Export("oscillatorDelays") + int[] oscillatorDelays; + @ObfuscatedName("b") + @Export("delayTime") + int delayTime; + @ObfuscatedName("o") + @Export("delayDecay") + int delayDecay; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lds;" + ) + @Export("filter") + AudioFilter filter; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ldm;" + ) + @Export("filterEnvelope") + SoundEnvelope filterEnvelope; + @ObfuscatedName("w") + @Export("duration") + int duration; + @ObfuscatedName("t") + @Export("offset") + int offset; + + static { + Instrument_noise = new int[32768]; + Random var0 = new Random(0L); + + int var1; + for (var1 = 0; var1 < 32768; ++var1) { + Instrument_noise[var1] = (var0.nextInt() & 2) - 1; + } + + Instrument_sine = new int[32768]; + + for (var1 = 0; var1 < 32768; ++var1) { + Instrument_sine[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D); + } + + Instrument_samples = new int[220500]; + Instrument_phases = new int[5]; + Instrument_delays = new int[5]; + Instrument_volumeSteps = new int[5]; + Instrument_pitchSteps = new int[5]; + Instrument_pitchBaseSteps = new int[5]; + } + + Instrument() { + this.oscillatorVolume = new int[]{0, 0, 0, 0, 0}; + this.oscillatorPitch = new int[]{0, 0, 0, 0, 0}; + this.oscillatorDelays = new int[]{0, 0, 0, 0, 0}; + this.delayTime = 0; + this.delayDecay = 100; + this.duration = 500; + this.offset = 0; + } + + @ObfuscatedName("z") + @Export("synthesize") + final int[] synthesize(int var1, int var2) { + class300.clearIntArray(Instrument_samples, 0, var1); + if (var2 < 10) { + return Instrument_samples; + } else { + double var3 = (double)var1 / ((double)var2 + 0.0D); + this.pitch.reset(); + this.volume.reset(); + int var5 = 0; + int var6 = 0; + int var7 = 0; + if (this.pitchModifier != null) { + this.pitchModifier.reset(); + this.pitchModifierAmplitude.reset(); + var5 = (int)((double)(this.pitchModifier.end - this.pitchModifier.start) * 32.768D / var3); + var6 = (int)((double)this.pitchModifier.start * 32.768D / var3); + } + + int var8 = 0; + int var9 = 0; + int var10 = 0; + if (this.volumeMultiplier != null) { + this.volumeMultiplier.reset(); + this.volumeMultiplierAmplitude.reset(); + var8 = (int)((double)(this.volumeMultiplier.end - this.volumeMultiplier.start) * 32.768D / var3); + var9 = (int)((double)this.volumeMultiplier.start * 32.768D / var3); + } + + int var11; + for (var11 = 0; var11 < 5; ++var11) { + if (this.oscillatorVolume[var11] != 0) { + Instrument_phases[var11] = 0; + Instrument_delays[var11] = (int)((double)this.oscillatorDelays[var11] * var3); + Instrument_volumeSteps[var11] = (this.oscillatorVolume[var11] << 14) / 100; + Instrument_pitchSteps[var11] = (int)((double)(this.pitch.end - this.pitch.start) * 32.768D * Math.pow(1.0057929410678534D, (double)this.oscillatorPitch[var11]) / var3); + Instrument_pitchBaseSteps[var11] = (int)((double)this.pitch.start * 32.768D / var3); + } + } + + int var12; + int var13; + int var14; + int var15; + int[] var10000; + for (var11 = 0; var11 < var1; ++var11) { + var12 = this.pitch.doStep(var1); + var13 = this.volume.doStep(var1); + if (this.pitchModifier != null) { + var14 = this.pitchModifier.doStep(var1); + var15 = this.pitchModifierAmplitude.doStep(var1); + var12 += this.evaluateWave(var7, var15, this.pitchModifier.form) >> 1; + var7 = var7 + var6 + (var14 * var5 >> 16); + } + + if (this.volumeMultiplier != null) { + var14 = this.volumeMultiplier.doStep(var1); + var15 = this.volumeMultiplierAmplitude.doStep(var1); + var13 = var13 * ((this.evaluateWave(var10, var15, this.volumeMultiplier.form) >> 1) + 32768) >> 15; + var10 = var10 + var9 + (var14 * var8 >> 16); + } + + for (var14 = 0; var14 < 5; ++var14) { + if (this.oscillatorVolume[var14] != 0) { + var15 = Instrument_delays[var14] + var11; + if (var15 < var1) { + var10000 = Instrument_samples; + var10000[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form); + var10000 = Instrument_phases; + var10000[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14]; + } + } + } + } + + int var16; + if (this.release != null) { + this.release.reset(); + this.attack.reset(); + var11 = 0; + boolean var19 = false; + boolean var20 = true; + + for (var14 = 0; var14 < var1; ++var14) { + var15 = this.release.doStep(var1); + var16 = this.attack.doStep(var1); + if (var20) { + var12 = (var15 * (this.release.end - this.release.start) >> 8) + this.release.start; + } else { + var12 = (var16 * (this.release.end - this.release.start) >> 8) + this.release.start; + } + + var11 += 256; + if (var11 >= var12) { + var11 = 0; + var20 = !var20; + } + + if (var20) { + Instrument_samples[var14] = 0; + } + } + } + + if (this.delayTime > 0 && this.delayDecay > 0) { + var11 = (int)((double)this.delayTime * var3); + + for (var12 = var11; var12 < var1; ++var12) { + var10000 = Instrument_samples; + var10000[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100; + } + } + + if (this.filter.pairs[0] > 0 || this.filter.pairs[1] > 0) { + this.filterEnvelope.reset(); + var11 = this.filterEnvelope.doStep(var1 + 1); + var12 = this.filter.compute(0, (float)var11 / 65536.0F); + var13 = this.filter.compute(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)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); + + for (var17 = 0; var17 < var12; ++var17) { + var16 += (int)((long)Instrument_samples[var14 + var12 - 1 - var17] * (long)AudioFilter.coefficients[0][var17] >> 16); + } + + for (var17 = 0; var17 < var14; ++var17) { + var16 -= (int)((long)Instrument_samples[var14 - 1 - var17] * (long)AudioFilter.coefficients[1][var17] >> 16); + } + + Instrument_samples[var14] = var16; + var11 = this.filterEnvelope.doStep(var1 + 1); + ++var14; + } + + var15 = 128; + + while (true) { + if (var15 > var1 - var12) { + var15 = var1 - var12; + } + + int var18; + while (var14 < var15) { + var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); + + for (var18 = 0; var18 < var12; ++var18) { + var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); + } + + for (var18 = 0; var18 < var13; ++var18) { + var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); + } + + Instrument_samples[var14] = var17; + var11 = this.filterEnvelope.doStep(var1 + 1); + ++var14; + } + + if (var14 >= var1 - var12) { + while (var14 < var1) { + var17 = 0; + + for (var18 = var14 + var12 - var1; var18 < var12; ++var18) { + var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); + } + + for (var18 = 0; var18 < var13; ++var18) { + var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); + } + + Instrument_samples[var14] = var17; + this.filterEnvelope.doStep(var1 + 1); + ++var14; + } + break; + } + + var12 = this.filter.compute(0, (float)var11 / 65536.0F); + var13 = this.filter.compute(1, (float)var11 / 65536.0F); + var15 += 128; + } + } + } + + for (var11 = 0; var11 < var1; ++var11) { + if (Instrument_samples[var11] < -32768) { + Instrument_samples[var11] = -32768; + } + + if (Instrument_samples[var11] > 32767) { + Instrument_samples[var11] = 32767; + } + } + + return Instrument_samples; + } + } + + @ObfuscatedName("n") + @Export("evaluateWave") + final int evaluateWave(int var1, int var2, int var3) { + if (var3 == 1) { + return (var1 & 32767) < 16384 ? var2 : -var2; + } else if (var3 == 2) { + return Instrument_sine[var1 & 32767] * var2 >> 14; + } else if (var3 == 3) { + return (var2 * (var1 & 32767) >> 14) - var2; + } else { + return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 32767] : 0; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;)V" + ) + @Export("decode") + final void decode(Buffer var1) { + this.pitch = new SoundEnvelope(); + this.pitch.decode(var1); + this.volume = new SoundEnvelope(); + this.volume.decode(var1); + int var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.pitchModifier = new SoundEnvelope(); + this.pitchModifier.decode(var1); + this.pitchModifierAmplitude = new SoundEnvelope(); + this.pitchModifierAmplitude.decode(var1); + } + + var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.volumeMultiplier = new SoundEnvelope(); + this.volumeMultiplier.decode(var1); + this.volumeMultiplierAmplitude = new SoundEnvelope(); + this.volumeMultiplierAmplitude.decode(var1); + } + + var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.release = new SoundEnvelope(); + this.release.decode(var1); + this.attack = new SoundEnvelope(); + this.attack.decode(var1); + } + + for (int var3 = 0; var3 < 10; ++var3) { + int var4 = var1.readUShortSmart(); + if (var4 == 0) { + break; + } + + this.oscillatorVolume[var3] = var4; + this.oscillatorPitch[var3] = var1.readShortSmart(); + this.oscillatorDelays[var3] = var1.readUShortSmart(); + } + + this.delayTime = var1.readUShortSmart(); + this.delayDecay = var1.readUShortSmart(); + this.duration = var1.readUnsignedShort(); + this.offset = var1.readUnsignedShort(); + this.filter = new AudioFilter(); + this.filterEnvelope = new SoundEnvelope(); + this.filter.method2674(var1, this.filterEnvelope); + } +} diff --git a/runescape-client/src/main/java/IntHashTable.java b/runescape-client/src/main/java/IntHashTable.java index c1fbf0af70..5eb73d21c0 100644 --- a/runescape-client/src/main/java/IntHashTable.java +++ b/runescape-client/src/main/java/IntHashTable.java @@ -1,58 +1,58 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lv") -@Implements("IntHashTable") -public class IntHashTable { - @ObfuscatedName("c") - @Export("array") - int[] array; - - public IntHashTable(int[] var1) { - int var2; - for (var2 = 1; var2 <= (var1.length >> 1) + var1.length; var2 <<= 1) { - } - - this.array = new int[var2 + var2]; - - int var3; - for (var3 = 0; var3 < var2 + var2; ++var3) { - this.array[var3] = -1; - } - - int var4; - for (var3 = 0; var3 < var1.length; this.array[var4 + var4 + 1] = var3++) { - for (var4 = var1[var3] & var2 - 1; this.array[var4 + var4 + 1] != -1; var4 = var4 + 1 & var2 - 1) { - } - - this.array[var4 + var4] = var1[var3]; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-2041473369" - ) - @Export("get") - public int get(int var1) { - int var2 = (this.array.length >> 1) - 1; - int var3 = var1 & var2; - - while (true) { - int var4 = this.array[var3 + var3 + 1]; - if (var4 == -1) { - return -1; - } - - if (this.array[var3 + var3] == var1) { - return var4; - } - - var3 = var3 + 1 & var2; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lk") +@Implements("IntHashTable") +public class IntHashTable { + @ObfuscatedName("z") + @Export("array") + int[] array; + + public IntHashTable(int[] var1) { + int var2; + for (var2 = 1; var2 <= (var1.length >> 1) + var1.length; var2 <<= 1) { + } + + this.array = new int[var2 + var2]; + + int var3; + for (var3 = 0; var3 < var2 + var2; ++var3) { + this.array[var3] = -1; + } + + int var4; + for (var3 = 0; var3 < var1.length; this.array[var4 + var4 + 1] = var3++) { + for (var4 = var1[var3] & var2 - 1; this.array[var4 + var4 + 1] != -1; var4 = var4 + 1 & var2 - 1) { + } + + this.array[var4 + var4] = var1[var3]; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1278580700" + ) + @Export("get") + public int get(int var1) { + int var2 = (this.array.length >> 1) - 1; + int var3 = var1 & var2; + + while (true) { + int var4 = this.array[var3 + var3 + 1]; + if (var4 == -1) { + return -1; + } + + if (this.array[var3 + var3] == var1) { + return var4; + } + + var3 = var3 + 1 & var2; + } + } +} diff --git a/runescape-client/src/main/java/IntegerNode.java b/runescape-client/src/main/java/IntegerNode.java index 1da8fdfce1..2875a42c32 100644 --- a/runescape-client/src/main/java/IntegerNode.java +++ b/runescape-client/src/main/java/IntegerNode.java @@ -1,15 +1,15 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("fb") -@Implements("IntegerNode") -public class IntegerNode extends Node { - @ObfuscatedName("c") - @Export("integer") - public int integer; - - public IntegerNode(int var1) { - this.integer = var1; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("fj") +@Implements("IntegerNode") +public class IntegerNode extends Node { + @ObfuscatedName("z") + @Export("integer") + public int integer; + + public IntegerNode(int var1) { + this.integer = var1; + } +} diff --git a/runescape-client/src/main/java/InterfaceParent.java b/runescape-client/src/main/java/InterfaceParent.java index d802e622ed..0103e67ec8 100644 --- a/runescape-client/src/main/java/InterfaceParent.java +++ b/runescape-client/src/main/java/InterfaceParent.java @@ -1,392 +1,382 @@ -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("bw") -@Implements("InterfaceParent") -public class InterfaceParent extends Node { - @ObfuscatedName("pe") - @Export("ClanChat_inClanChat") - static boolean ClanChat_inClanChat; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1880295191 - ) - @Export("group") - int group; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 386890951 - ) - @Export("type") - int type; - @ObfuscatedName("t") - boolean field538; - - InterfaceParent() { - this.field538 = false; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkt;I)V", - garbageValue = "-1718038251" - ) - static final void method1123(PacketBuffer var0) { - for (int var1 = 0; var1 < Players.Players_pendingUpdateCount; ++var1) { - int var2 = Players.Players_pendingUpdateIndices[var1]; - Player var3 = Client.players[var2]; - int var4 = var0.readUnsignedByte(); - if ((var4 & 16) != 0) { - var4 += var0.readUnsignedByte() << 8; - } - - byte var5 = -1; - int var6; - if ((var4 & 512) != 0) { - for (var6 = 0; var6 < 3; ++var6) { - var3.actions[var6] = var0.readStringCp1252NullTerminated(); - } - } - - if ((var4 & 2048) != 0) { - var3.spotAnimation = var0.readUnsignedShort(); - var6 = var0.method5587(); - var3.heightOffset = var6 >> 16; - var3.field957 = (var6 & 65535) + Client.cycle; - var3.spotAnimationFrame = 0; - var3.spotAnimationFrameCycle = 0; - if (var3.field957 > Client.cycle) { - var3.spotAnimationFrame = -1; - } - - if (var3.spotAnimation == 65535) { - var3.spotAnimation = -1; - } - } - - if ((var4 & 8) != 0) { - var6 = var0.method5547(); - byte[] var7 = new byte[var6]; - Buffer var8 = new Buffer(var7); - var0.readBytes(var7, 0, var6); - Players.field1221[var2] = var8; - var3.read(var8); - } - - if ((var4 & 256) != 0) { - var5 = var0.method5497(); - } - - if ((var4 & 1024) != 0) { - Players.field1220[var2] = var0.readByte(); - } - - if ((var4 & 4096) != 0) { - var3.field959 = var0.method5634(); - var3.field961 = var0.method5497(); - var3.field960 = var0.method5634(); - var3.field962 = var0.method5498(); - var3.field963 = var0.method5514() + Client.cycle; - var3.field964 = var0.method5459() + Client.cycle; - var3.field965 = var0.method5514(); - if (var3.field607) { - var3.field959 += var3.tileX; - var3.field961 += var3.tileY; - var3.field960 += var3.tileX; - var3.field962 += var3.tileY; - var3.pathLength = 0; - } else { - var3.field959 += var3.pathX[0]; - var3.field961 += var3.pathY[0]; - var3.field960 += var3.pathX[0]; - var3.field962 += var3.pathY[0]; - var3.pathLength = 1; - } - - var3.field969 = 0; - } - - if ((var4 & 32) != 0) { - var3.targetIndex = var0.method5514(); - if (var3.targetIndex == 65535) { - var3.targetIndex = -1; - } - } - - int var14; - if ((var4 & 64) != 0) { - var6 = var0.method5459(); - if (var6 == 65535) { - var6 = -1; - } - - var14 = var0.method5494(); - FloorUnderlayDefinition.performPlayerAnimation(var3, var6, var14); - } - - if ((var4 & 4) != 0) { - var3.overheadText = var0.readStringCp1252NullTerminated(); - if (var3.overheadText.charAt(0) == '~') { - var3.overheadText = var3.overheadText.substring(1); - WorldMapCacheName.addGameMessage(2, var3.username.getName(), var3.overheadText); - } else if (var3 == Varps.localPlayer) { - WorldMapCacheName.addGameMessage(2, var3.username.getName(), var3.overheadText); - } - - var3.isAutoChatting = false; - var3.overheadTextColor = 0; - var3.overheadTextEffect = 0; - var3.overheadTextCyclesRemaining = 150; - } - - if ((var4 & 2) != 0) { - var3.field945 = var0.method5503(); - if (var3.pathLength == 0) { - var3.orientation = var3.field945; - var3.field945 = -1; - } - } - - int var9; - int var10; - int var13; - if ((var4 & 128) != 0) { - var6 = var0.readUnsignedByte(); - int var11; - int var12; - int var15; - if (var6 > 0) { - for (var14 = 0; var14 < var6; ++var14) { - var9 = -1; - var10 = -1; - var11 = -1; - var15 = var0.readUShortSmart(); - if (var15 == 32767) { - var15 = var0.readUShortSmart(); - var10 = var0.readUShortSmart(); - var9 = var0.readUShortSmart(); - var11 = var0.readUShortSmart(); - } else if (var15 != 32766) { - var10 = var0.readUShortSmart(); - } else { - var15 = -1; - } - - var12 = var0.readUShortSmart(); - var3.addHitSplat(var15, var10, var9, var11, Client.cycle, var12); - } - } - - var14 = var0.method5494(); - if (var14 > 0) { - for (var15 = 0; var15 < var14; ++var15) { - var9 = var0.readUShortSmart(); - var10 = var0.readUShortSmart(); - if (var10 != 32767) { - var11 = var0.readUShortSmart(); - var12 = var0.readUnsignedByteNegate(); - var13 = var10 > 0 ? var0.readUnsignedByteNegate() : var12; - var3.addHealthBar(var9, Client.cycle, var10, var11, var12, var13); - } else { - var3.removeHealthBar(var9); - } - } - } - } - - if ((var4 & 1) != 0) { - var6 = var0.readUnsignedShort(); - PlayerType var17 = (PlayerType)ServerPacket.findEnumerated(PlayerAppearance.PlayerType_values(), var0.method5494()); - boolean var20 = var0.readUnsignedByteNegate() == 1; - var9 = var0.method5547(); - var10 = var0.offset; - if (var3.username != null && var3.appearance != null) { - boolean var19 = false; - if (var17.isUser && class218.friendSystem.isIgnored(var3.username)) { - var19 = true; - } - - if (!var19 && Client.field735 == 0 && !var3.isHidden) { - Players.field1231.offset = 0; - var0.readBytes(Players.field1231.array, 0, var9); - Players.field1231.offset = 0; - String var16 = AbstractFont.escapeBrackets(PacketBufferNode.method3616(GrandExchangeOfferWorldComparator.method60(Players.field1231))); - var3.overheadText = var16.trim(); - var3.overheadTextColor = var6 >> 8; - var3.overheadTextEffect = var6 & 255; - var3.overheadTextCyclesRemaining = 150; - var3.isAutoChatting = var20; - var3.field956 = var3 != Varps.localPlayer && var17.isUser && "" != Client.field778 && var16.toLowerCase().indexOf(Client.field778) == -1; - if (var17.isPrivileged) { - var13 = var20 ? 91 : 1; - } else { - var13 = var20 ? 90 : 2; - } - - if (var17.modIcon != -1) { - WorldMapCacheName.addGameMessage(var13, ArchiveDiskAction.method4133(var17.modIcon) + var3.username.getName(), var16); - } else { - WorldMapCacheName.addGameMessage(var13, var3.username.getName(), var16); - } - } - } - - var0.offset = var10 + var9; - } - - if (var3.field607) { - if (var5 == 127) { - var3.resetPath(var3.tileX, var3.tileY); - } else { - byte var18; - if (var5 != -1) { - var18 = var5; - } else { - var18 = Players.field1220[var2]; - } - - var3.method1189(var3.tileX, var3.tileY, var18); - } - } - } - - } - - @ObfuscatedName("in") - @ObfuscatedSignature( - signature = "(Lia;IIII)V", - garbageValue = "-861885358" - ) - @Export("addNpcToMenu") - static final void addNpcToMenu(NPCDefinition var0, int var1, int var2, int var3) { - if (Client.menuOptionsCount < 400) { - if (var0.transforms != null) { - var0 = var0.transform(); - } - - if (var0 != null) { - if (var0.isInteractable) { - if (!var0.isFollower || Client.followerIndex == var1) { - String var4 = var0.name; - int var7; - int var8; - if (var0.combatLevel != 0) { - var7 = var0.combatLevel; - var8 = Varps.localPlayer.combatLevel; - int var9 = var8 - var7; - String var6; - if (var9 < -9) { - var6 = UserComparator7.colorStartTag(16711680); - } else if (var9 < -6) { - var6 = UserComparator7.colorStartTag(16723968); - } else if (var9 < -3) { - var6 = UserComparator7.colorStartTag(16740352); - } else if (var9 < 0) { - var6 = UserComparator7.colorStartTag(16756736); - } else if (var9 > 9) { - var6 = UserComparator7.colorStartTag(65280); - } else if (var9 > 6) { - var6 = UserComparator7.colorStartTag(4259584); - } else if (var9 > 3) { - var6 = UserComparator7.colorStartTag(8453888); - } else if (var9 > 0) { - var6 = UserComparator7.colorStartTag(12648192); - } else { - var6 = UserComparator7.colorStartTag(16776960); - } - - var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; - } - - if (var0.isFollower && Client.followerOpsLowPriority) { - FontName.insertMenuItemNoShift("Examine", UserComparator7.colorStartTag(16776960) + var4, 1003, var1, var2, var3); - } - - if (Client.isItemSelected == 1) { - FontName.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + UserComparator7.colorStartTag(16776960) + var4, 7, var1, var2, var3); - } else if (Client.isSpellSelected) { - if ((BuddyRankComparator.selectedSpellFlags & 2) == 2) { - FontName.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + UserComparator7.colorStartTag(16776960) + var4, 8, var1, var2, var3); - } - } else { - int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; - String[] var11 = var0.actions; - if (var11 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var11[var7] != null && !var11[var7].equalsIgnoreCase("Attack")) { - var8 = 0; - if (var7 == 0) { - var8 = var10 + 9; - } - - if (var7 == 1) { - var8 = var10 + 10; - } - - if (var7 == 2) { - var8 = var10 + 11; - } - - if (var7 == 3) { - var8 = var10 + 12; - } - - if (var7 == 4) { - var8 = var10 + 13; - } - - FontName.insertMenuItemNoShift(var11[var7], UserComparator7.colorStartTag(16776960) + var4, var8, var1, var2, var3); - } - } - } - - if (var11 != null) { - for (var7 = 4; var7 >= 0; --var7) { - if (var11[var7] != null && var11[var7].equalsIgnoreCase("Attack")) { - short var12 = 0; - if (AttackOption.AttackOption_hidden != Client.npcAttackOption) { - if (AttackOption.AttackOption_alwaysRightClick == Client.npcAttackOption || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > Varps.localPlayer.combatLevel) { - var12 = 2000; - } - - var8 = 0; - if (var7 == 0) { - var8 = var12 + 9; - } - - if (var7 == 1) { - var8 = var12 + 10; - } - - if (var7 == 2) { - var8 = var12 + 11; - } - - if (var7 == 3) { - var8 = var12 + 12; - } - - if (var7 == 4) { - var8 = var12 + 13; - } - - FontName.insertMenuItemNoShift(var11[var7], UserComparator7.colorStartTag(16776960) + var4, var8, var1, var2, var3); - } - } - } - } - - if (!var0.isFollower || !Client.followerOpsLowPriority) { - FontName.insertMenuItemNoShift("Examine", UserComparator7.colorStartTag(16776960) + var4, 1003, var1, var2, var3); - } - } - - } - } - } - } - } -} +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("bk") +@Implements("InterfaceParent") +public class InterfaceParent extends Node { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -2031871231 + ) + @Export("group") + int group; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1707637965 + ) + @Export("type") + int type; + @ObfuscatedName("v") + boolean field552; + + InterfaceParent() { + this.field552 = false; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Lik;", + garbageValue = "2088846570" + ) + @Export("SpotAnimationDefinition_get") + public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { + SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = class14.SpotAnimationDefinition_archive.takeFile(13, var0); + var1 = new SpotAnimationDefinition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lgy;Llg;I)Lgn;", + garbageValue = "1885960341" + ) + @Export("getPacketBufferNode") + public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) { + PacketBufferNode var2; + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var2 = new PacketBufferNode(); + } else { + var2 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } + + var2.clientPacket = var0; + var2.clientPacketLength = var0.length; + if (var2.clientPacketLength == -1) { + var2.packetBuffer = new PacketBuffer(260); + } else if (var2.clientPacketLength == -2) { + var2.packetBuffer = new PacketBuffer(10000); + } else if (var2.clientPacketLength <= 18) { + var2.packetBuffer = new PacketBuffer(20); + } else if (var2.clientPacketLength <= 98) { + var2.packetBuffer = new PacketBuffer(100); + } else { + var2.packetBuffer = new PacketBuffer(260); + } + + var2.packetBuffer.setIsaacCipher(var1); + var2.packetBuffer.writeByteIsaac(var2.clientPacket.id); + var2.index = 0; + return var2; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1288717828" + ) + static void method1197() { + if (Login.Login_username == null || Login.Login_username.length() <= 0) { + if (AbstractArchive.clientPreferences.rememberedUsername != null) { + Login.Login_username = AbstractArchive.clientPreferences.rememberedUsername; + Client.Login_isUsernameRemembered = true; + } else { + Client.Login_isUsernameRemembered = false; + } + + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "4" + ) + public static void method1192(int var0) { + if (var0 != -1) { + if (ViewportMouse.Widget_loadedInterfaces[var0]) { + Widget.Widget_archive.clearFilesGroup(var0); + if (UserComparator5.Widget_interfaceComponents[var0] != null) { + boolean var1 = true; + + for (int var2 = 0; var2 < UserComparator5.Widget_interfaceComponents[var0].length; ++var2) { + if (UserComparator5.Widget_interfaceComponents[var0][var2] != null) { + if (UserComparator5.Widget_interfaceComponents[var0][var2].type != 2) { + UserComparator5.Widget_interfaceComponents[var0][var2] = null; + } else { + var1 = false; + } + } + } + + if (var1) { + UserComparator5.Widget_interfaceComponents[var0] = null; + } + + ViewportMouse.Widget_loadedInterfaces[var0] = false; + } + } + } + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "746031427" + ) + public static void method1193() { + ItemDefinition.ItemDefinition_cached.clear(); + ItemDefinition.ItemDefinition_cachedModels.clear(); + ItemDefinition.ItemDefinition_cachedSprites.clear(); + } + + @ObfuscatedName("hk") + @ObfuscatedSignature( + signature = "(ZLkf;B)V", + garbageValue = "-96" + ) + @Export("updateNpcs") + static final void updateNpcs(boolean var0, PacketBuffer var1) { + Client.field640 = 0; + Client.field633 = 0; + Decimator.method2496(); + + int var2; + NPC var4; + int var5; + int var6; + int var7; + int var8; + int var9; + while (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) { + var2 = var1.readBits(15); + if (var2 == 32767) { + break; + } + + boolean var3 = false; + if (Client.npcs[var2] == null) { + Client.npcs[var2] = new NPC(); + var3 = true; + } + + var4 = Client.npcs[var2]; + Client.npcIndices[++Client.npcCount - 1] = var2; + var4.npcCycle = Client.cycle; + if (var0) { + var5 = var1.readBits(8); + if (var5 > 127) { + var5 -= 256; + } + } else { + var5 = var1.readBits(5); + if (var5 > 15) { + var5 -= 32; + } + } + + if (var0) { + var6 = var1.readBits(8); + if (var6 > 127) { + var6 -= 256; + } + } else { + var6 = var1.readBits(5); + if (var6 > 15) { + var6 -= 32; + } + } + + var7 = Client.defaultRotations[var1.readBits(3)]; + if (var3) { + var4.orientation = var4.rotation = var7; + } + + var8 = var1.readBits(1); + if (var8 == 1) { + Client.field681[++Client.field633 - 1] = var2; + } + + var9 = var1.readBits(1); + var4.definition = PacketBufferNode.getNpcDefinition(var1.readBits(14)); + var4.field932 = var4.definition.size * 772175475; + var4.field982 = var4.definition.rotation; + if (var4.field982 == 0) { + var4.rotation = 0; + } + + var4.walkSequence = var4.definition.walkSequence; + var4.walkBackSequence = var4.definition.walkBackSequence; + var4.walkLeftSequence = var4.definition.walkLeftSequence; + var4.walkRightSequence = var4.definition.walkRightSequence; + var4.readySequence = var4.definition.readySequence; + var4.turnLeftSequence = var4.definition.turnLeftSequence; + var4.turnRightSequence = var4.definition.turnRightSequence; + var4.method2038(class223.localPlayer.pathX[0] + var5, class223.localPlayer.pathY[0] + var6, var9 == 1); + } + + var1.exportIndex(); + + int var14; + for (var2 = 0; var2 < Client.field633; ++var2) { + var14 = Client.field681[var2]; + var4 = Client.npcs[var14]; + var5 = var1.readUnsignedByte(); + if ((var5 & 16) != 0) { + var6 = var1.readUnsignedShort(); + if (var6 == 65535) { + var6 = -1; + } + + var7 = var1.method5496(); + if (var6 == var4.sequence && var6 != -1) { + var8 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var6).field3517; + if (var8 == 1) { + var4.sequenceFrame = 0; + var4.sequenceFrameCycle = 0; + var4.sequenceDelay = var7; + var4.field965 = 0; + } + + if (var8 == 2) { + var4.field965 = 0; + } + } else if (var6 == -1 || var4.sequence == -1 || GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var6).field3511 >= GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var4.sequence).field3511) { + var4.sequence = var6; + var4.sequenceFrame = 0; + var4.sequenceFrameCycle = 0; + var4.sequenceDelay = var7; + var4.field965 = 0; + var4.field988 = var4.pathLength; + } + } + + if ((var5 & 1) != 0) { + var6 = var1.method5456(); + int var10; + int var11; + int var12; + if (var6 > 0) { + for (var7 = 0; var7 < var6; ++var7) { + var9 = -1; + var10 = -1; + var11 = -1; + var8 = var1.readUShortSmart(); + if (var8 == 32767) { + var8 = var1.readUShortSmart(); + var10 = var1.readUShortSmart(); + var9 = var1.readUShortSmart(); + var11 = var1.readUShortSmart(); + } else if (var8 != 32766) { + var10 = var1.readUShortSmart(); + } else { + var8 = -1; + } + + var12 = var1.readUShortSmart(); + var4.addHitSplat(var8, var10, var9, var11, Client.cycle, var12); + } + } + + var7 = var1.method5496(); + if (var7 > 0) { + for (var8 = 0; var8 < var7; ++var8) { + var9 = var1.readUShortSmart(); + var10 = var1.readUShortSmart(); + if (var10 != 32767) { + var11 = var1.readUShortSmart(); + var12 = var1.method5456(); + int var13 = var10 > 0 ? var1.method5456() : var12; + var4.addHealthBar(var9, Client.cycle, var10, var11, var12, var13); + } else { + var4.removeHealthBar(var9); + } + } + } + } + + if ((var5 & 2) != 0) { + var4.targetIndex = var1.method5465(); + if (var4.targetIndex == 65535) { + var4.targetIndex = -1; + } + } + + if ((var5 & 32) != 0) { + var4.definition = PacketBufferNode.getNpcDefinition(var1.method5632()); + var4.field932 = var4.definition.size * 772175475; + var4.field982 = var4.definition.rotation; + var4.walkSequence = var4.definition.walkSequence; + var4.walkBackSequence = var4.definition.walkBackSequence; + var4.walkLeftSequence = var4.definition.walkLeftSequence; + var4.walkRightSequence = var4.definition.walkRightSequence; + var4.readySequence = var4.definition.readySequence; + var4.turnLeftSequence = var4.definition.turnLeftSequence; + var4.turnRightSequence = var4.definition.turnRightSequence; + } + + if ((var5 & 4) != 0) { + var6 = var1.method5465(); + var7 = var1.method5632(); + var8 = var4.x - (var6 - class223.baseX * 64 - class223.baseX * 64) * 64; + var9 = var4.y * 682054857 - (var7 - class286.baseY * 64 - class286.baseY * 64) * 64; + if (var8 != 0 || var9 != 0) { + var4.field957 = (int)(Math.atan2((double)var8, (double)var9) * 325.949D) & 2047; + } + } + + if ((var5 & 8) != 0) { + var4.spotAnimation = var1.method5632(); + var6 = var1.method5546(); + var4.heightOffset = var6 >> 16; + var4.field969 = (var6 & 65535) + Client.cycle; + var4.spotAnimationFrame = 0; + var4.spotAnimationFrameCycle = 0; + if (var4.field969 > Client.cycle) { + var4.spotAnimationFrame = -1; + } + + if (var4.spotAnimation == 65535) { + var4.spotAnimation = -1; + } + } + + if ((var5 & 64) != 0) { + var4.overheadText = var1.readStringCp1252NullTerminated(); + var4.overheadTextCyclesRemaining = 100; + } + } + + for (var2 = 0; var2 < Client.field640; ++var2) { + var14 = Client.field758[var2]; + if (Client.npcs[var14].npcCycle != Client.cycle) { + Client.npcs[var14].definition = null; + Client.npcs[var14] = null; + } + } + + if (var1.offset != Client.packetWriter.serverPacketLength) { + throw new RuntimeException(var1.offset + "," + Client.packetWriter.serverPacketLength); + } else { + for (var2 = 0; var2 < Client.npcCount; ++var2) { + if (Client.npcs[Client.npcIndices[var2]] == null) { + throw new RuntimeException(var2 + "," + Client.npcCount); + } + } + + } + } +} diff --git a/runescape-client/src/main/java/Interpreter.java b/runescape-client/src/main/java/Interpreter.java index 7ef3686885..e7b38f3bb1 100644 --- a/runescape-client/src/main/java/Interpreter.java +++ b/runescape-client/src/main/java/Interpreter.java @@ -1,129 +1,188 @@ -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("bx") -@Implements("Interpreter") -public class Interpreter { - @ObfuscatedName("t") - @Export("Interpreter_intLocals") - static int[] Interpreter_intLocals; - @ObfuscatedName("l") - @Export("Interpreter_arrayLengths") - static int[] Interpreter_arrayLengths; - @ObfuscatedName("u") - @Export("Interpreter_arrays") - static int[][] Interpreter_arrays; - @ObfuscatedName("j") - @Export("Interpreter_intStack") - static int[] Interpreter_intStack; - @ObfuscatedName("d") - @Export("Interpreter_stringStack") - static String[] Interpreter_stringStack; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -642929591 - ) - @Export("Interpreter_frameDepth") - static int Interpreter_frameDepth; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "[Lbu;" - ) - @Export("Interpreter_frames") - static ScriptFrame[] Interpreter_frames; - @ObfuscatedName("p") - @Export("Interpreter_calendar") - static java.util.Calendar Interpreter_calendar; - @ObfuscatedName("e") - @Export("Interpreter_MONTHS") - static final String[] Interpreter_MONTHS; - @ObfuscatedName("q") - static boolean field1067; - @ObfuscatedName("y") - static boolean field1068; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 3372955 - ) - static int field1066; - @ObfuscatedName("o") - static final double field1070; - - 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"}; - field1067 = false; - field1068 = false; - field1066 = 0; - field1070 = Math.log(2.0D); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lic;", - garbageValue = "2054556426" - ) - @Export("HitSplatDefinition_get") - public static HitSplatDefinition HitSplatDefinition_get(int var0) { - HitSplatDefinition var1 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var0); - var1 = new HitSplatDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - HitSplatDefinition.HitSplatDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lhz;Ljava/lang/String;Ljava/lang/String;B)Llt;", - garbageValue = "105" - ) - @Export("SpriteBuffer_getIndexedSpriteByName") - public static IndexedSprite SpriteBuffer_getIndexedSpriteByName(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); - int var4 = var0.getFileId(var3, var2); - byte[] var7 = var0.takeFile(var3, var4); - boolean var6; - if (var7 == null) { - var6 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var7); - var6 = true; - } - - IndexedSprite var5; - if (!var6) { - var5 = null; - } else { - IndexedSprite var8 = new IndexedSprite(); - var8.width = class325.SpriteBuffer_spriteWidth; - var8.height = class325.SpriteBuffer_spriteHeight; - var8.xOffset = class325.SpriteBuffer_xOffsets[0]; - var8.yOffset = SecureRandomCallable.SpriteBuffer_yOffsets[0]; - var8.subWidth = class325.SpriteBuffer_spriteWidths[0]; - var8.subHeight = SoundSystem.SpriteBuffer_spriteHeights[0]; - var8.palette = class325.SpriteBuffer_spritePalette; - var8.pixels = InvDefinition.SpriteBuffer_pixels[0]; - class192.SpriteBuffer_clear(); - var5 = var8; - } - - return var5; - } -} +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("bw") +@Implements("Interpreter") +public class Interpreter { + @ObfuscatedName("qg") + @ObfuscatedSignature( + signature = "Ldr;" + ) + @Export("decimator") + static Decimator decimator; + @ObfuscatedName("v") + @Export("Interpreter_intLocals") + static int[] Interpreter_intLocals; + @ObfuscatedName("r") + @Export("Interpreter_arrayLengths") + static int[] Interpreter_arrayLengths; + @ObfuscatedName("p") + @Export("Interpreter_arrays") + static int[][] Interpreter_arrays; + @ObfuscatedName("q") + @Export("Interpreter_intStack") + static int[] Interpreter_intStack; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 313560965 + ) + @Export("Interpreter_intStackSize") + static int Interpreter_intStackSize; + @ObfuscatedName("y") + @Export("Interpreter_stringStack") + static String[] Interpreter_stringStack; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -133806221 + ) + @Export("Interpreter_stringStackSize") + static int Interpreter_stringStackSize; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1889538287 + ) + @Export("Interpreter_frameDepth") + static int Interpreter_frameDepth; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "[Lbv;" + ) + @Export("Interpreter_frames") + static ScriptFrame[] Interpreter_frames; + @ObfuscatedName("e") + @Export("Interpreter_calendar") + static java.util.Calendar Interpreter_calendar; + @ObfuscatedName("w") + @Export("Interpreter_MONTHS") + static final String[] Interpreter_MONTHS; + @ObfuscatedName("g") + static boolean field1074; + @ObfuscatedName("x") + static boolean field1075; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1964719699 + ) + static int field1089; + @ObfuscatedName("d") + static final double field1077; + + 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"}; + field1074 = false; + field1075 = false; + field1089 = 0; + field1077 = Math.log(2.0D); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgt;I)I", + garbageValue = "-1997764542" + ) + @Export("compareStrings") + public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { + int var3 = var0.length(); + int var4 = var1.length(); + int var5 = 0; + int var6 = 0; + char var7 = 0; + char var8 = 0; + + while (var5 - var7 < var3 || var6 - var8 < var4) { + if (var5 - var7 >= var3) { + return -1; + } + + if (var6 - var8 >= var4) { + return 1; + } + + char var9; + if (var7 != 0) { + var9 = var7; + boolean var14 = false; + } else { + var9 = var0.charAt(var5++); + } + + char var10; + if (var8 != 0) { + var10 = var8; + boolean var15 = false; + } else { + var10 = var1.charAt(var6++); + } + + var7 = class14.method175(var9); + var8 = class14.method175(var10); + var9 = class13.standardizeChar(var9, var2); + var10 = class13.standardizeChar(var10, var2); + if (var10 != var9 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { + var9 = Character.toLowerCase(var9); + var10 = Character.toLowerCase(var10); + if (var10 != var9) { + return MusicPatchNode.lowercaseChar(var9, var2) - MusicPatchNode.lowercaseChar(var10, var2); + } + } + } + + int var16 = Math.min(var3, var4); + + char var12; + int var17; + for (var17 = 0; var17 < var16; ++var17) { + if (var2 == Language.Language_FR) { + var5 = var3 - 1 - var17; + var6 = var4 - 1 - var17; + } else { + var6 = var17; + var5 = var17; + } + + char var11 = var0.charAt(var5); + var12 = var1.charAt(var6); + if (var11 != var12 && Character.toUpperCase(var11) != Character.toUpperCase(var12)) { + var11 = Character.toLowerCase(var11); + var12 = Character.toLowerCase(var12); + if (var12 != var11) { + return MusicPatchNode.lowercaseChar(var11, var2) - MusicPatchNode.lowercaseChar(var12, var2); + } + } + } + + var17 = var3 - var4; + if (var17 != 0) { + return var17; + } else { + for (int var18 = 0; var18 < var16; ++var18) { + var12 = var0.charAt(var18); + char var13 = var1.charAt(var18); + if (var13 != var12) { + return MusicPatchNode.lowercaseChar(var12, var2) - MusicPatchNode.lowercaseChar(var13, var2); + } + } + + return 0; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;IB)Z", + garbageValue = "106" + ) + static boolean method2021(String var0, int var1) { + return WorldMapID.method567(var0, var1, "openjs"); + } +} diff --git a/runescape-client/src/main/java/InvDefinition.java b/runescape-client/src/main/java/InvDefinition.java index 702db3ea7a..6c870c5933 100644 --- a/runescape-client/src/main/java/InvDefinition.java +++ b/runescape-client/src/main/java/InvDefinition.java @@ -1,73 +1,876 @@ -import java.io.File; -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("ik") -@Implements("InvDefinition") -public class InvDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("InvDefinition_archive") - static AbstractArchive InvDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("InvDefinition_cached") - static EvictingDualNodeHashTable InvDefinition_cached; - @ObfuscatedName("l") - @Export("cacheDir") - static File cacheDir; - @ObfuscatedName("d") - @Export("SpriteBuffer_pixels") - public static byte[][] SpriteBuffer_pixels; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1514382049 - ) - @Export("size") - public int size; - - static { - InvDefinition_cached = new EvictingDualNodeHashTable(64); - } - - InvDefinition() { - this.size = 0; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "406226730" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "-289105808" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 2) { - this.size = var1.readUnsignedShort(); - } - - } -} +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("ig") +@Implements("InvDefinition") +public class InvDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("InvDefinition_archive") + static AbstractArchive InvDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("InvDefinition_cached") + static EvictingDualNodeHashTable InvDefinition_cached; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1122330625 + ) + @Export("size") + public int size; + + static { + InvDefinition_cached = new EvictingDualNodeHashTable(64); + } + + InvDefinition() { + this.size = 0; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "1971272201" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-57582576" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 2) { + this.size = var1.readUnsignedShort(); + } + + } + + @ObfuscatedName("hm") + @ObfuscatedSignature( + signature = "(IIIILjava/lang/String;Ljava/lang/String;III)V", + garbageValue = "1826014571" + ) + @Export("menuAction") + static final void menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7) { + if (var2 >= 2000) { + var2 -= 2000; + } + + PacketBufferNode var8; + if (var2 == 1) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2230, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5461(class223.baseX * 64 + var0); + var8.packetBuffer.writeShort(class286.baseY * 64 + var1); + var8.packetBuffer.writeIntME(AbstractWorldMapData.selectedItemId); + var8.packetBuffer.method5615(class2.selectedItemWidget); + var8.packetBuffer.writeShort(DevicePcmPlayerProvider.selectedItemSlot); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 2) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2252, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(AttackOption.selectedSpellWidget); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(class286.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShort(class223.baseX * 64 + var0); + var8.packetBuffer.writeIntME(Client.selectedSpellChildIndex); + Client.packetWriter.addNode(var8); + } else if (var2 == 3) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2235, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeIntME(class286.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(class223.baseX * 64 + var0); + Client.packetWriter.addNode(var8); + } else if (var2 == 4) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2190, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShort(class223.baseX * 64 + var0); + var8.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntME(class286.baseY * 64 + var1); + Client.packetWriter.addNode(var8); + } else if (var2 == 5) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2226, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeIntME(class223.baseX * 64 + var0); + var8.packetBuffer.writeShortLE(class286.baseY * 64 + var1); + var8.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 6) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2266, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(class223.baseX * 64 + var0); + var8.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntME(var3); + var8.packetBuffer.writeIntME(class286.baseY * 64 + var1); + Client.packetWriter.addNode(var8); + } else { + PacketBufferNode var9; + NPC var13; + if (var2 == 7) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2195, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeIntLE16(class2.selectedItemWidget); + var9.packetBuffer.writeShortLE(AbstractWorldMapData.selectedItemId); + var9.packetBuffer.writeIntME(var3); + var9.packetBuffer.writeShortLE(DevicePcmPlayerProvider.selectedItemSlot); + var9.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 8) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2260, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5461(Client.selectedSpellChildIndex); + var9.packetBuffer.method5461(var3); + var9.packetBuffer.writeIntLE16(AttackOption.selectedSpellWidget); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 9) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2273, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 10) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2280, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntME(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 11) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2219, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 12) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2263, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 13) { + var13 = Client.npcs[var3]; + if (var13 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2221, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var9); + } + } else { + Player var15; + if (var2 == 14) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2243, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(var3); + var9.packetBuffer.method5615(class2.selectedItemWidget); + var9.packetBuffer.writeShort(AbstractWorldMapData.selectedItemId); + var9.packetBuffer.method5461(DevicePcmPlayerProvider.selectedItemSlot); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 15) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2239, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5461(var3); + var9.packetBuffer.writeIntME(Client.selectedSpellChildIndex); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5474(AttackOption.selectedSpellWidget); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 16) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2197, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeInt(class2.selectedItemWidget); + var8.packetBuffer.writeIntME(DevicePcmPlayerProvider.selectedItemSlot); + var8.packetBuffer.writeShortLE(class286.baseY * 64 + var1); + var8.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntME(class223.baseX * 64 + var0); + var8.packetBuffer.writeIntME(AbstractWorldMapData.selectedItemId); + Client.packetWriter.addNode(var8); + } else if (var2 == 17) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2218, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(class286.baseY * 64 + var1); + var8.packetBuffer.writeIntLE16(AttackOption.selectedSpellWidget); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeIntME(Client.selectedSpellChildIndex); + var8.packetBuffer.method5461(class223.baseX * 64 + var0); + var8.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 18) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2277, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5461(class286.baseY * 64 + var1); + var8.packetBuffer.writeIntME(class223.baseX * 64 + var0); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 19) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2205, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntME(class223.baseX * 64 + var0); + var8.packetBuffer.writeIntME(var3); + var8.packetBuffer.writeIntME(class286.baseY * 64 + var1); + Client.packetWriter.addNode(var8); + } else if (var2 == 20) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2240, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(class223.baseX * 64 + var0); + var8.packetBuffer.writeIntME(class286.baseY * 64 + var1); + var8.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 21) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2265, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(class223.baseX * 64 + var0); + var8.packetBuffer.writeIntME(class286.baseY * 64 + var1); + var8.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 22) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2192, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5461(class223.baseX * 64 + var0); + var8.packetBuffer.method5461(class286.baseY * 64 + var1); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 23) { + if (Client.isMenuOpen) { + PacketWriter.scene.setViewportWalking(); + } else { + PacketWriter.scene.menuOpen(WorldMapRectangle.plane, var0, var1, true); + } + } else { + PacketBufferNode var10; + Widget var16; + if (var2 == 24) { + var16 = Canvas.getWidget(var1); + boolean var11 = true; + if (var16.contentType > 0) { + var11 = class43.method840(var16); + } + + if (var11) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2261, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var10); + } + } else { + if (var2 == 25) { + var16 = GrandExchangeOfferWorldComparator.getWidgetChild(var1, var0); + if (var16 != null) { + class208.Widget_runOnTargetLeave(); + class32.selectSpell(var1, var0, class2.method30(class2.getWidgetClickMask(var16)), var16.itemId); + Client.isItemSelected = 0; + Client.selectedSpellActionName = VerticalAlignment.method4309(var16); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; + } + + if (var16.isIf3) { + Client.selectedSpellName = var16.dataText + World.colorStartTag(16777215); + } else { + Client.selectedSpellName = World.colorStartTag(65280) + var16.spellName + World.colorStartTag(16777215); + } + } + + return; + } + + if (var2 == 26) { + class51.method922(); + } else { + int var12; + Widget var14; + if (var2 == 28) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2261, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + var14 = Canvas.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var12 = var14.cs1Instructions[0][1]; + Varps.Varps_main[var12] = 1 - Varps.Varps_main[var12]; + NetSocket.method3468(var12); + } + } else if (var2 == 29) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2261, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + var14 = Canvas.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var12 = var14.cs1Instructions[0][1]; + if (Varps.Varps_main[var12] != var14.cs1ComparisonValues[0]) { + Varps.Varps_main[var12] = var14.cs1ComparisonValues[0]; + NetSocket.method3468(var12); + } + } + } else if (var2 == 30) { + if (Client.meslayerContinueWidget == null) { + Clock.resumePauseWidget(var1, var0); + Client.meslayerContinueWidget = GrandExchangeOfferWorldComparator.getWidgetChild(var1, var0); + WorldMapSectionType.invalidateWidget(Client.meslayerContinueWidget); + } + } else if (var2 == 31) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2269, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5615(var1); + var8.packetBuffer.writeShortLE(DevicePcmPlayerProvider.selectedItemSlot); + var8.packetBuffer.writeInt(class2.selectedItemWidget); + var8.packetBuffer.writeShort(AbstractWorldMapData.selectedItemId); + var8.packetBuffer.writeShort(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 32) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2246, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(Client.selectedSpellChildIndex); + var8.packetBuffer.method5461(var0); + var8.packetBuffer.method5461(var3); + var8.packetBuffer.method5615(var1); + var8.packetBuffer.method5474(AttackOption.selectedSpellWidget); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 33) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2211, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.method5461(var0); + var8.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 34) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2255, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.method5461(var0); + var8.packetBuffer.writeIntME(var3); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 35) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2189, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5461(var3); + var8.packetBuffer.writeIntLE16(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 36) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2198, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.method5461(var0); + var8.packetBuffer.method5615(var1); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 37) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2247, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.method5615(var1); + var8.packetBuffer.writeIntME(var3); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else { + if (var2 == 38) { + class208.Widget_runOnTargetLeave(); + var16 = Canvas.getWidget(var1); + Client.isItemSelected = 1; + DevicePcmPlayerProvider.selectedItemSlot = var0; + class2.selectedItemWidget = var1; + AbstractWorldMapData.selectedItemId = var3; + WorldMapSectionType.invalidateWidget(var16); + Client.selectedItemName = World.colorStartTag(16748608) + Occluder.ItemDefinition_get(var3).name + World.colorStartTag(16777215); + if (Client.selectedItemName == null) { + Client.selectedItemName = "null"; + } + + return; + } + + if (var2 == 39) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2217, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method5474(var1); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 40) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2272, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5615(var1); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 41) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2250, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5461(var0); + var8.packetBuffer.method5474(var1); + var8.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 42) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2259, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeShort(var0); + var8.packetBuffer.method5615(var1); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 43) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2282, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method5474(var1); + var8.packetBuffer.writeShort(var0); + Client.packetWriter.addNode(var8); + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + } else if (var2 == 44) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2231, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeIntME(var3); + var9.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 45) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2227, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 46) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2206, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5446(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 47) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2271, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(var3); + var9.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 48) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2242, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5453(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 49) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2214, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 50) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2274, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5461(var3); + var9.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } else if (var2 == 51) { + var15 = Client.players[var3]; + if (var15 != null) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2262, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntME(var3); + Client.packetWriter.addNode(var9); + } + } else { + label960: { + if (var2 != 57) { + if (var2 == 58) { + var16 = GrandExchangeOfferWorldComparator.getWidgetChild(var1, var0); + if (var16 != null) { + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2236, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5615(var1); + var9.packetBuffer.writeShort(var16.itemId); + var9.packetBuffer.writeIntLE16(AttackOption.selectedSpellWidget); + var9.packetBuffer.writeShortLE(var0); + var9.packetBuffer.writeIntME(Client.selectedSpellChildIndex); + var9.packetBuffer.writeIntME(Client.field793); + Client.packetWriter.addNode(var9); + } + break label960; + } + + if (var2 == 1001) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2234, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(class286.baseY * 64 + var1); + var8.packetBuffer.writeShort(class223.baseX * 64 + var0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method5452(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + break label960; + } + + if (var2 == 1002) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2220, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5461(var3); + Client.packetWriter.addNode(var8); + break label960; + } + + if (var2 == 1003) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var13 = Client.npcs[var3]; + if (var13 != null) { + NPCDefinition var17 = var13.definition; + if (var17.transforms != null) { + var17 = var17.transform(); + } + + if (var17 != null) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2248, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeIntME(var17.id); + Client.packetWriter.addNode(var10); + } + } + break label960; + } + + if (var2 == 1004) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2212, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + break label960; + } + + if (var2 == 1005) { + var16 = Canvas.getWidget(var1); + if (var16 != null && var16.itemQuantities[var0] >= 100000) { + class210.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + Occluder.ItemDefinition_get(var3).name); + } else { + var9 = InterfaceParent.getPacketBufferNode(ClientPacket.field2212, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var9); + } + + Client.field750 = 0; + GrandExchangeOfferOwnWorldComparator.field628 = Canvas.getWidget(var1); + Client.field743 = var0; + break label960; + } + + if (var2 != 1007) { + if (var2 == 1011 || var2 == 1010 || var2 == 1009 || var2 == 1008 || var2 == 1012) { + Tiles.worldMap.menuAction(var2, var3, new Coord(var0), new Coord(var1)); + } + break label960; + } + } + + var16 = GrandExchangeOfferWorldComparator.getWidgetChild(var1, var0); + if (var16 != null) { + WorldMapSection1.method605(var3, var1, var0, var16.itemId, var5); + } + } + } + } + } + } + } + } + } + + if (Client.isItemSelected != 0) { + Client.isItemSelected = 0; + WorldMapSectionType.invalidateWidget(Canvas.getWidget(class2.selectedItemWidget)); + } + + if (Client.isSpellSelected) { + class208.Widget_runOnTargetLeave(); + } + + if (GrandExchangeOfferOwnWorldComparator.field628 != null && Client.field750 == 0) { + WorldMapSectionType.invalidateWidget(GrandExchangeOfferOwnWorldComparator.field628); + } + + } + + @ObfuscatedName("ig") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Lho;I)Ljava/lang/String;", + garbageValue = "-1374184738" + ) + static String method4323(String var0, Widget var1) { + if (var0.indexOf("%") != -1) { + for (int var2 = 1; var2 <= 5; ++var2) { + while (true) { + int var3 = var0.indexOf("%" + var2); + if (var3 == -1) { + break; + } + + String var4 = var0.substring(0, var3); + int var6 = class216.method4003(var1, var2 - 1); + String var5; + if (var6 < 999999999) { + var5 = Integer.toString(var6); + } else { + var5 = "*"; + } + + var0 = var4 + var5 + var0.substring(var3 + 2); + } + } + } + + return var0; + } +} diff --git a/runescape-client/src/main/java/IsaacCipher.java b/runescape-client/src/main/java/IsaacCipher.java index 4bcbe0731d..b563ea7c37 100644 --- a/runescape-client/src/main/java/IsaacCipher.java +++ b/runescape-client/src/main/java/IsaacCipher.java @@ -1,250 +1,244 @@ -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("ld") -@Implements("IsaacCipher") -public final class IsaacCipher { - @ObfuscatedName("es") - @ObfuscatedGetter( - intValue = 553718263 - ) - @Export("port2") - static int port2; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -2000673999 - ) - @Export("valuesRemaining") - int valuesRemaining; - @ObfuscatedName("l") - @Export("results") - int[] results; - @ObfuscatedName("u") - @Export("mm") - int[] mm; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -562212667 - ) - @Export("aa") - int aa; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1651131677 - ) - @Export("bb") - int bb; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1736617829 - ) - @Export("cc") - int cc; - - public IsaacCipher(int[] var1) { - this.mm = new int[256]; - this.results = new int[256]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - this.results[var2] = var1[var2]; - } - - this.method6203(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "361058639" - ) - @Export("nextInt") - public final int nextInt() { - if (this.valuesRemaining == 0) { - this.generateMoreResults(); - this.valuesRemaining = 256; - } - - return this.results[--this.valuesRemaining]; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1313379717" - ) - public final int method6210() { - if (this.valuesRemaining == 0) { - this.generateMoreResults(); - this.valuesRemaining = 256; - } - - return this.results[this.valuesRemaining - 1]; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1660936627" - ) - @Export("generateMoreResults") - final void generateMoreResults() { - this.bb += ++this.cc; - - for (int var1 = 0; var1 < 256; ++var1) { - int var2 = this.mm[var1]; - if ((var1 & 2) == 0) { - if ((var1 & 1) == 0) { - this.aa ^= this.aa << 13; - } else { - this.aa ^= this.aa >>> 6; - } - } else if ((var1 & 1) == 0) { - this.aa ^= this.aa << 2; - } else { - this.aa ^= this.aa >>> 16; - } - - this.aa += this.mm[128 + var1 & 255]; - int var3; - this.mm[var1] = var3 = this.mm[(var2 & 1020) >> 2] + this.bb + this.aa; - this.results[var1] = this.bb = this.mm[(var3 >> 8 & 1020) >> 2] + var2; - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2007825108" - ) - final void method6203() { - int var9 = -1640531527; - int var8 = -1640531527; - int var7 = -1640531527; - int var6 = -1640531527; - int var5 = -1640531527; - int var4 = -1640531527; - int var3 = -1640531527; - int var2 = -1640531527; - - int var1; - for (var1 = 0; var1 < 4; ++var1) { - var2 ^= var3 << 11; - var5 += var2; - var3 += var4; - var3 ^= var4 >>> 2; - var6 += var3; - var4 += var5; - var4 ^= var5 << 8; - var7 += var4; - var5 += var6; - var5 ^= var6 >>> 16; - var8 += var5; - var6 += var7; - var6 ^= var7 << 10; - var9 += var6; - var7 += var8; - var7 ^= var8 >>> 4; - var2 += var7; - var8 += var9; - var8 ^= var9 << 8; - var3 += var8; - var9 += var2; - var9 ^= var2 >>> 9; - var4 += var9; - var2 += var3; - } - - for (var1 = 0; var1 < 256; var1 += 8) { - var2 += this.results[var1]; - var3 += this.results[var1 + 1]; - var4 += this.results[var1 + 2]; - var5 += this.results[var1 + 3]; - var6 += this.results[var1 + 4]; - var7 += this.results[var1 + 5]; - var8 += this.results[var1 + 6]; - var9 += this.results[var1 + 7]; - var2 ^= var3 << 11; - var5 += var2; - var3 += var4; - var3 ^= var4 >>> 2; - var6 += var3; - var4 += var5; - var4 ^= var5 << 8; - var7 += var4; - var5 += var6; - var5 ^= var6 >>> 16; - var8 += var5; - var6 += var7; - var6 ^= var7 << 10; - var9 += var6; - var7 += var8; - var7 ^= var8 >>> 4; - var2 += var7; - var8 += var9; - var8 ^= var9 << 8; - var3 += var8; - var9 += var2; - var9 ^= var2 >>> 9; - var4 += var9; - var2 += var3; - this.mm[var1] = var2; - this.mm[var1 + 1] = var3; - this.mm[var1 + 2] = var4; - this.mm[var1 + 3] = var5; - this.mm[var1 + 4] = var6; - this.mm[var1 + 5] = var7; - this.mm[var1 + 6] = var8; - this.mm[var1 + 7] = var9; - } - - for (var1 = 0; var1 < 256; var1 += 8) { - var2 += this.mm[var1]; - var3 += this.mm[var1 + 1]; - var4 += this.mm[var1 + 2]; - var5 += this.mm[var1 + 3]; - var6 += this.mm[var1 + 4]; - var7 += this.mm[var1 + 5]; - var8 += this.mm[var1 + 6]; - var9 += this.mm[var1 + 7]; - var2 ^= var3 << 11; - var5 += var2; - var3 += var4; - var3 ^= var4 >>> 2; - var6 += var3; - var4 += var5; - var4 ^= var5 << 8; - var7 += var4; - var5 += var6; - var5 ^= var6 >>> 16; - var8 += var5; - var6 += var7; - var6 ^= var7 << 10; - var9 += var6; - var7 += var8; - var7 ^= var8 >>> 4; - var2 += var7; - var8 += var9; - var8 ^= var9 << 8; - var3 += var8; - var9 += var2; - var9 ^= var2 >>> 9; - var4 += var9; - var2 += var3; - this.mm[var1] = var2; - this.mm[var1 + 1] = var3; - this.mm[var1 + 2] = var4; - this.mm[var1 + 3] = var5; - this.mm[var1 + 4] = var6; - this.mm[var1 + 5] = var7; - this.mm[var1 + 6] = var8; - this.mm[var1 + 7] = var9; - } - - this.generateMoreResults(); - this.valuesRemaining = 256; - } -} +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("lg") +@Implements("IsaacCipher") +public final class IsaacCipher { + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -925707239 + ) + @Export("valuesRemaining") + int valuesRemaining; + @ObfuscatedName("r") + @Export("results") + int[] results; + @ObfuscatedName("p") + @Export("mm") + int[] mm; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 460099205 + ) + @Export("aa") + int aa; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 883284121 + ) + @Export("bb") + int bb; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 2097692587 + ) + @Export("cc") + int cc; + + public IsaacCipher(int[] var1) { + this.mm = new int[256]; + this.results = new int[256]; + + for (int var2 = 0; var2 < var1.length; ++var2) { + this.results[var2] = var1[var2]; + } + + this.method6193(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "2" + ) + @Export("nextInt") + public final int nextInt() { + if (this.valuesRemaining == 0) { + this.generateMoreResults(); + this.valuesRemaining = 256; + } + + return this.results[--this.valuesRemaining]; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "2039703989" + ) + public final int method6191() { + if (this.valuesRemaining == 0) { + this.generateMoreResults(); + this.valuesRemaining = 256; + } + + return this.results[this.valuesRemaining - 1]; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "522891016" + ) + @Export("generateMoreResults") + final void generateMoreResults() { + this.bb += ++this.cc; + + for (int var1 = 0; var1 < 256; ++var1) { + int var2 = this.mm[var1]; + if ((var1 & 2) == 0) { + if ((var1 & 1) == 0) { + this.aa ^= this.aa << 13; + } else { + this.aa ^= this.aa >>> 6; + } + } else if ((var1 & 1) == 0) { + this.aa ^= this.aa << 2; + } else { + this.aa ^= this.aa >>> 16; + } + + this.aa += this.mm[128 + var1 & 255]; + int var3; + this.mm[var1] = var3 = this.mm[(var2 & 1020) >> 2] + this.bb + this.aa; + this.results[var1] = this.bb = this.mm[(var3 >> 8 & 1020) >> 2] + var2; + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-135595454" + ) + final void method6193() { + int var9 = -1640531527; + int var8 = -1640531527; + int var7 = -1640531527; + int var6 = -1640531527; + int var5 = -1640531527; + int var4 = -1640531527; + int var3 = -1640531527; + int var2 = -1640531527; + + int var1; + for (var1 = 0; var1 < 4; ++var1) { + var2 ^= var3 << 11; + var5 += var2; + var3 += var4; + var3 ^= var4 >>> 2; + var6 += var3; + var4 += var5; + var4 ^= var5 << 8; + var7 += var4; + var5 += var6; + var5 ^= var6 >>> 16; + var8 += var5; + var6 += var7; + var6 ^= var7 << 10; + var9 += var6; + var7 += var8; + var7 ^= var8 >>> 4; + var2 += var7; + var8 += var9; + var8 ^= var9 << 8; + var3 += var8; + var9 += var2; + var9 ^= var2 >>> 9; + var4 += var9; + var2 += var3; + } + + for (var1 = 0; var1 < 256; var1 += 8) { + var2 += this.results[var1]; + var3 += this.results[var1 + 1]; + var4 += this.results[var1 + 2]; + var5 += this.results[var1 + 3]; + var6 += this.results[var1 + 4]; + var7 += this.results[var1 + 5]; + var8 += this.results[var1 + 6]; + var9 += this.results[var1 + 7]; + var2 ^= var3 << 11; + var5 += var2; + var3 += var4; + var3 ^= var4 >>> 2; + var6 += var3; + var4 += var5; + var4 ^= var5 << 8; + var7 += var4; + var5 += var6; + var5 ^= var6 >>> 16; + var8 += var5; + var6 += var7; + var6 ^= var7 << 10; + var9 += var6; + var7 += var8; + var7 ^= var8 >>> 4; + var2 += var7; + var8 += var9; + var8 ^= var9 << 8; + var3 += var8; + var9 += var2; + var9 ^= var2 >>> 9; + var4 += var9; + var2 += var3; + this.mm[var1] = var2; + this.mm[var1 + 1] = var3; + this.mm[var1 + 2] = var4; + this.mm[var1 + 3] = var5; + this.mm[var1 + 4] = var6; + this.mm[var1 + 5] = var7; + this.mm[var1 + 6] = var8; + this.mm[var1 + 7] = var9; + } + + for (var1 = 0; var1 < 256; var1 += 8) { + var2 += this.mm[var1]; + var3 += this.mm[var1 + 1]; + var4 += this.mm[var1 + 2]; + var5 += this.mm[var1 + 3]; + var6 += this.mm[var1 + 4]; + var7 += this.mm[var1 + 5]; + var8 += this.mm[var1 + 6]; + var9 += this.mm[var1 + 7]; + var2 ^= var3 << 11; + var5 += var2; + var3 += var4; + var3 ^= var4 >>> 2; + var6 += var3; + var4 += var5; + var4 ^= var5 << 8; + var7 += var4; + var5 += var6; + var5 ^= var6 >>> 16; + var8 += var5; + var6 += var7; + var6 ^= var7 << 10; + var9 += var6; + var7 += var8; + var7 ^= var8 >>> 4; + var2 += var7; + var8 += var9; + var8 ^= var9 << 8; + var3 += var8; + var9 += var2; + var9 ^= var2 >>> 9; + var4 += var9; + var2 += var3; + this.mm[var1] = var2; + this.mm[var1 + 1] = var3; + this.mm[var1 + 2] = var4; + this.mm[var1 + 3] = var5; + this.mm[var1 + 4] = var6; + this.mm[var1 + 5] = var7; + this.mm[var1 + 6] = var8; + this.mm[var1 + 7] = var9; + } + + this.generateMoreResults(); + this.valuesRemaining = 256; + } +} diff --git a/runescape-client/src/main/java/ItemContainer.java b/runescape-client/src/main/java/ItemContainer.java index 07f4ae31a2..15be704bbd 100644 --- a/runescape-client/src/main/java/ItemContainer.java +++ b/runescape-client/src/main/java/ItemContainer.java @@ -1,49 +1,89 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("bf") -@Implements("ItemContainer") -public class ItemContainer extends Node { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("itemContainers") - static NodeHashTable itemContainers; - @ObfuscatedName("x") - @Export("ids") - int[] ids; - @ObfuscatedName("t") - @Export("quantities") - int[] quantities; - - static { - itemContainers = new NodeHashTable(32); - } - - ItemContainer() { - this.ids = new int[]{-1}; - this.quantities = new int[]{0}; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)[Lii;", - garbageValue = "-1732973980" - ) - static VerticalAlignment[] method1120() { - return new VerticalAlignment[]{VerticalAlignment.field3170, VerticalAlignment.field3172, VerticalAlignment.VerticalAlignment_centered}; - } - - @ObfuscatedName("iw") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-476511275" - ) - @Export("getTapToDrop") - static boolean getTapToDrop() { - return Client.tapToDrop; - } -} +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("bz") +@Implements("ItemContainer") +public class ItemContainer extends Node { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("itemContainers") + static NodeHashTable itemContainers; + @ObfuscatedName("mu") + @ObfuscatedGetter( + intValue = -1316536921 + ) + @Export("selectedSpellFlags") + static int selectedSpellFlags; + @ObfuscatedName("n") + @Export("ids") + int[] ids; + @ObfuscatedName("v") + @Export("quantities") + int[] quantities; + + static { + itemContainers = new NodeHashTable(32); + } + + ItemContainer() { + this.ids = new int[]{-1}; + this.quantities = new int[]{0}; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;Lhp;I)V", + garbageValue = "376678600" + ) + public static void method1190(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { + SequenceDefinition.SequenceDefinition_archive = var0; + SequenceDefinition.SequenceDefinition_animationsArchive = var1; + class188.SequenceDefinition_skeletonsArchive = var2; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)Lfz;", + garbageValue = "1488138254" + ) + @Export("newClock") + public static Clock newClock() { + try { + return new NanoClock(); + } catch (Throwable var1) { + return new MilliClock(); + } + } + + @ObfuscatedName("io") + @ObfuscatedSignature( + signature = "(IIIIIIIII)V", + garbageValue = "-57501603" + ) + @Export("drawWidgets") + static final void drawWidgets(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (WorldMapData_0.loadInterface(var0)) { + GrandExchangeOffer.field61 = null; + ScriptEvent.drawInterface(UserComparator5.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6, var7); + if (GrandExchangeOffer.field61 != null) { + ScriptEvent.drawInterface(GrandExchangeOffer.field61, -1412584499, var1, var2, var3, var4, class227.field3061, Occluder.field1889, var7); + GrandExchangeOffer.field61 = null; + } + + } else { + if (var7 != -1) { + Client.field841[var7] = true; + } else { + for (int var8 = 0; var8 < 100; ++var8) { + Client.field841[var8] = true; + } + } + + } + } +} diff --git a/runescape-client/src/main/java/ItemDefinition.java b/runescape-client/src/main/java/ItemDefinition.java index 7d4aa4c886..f2e029849c 100644 --- a/runescape-client/src/main/java/ItemDefinition.java +++ b/runescape-client/src/main/java/ItemDefinition.java @@ -1,922 +1,942 @@ -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("id") -@Implements("ItemDefinition") -public class ItemDefinition extends DualNode { - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("ItemDefinition_modelArchive") - static AbstractArchive ItemDefinition_modelArchive; - @ObfuscatedName("v") - @Export("ItemDefinition_inMembersWorld") - static boolean ItemDefinition_inMembersWorld; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 60150897 - ) - @Export("ItemDefinition_fileCount") - public static int ItemDefinition_fileCount; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ItemDefinition_cached") - public static EvictingDualNodeHashTable ItemDefinition_cached; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ItemDefinition_cachedModels") - public static EvictingDualNodeHashTable ItemDefinition_cachedModels; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ItemDefinition_cachedSprites") - public static EvictingDualNodeHashTable ItemDefinition_cachedSprites; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1912612409 - ) - @Export("id") - public int id; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1313341031 - ) - @Export("model") - int model; - @ObfuscatedName("e") - @Export("name") - public String name; - @ObfuscatedName("i") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("q") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("y") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("r") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -2042590425 - ) - @Export("zoom2d") - public int zoom2d; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1743434559 - ) - @Export("xan2d") - public int xan2d; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1085324287 - ) - @Export("yan2d") - public int yan2d; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -102718805 - ) - @Export("zan2d") - public int zan2d; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 500949901 - ) - @Export("offsetX2d") - public int offsetX2d; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -1799990123 - ) - @Export("offsetY2d") - public int offsetY2d; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 1644008113 - ) - @Export("isStackable") - public int isStackable; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = 87385417 - ) - @Export("price") - public int price; - @ObfuscatedName("ao") - @Export("isMembersOnly") - public boolean isMembersOnly; - @ObfuscatedName("av") - @Export("groundActions") - public String[] groundActions; - @ObfuscatedName("an") - @Export("inventoryActions") - public String[] inventoryActions; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 16259827 - ) - @Export("shiftClickIndex") - int shiftClickIndex; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = 1217765059 - ) - @Export("maleModel") - int maleModel; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = 1973933317 - ) - @Export("maleModel1") - int maleModel1; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -1646981519 - ) - @Export("maleOffset") - int maleOffset; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -595853889 - ) - @Export("femaleModel") - int femaleModel; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = 1954751293 - ) - @Export("femaleModel1") - int femaleModel1; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -2071227399 - ) - @Export("femaleOffset") - int femaleOffset; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -371532613 - ) - @Export("maleModel2") - int maleModel2; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = -1430162711 - ) - @Export("femaleModel2") - int femaleModel2; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 538104481 - ) - @Export("maleHeadModel") - int maleHeadModel; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -327937313 - ) - @Export("maleHeadModel2") - int maleHeadModel2; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = -556260977 - ) - @Export("femaleHeadModel") - int femaleHeadModel; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -963849807 - ) - @Export("femaleHeadModel2") - int femaleHeadModel2; - @ObfuscatedName("ar") - @Export("countobj") - int[] countobj; - @ObfuscatedName("ac") - @Export("countco") - int[] countco; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = 175996525 - ) - @Export("note") - public int note; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = 1530246403 - ) - @Export("noteTemplate") - public int noteTemplate; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = 1210123357 - ) - @Export("resizeX") - int resizeX; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -1429496953 - ) - @Export("resizeY") - int resizeY; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -1015808869 - ) - @Export("resizeZ") - int resizeZ; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = 988691247 - ) - @Export("ambient") - public int ambient; - @ObfuscatedName("bn") - @ObfuscatedGetter( - intValue = -695693985 - ) - @Export("contrast") - public int contrast; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = -531040993 - ) - @Export("team") - public int team; - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("params") - IterableNodeHashTable params; - @ObfuscatedName("bu") - @Export("isTradable") - public boolean isTradable; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = 101502699 - ) - @Export("unnotedId") - int unnotedId; - @ObfuscatedName("bv") - @ObfuscatedGetter( - intValue = -1717449585 - ) - @Export("notedId") - int notedId; - @ObfuscatedName("bf") - @ObfuscatedGetter( - intValue = -192562421 - ) - @Export("placeholder") - public int placeholder; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = 352187041 - ) - @Export("placeholderTemplate") - public int placeholderTemplate; - - static { - ItemDefinition_cached = new EvictingDualNodeHashTable(64); - ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50); - ItemDefinition_cachedSprites = new EvictingDualNodeHashTable(200); - } - - ItemDefinition() { - this.name = "null"; - this.zoom2d = 2000; - this.xan2d = 0; - this.yan2d = 0; - this.zan2d = 0; - this.offsetX2d = 0; - this.offsetY2d = 0; - this.isStackable = 0; - this.price = 1; - this.isMembersOnly = false; - this.groundActions = new String[]{null, null, "Take", null, null}; - this.inventoryActions = new String[]{null, null, null, null, "Drop"}; - this.shiftClickIndex = -2; - this.maleModel = -1; - this.maleModel1 = -1; - this.maleOffset = 0; - this.femaleModel = -1; - this.femaleModel1 = -1; - this.femaleOffset = 0; - this.maleModel2 = -1; - this.femaleModel2 = -1; - this.maleHeadModel = -1; - this.maleHeadModel2 = -1; - this.femaleHeadModel = -1; - this.femaleHeadModel2 = -1; - this.note = -1; - this.noteTemplate = -1; - this.resizeX = 128; - this.resizeY = 128; - this.resizeZ = 128; - this.ambient = 0; - this.contrast = 0; - this.team = 0; - this.isTradable = false; - this.unnotedId = -1; - this.notedId = -1; - this.placeholder = -1; - this.placeholderTemplate = -1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1647296611" - ) - @Export("post") - void post() { - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;S)V", - garbageValue = "-4059" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "1415862705" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.model = var1.readUnsignedShort(); - } else if (var2 == 2) { - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 4) { - this.zoom2d = var1.readUnsignedShort(); - } else if (var2 == 5) { - this.xan2d = var1.readUnsignedShort(); - } else if (var2 == 6) { - this.yan2d = var1.readUnsignedShort(); - } else if (var2 == 7) { - this.offsetX2d = var1.readUnsignedShort(); - if (this.offsetX2d > 32767) { - this.offsetX2d -= 65536; - } - } else if (var2 == 8) { - this.offsetY2d = var1.readUnsignedShort(); - if (this.offsetY2d > 32767) { - this.offsetY2d -= 65536; - } - } else if (var2 == 11) { - this.isStackable = 1; - } else if (var2 == 12) { - this.price = var1.readInt(); - } else if (var2 == 16) { - this.isMembersOnly = true; - } else if (var2 == 23) { - this.maleModel = var1.readUnsignedShort(); - this.maleOffset = var1.readUnsignedByte(); - } else if (var2 == 24) { - this.maleModel1 = var1.readUnsignedShort(); - } else if (var2 == 25) { - this.femaleModel = var1.readUnsignedShort(); - this.femaleOffset = var1.readUnsignedByte(); - } else if (var2 == 26) { - this.femaleModel1 = var1.readUnsignedShort(); - } else if (var2 >= 30 && var2 < 35) { - this.groundActions[var2 - 30] = var1.readStringCp1252NullTerminated(); - if (this.groundActions[var2 - 30].equalsIgnoreCase("Hidden")) { - this.groundActions[var2 - 30] = null; - } - } else if (var2 >= 35 && var2 < 40) { - this.inventoryActions[var2 - 35] = var1.readStringCp1252NullTerminated(); - } else { - int var3; - int var4; - if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 42) { - this.shiftClickIndex = var1.readByte(); - } else if (var2 == 65) { - this.isTradable = true; - } else if (var2 == 78) { - this.maleModel2 = var1.readUnsignedShort(); - } else if (var2 == 79) { - this.femaleModel2 = var1.readUnsignedShort(); - } else if (var2 == 90) { - this.maleHeadModel = var1.readUnsignedShort(); - } else if (var2 == 91) { - this.femaleHeadModel = var1.readUnsignedShort(); - } else if (var2 == 92) { - this.maleHeadModel2 = var1.readUnsignedShort(); - } else if (var2 == 93) { - this.femaleHeadModel2 = var1.readUnsignedShort(); - } else if (var2 == 95) { - this.zan2d = var1.readUnsignedShort(); - } else if (var2 == 97) { - this.note = var1.readUnsignedShort(); - } else if (var2 == 98) { - this.noteTemplate = var1.readUnsignedShort(); - } else if (var2 >= 100 && var2 < 110) { - if (this.countobj == null) { - this.countobj = new int[10]; - this.countco = new int[10]; - } - - this.countobj[var2 - 100] = var1.readUnsignedShort(); - this.countco[var2 - 100] = var1.readUnsignedShort(); - } else if (var2 == 110) { - this.resizeX = var1.readUnsignedShort(); - } else if (var2 == 111) { - this.resizeY = var1.readUnsignedShort(); - } else if (var2 == 112) { - this.resizeZ = var1.readUnsignedShort(); - } else if (var2 == 113) { - this.ambient = var1.readByte(); - } else if (var2 == 114) { - this.contrast = var1.readByte() * 5; - } else if (var2 == 115) { - this.team = var1.readUnsignedByte(); - } else if (var2 == 139) { - this.unnotedId = var1.readUnsignedShort(); - } else if (var2 == 140) { - this.notedId = var1.readUnsignedShort(); - } else if (var2 == 148) { - this.placeholder = var1.readUnsignedShort(); - } else if (var2 == 149) { - this.placeholderTemplate = var1.readUnsignedShort(); - } else if (var2 == 249) { - this.params = FloorOverlayDefinition.readStringIntParameters(var1, this.params); - } - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lid;Lid;I)V", - garbageValue = "1350136104" - ) - @Export("genCert") - void genCert(ItemDefinition var1, ItemDefinition var2) { - this.model = var1.model; - this.zoom2d = var1.zoom2d; - this.xan2d = var1.xan2d; - this.yan2d = var1.yan2d; - this.zan2d = var1.zan2d; - this.offsetX2d = var1.offsetX2d; - this.offsetY2d = var1.offsetY2d; - this.recolorFrom = var1.recolorFrom; - this.recolorTo = var1.recolorTo; - this.retextureFrom = var1.retextureFrom; - this.retextureTo = var1.retextureTo; - this.name = var2.name; - this.isMembersOnly = var2.isMembersOnly; - this.price = var2.price; - this.isStackable = 1; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Lid;Lid;I)V", - garbageValue = "-1409711873" - ) - @Export("genBought") - void genBought(ItemDefinition var1, ItemDefinition var2) { - this.model = var1.model; - this.zoom2d = var1.zoom2d; - this.xan2d = var1.xan2d; - this.yan2d = var1.yan2d; - this.zan2d = var1.zan2d; - this.offsetX2d = var1.offsetX2d; - this.offsetY2d = var1.offsetY2d; - this.recolorFrom = var2.recolorFrom; - this.recolorTo = var2.recolorTo; - this.retextureFrom = var2.retextureFrom; - this.retextureTo = var2.retextureTo; - this.name = var2.name; - this.isMembersOnly = var2.isMembersOnly; - this.isStackable = var2.isStackable; - this.maleModel = var2.maleModel; - this.maleModel1 = var2.maleModel1; - this.maleModel2 = var2.maleModel2; - this.femaleModel = var2.femaleModel; - this.femaleModel1 = var2.femaleModel1; - this.femaleModel2 = var2.femaleModel2; - this.maleHeadModel = var2.maleHeadModel; - this.maleHeadModel2 = var2.maleHeadModel2; - this.femaleHeadModel = var2.femaleHeadModel; - this.femaleHeadModel2 = var2.femaleHeadModel2; - this.team = var2.team; - this.groundActions = var2.groundActions; - this.inventoryActions = new String[5]; - if (var2.inventoryActions != null) { - for (int var3 = 0; var3 < 4; ++var3) { - this.inventoryActions[var3] = var2.inventoryActions[var3]; - } - } - - this.inventoryActions[4] = "Discard"; - this.price = 0; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Lid;Lid;I)V", - garbageValue = "-875564338" - ) - @Export("genPlaceholder") - void genPlaceholder(ItemDefinition var1, ItemDefinition var2) { - this.model = var1.model; - this.zoom2d = var1.zoom2d; - this.xan2d = var1.xan2d; - this.yan2d = var1.yan2d; - this.zan2d = var1.zan2d; - this.offsetX2d = var1.offsetX2d; - this.offsetY2d = var1.offsetY2d; - this.recolorFrom = var1.recolorFrom; - this.recolorTo = var1.recolorTo; - this.retextureFrom = var1.retextureFrom; - this.retextureTo = var1.retextureTo; - this.isStackable = var1.isStackable; - this.name = var2.name; - this.price = 0; - this.isMembersOnly = false; - this.isTradable = false; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IB)Lds;", - garbageValue = "-83" - ) - @Export("getModelData") - public final ModelData getModelData(int var1) { - int var3; - if (this.countobj != null && var1 > 1) { - int var2 = -1; - - for (var3 = 0; var3 < 10; ++var3) { - if (var1 >= this.countco[var3] && this.countco[var3] != 0) { - var2 = this.countobj[var3]; - } - } - - if (var2 != -1) { - return Player.ItemDefinition_get(var2).getModelData(1); - } - } - - ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); - if (var4 == null) { - return null; - } else { - if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { - var4.resize(this.resizeX, this.resizeY, this.resizeZ); - } - - if (this.recolorFrom != null) { - for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { - var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); - } - } - - if (this.retextureFrom != null) { - for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { - var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); - } - } - - return var4; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IB)Ldr;", - garbageValue = "14" - ) - @Export("getModel") - public final Model getModel(int var1) { - if (this.countobj != null && var1 > 1) { - int var2 = -1; - - for (int var3 = 0; var3 < 10; ++var3) { - if (var1 >= this.countco[var3] && this.countco[var3] != 0) { - var2 = this.countobj[var3]; - } - } - - if (var2 != -1) { - return Player.ItemDefinition_get(var2).getModel(1); - } - } - - Model var5 = (Model)ItemDefinition_cachedModels.get((long)this.id); - if (var5 != null) { - return var5; - } else { - ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); - if (var6 == null) { - return null; - } else { - if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { - var6.resize(this.resizeX, this.resizeY, this.resizeZ); - } - - int var4; - if (this.recolorFrom != null) { - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { - var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); - } - } - - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } - - var5 = var6.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); - var5.isSingleTile = true; - ItemDefinition_cachedModels.put(var5, (long)this.id); - return var5; - } - } - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(II)Lid;", - garbageValue = "-1719403192" - ) - @Export("getCountObj") - public ItemDefinition getCountObj(int var1) { - if (this.countobj != null && var1 > 1) { - int var2 = -1; - - for (int var3 = 0; var3 < 10; ++var3) { - if (var1 >= this.countco[var3] && this.countco[var3] != 0) { - var2 = this.countobj[var3]; - } - } - - if (var2 != -1) { - return Player.ItemDefinition_get(var2); - } - } - - return this; - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(ZB)Z", - garbageValue = "-8" - ) - @Export("hasNoValidModel") - public final boolean hasNoValidModel(boolean var1) { - int var2 = this.maleModel; - int var3 = this.maleModel1; - int var4 = this.maleModel2; - if (var1) { - var2 = this.femaleModel; - var3 = this.femaleModel1; - var4 = this.femaleModel2; - } - - if (var2 == -1) { - return true; - } else { - boolean var5 = true; - if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { - var5 = false; - } - - if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { - var5 = false; - } - - if (var4 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { - var5 = false; - } - - return var5; - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(ZB)Lds;", - garbageValue = "-8" - ) - public final ModelData method4657(boolean var1) { - int var2 = this.maleModel; - int var3 = this.maleModel1; - int var4 = this.maleModel2; - if (var1) { - var2 = this.femaleModel; - var3 = this.femaleModel1; - var4 = this.femaleModel2; - } - - if (var2 == -1) { - return null; - } else { - ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); - if (var3 != -1) { - ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); - if (var4 != -1) { - ModelData var7 = ModelData.ModelData_get(ItemDefinition_modelArchive, var4, 0); - ModelData[] var8 = new ModelData[]{var5, var6, var7}; - var5 = new ModelData(var8, 3); - } else { - ModelData[] var10 = new ModelData[]{var5, var6}; - var5 = new ModelData(var10, 2); - } - } - - if (!var1 && this.maleOffset != 0) { - var5.changeOffset(0, this.maleOffset, 0); - } - - if (var1 && this.femaleOffset != 0) { - var5.changeOffset(0, this.femaleOffset, 0); - } - - int var9; - if (this.recolorFrom != null) { - for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { - var5.recolor(this.recolorFrom[var9], this.recolorTo[var9]); - } - } - - if (this.retextureFrom != null) { - for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { - var5.retexture(this.retextureFrom[var9], this.retextureTo[var9]); - } - } - - return var5; - } - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(ZB)Z", - garbageValue = "102" - ) - public final boolean method4665(boolean var1) { - int var2 = this.maleHeadModel; - int var3 = this.maleHeadModel2; - if (var1) { - var2 = this.femaleHeadModel; - var3 = this.femaleHeadModel2; - } - - if (var2 == -1) { - return true; - } else { - boolean var4 = true; - if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { - var4 = false; - } - - if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { - var4 = false; - } - - return var4; - } - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(ZI)Lds;", - garbageValue = "-2056128490" - ) - public final ModelData method4659(boolean var1) { - int var2 = this.maleHeadModel; - int var3 = this.maleHeadModel2; - if (var1) { - var2 = this.femaleHeadModel; - var3 = this.femaleHeadModel2; - } - - if (var2 == -1) { - return null; - } else { - ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); - if (var3 != -1) { - ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); - ModelData[] var6 = new ModelData[]{var4, var5}; - var4 = new ModelData(var6, 2); - } - - int var7; - if (this.recolorFrom != null) { - for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { - var4.recolor(this.recolorFrom[var7], this.recolorTo[var7]); - } - } - - if (this.retextureFrom != null) { - for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { - var4.retexture(this.retextureFrom[var7], this.retextureTo[var7]); - } - } - - return var4; - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "653078547" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - return class65.method1177(this.params, var1, var2); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;S)Ljava/lang/String;", - garbageValue = "19457" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; - String var3; - if (var4 == null) { - var3 = var2; - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); - if (var5 == null) { - var3 = var2; - } else { - var3 = (String)var5.obj; - } - } - - return var3; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-2118248733" - ) - @Export("getShiftClickIndex") - public int getShiftClickIndex() { - if (this.shiftClickIndex != -1 && this.inventoryActions != null) { - if (this.shiftClickIndex >= 0) { - return this.inventoryActions[this.shiftClickIndex] != null ? this.shiftClickIndex : -1; - } else { - return "Drop".equalsIgnoreCase(this.inventoryActions[4]) ? 4 : -1; - } - } else { - return -1; - } - } -} +import java.io.IOException; +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("it") +@Implements("ItemDefinition") +public class ItemDefinition extends DualNode { + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ItemDefinition_archive") + static AbstractArchive ItemDefinition_archive; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ItemDefinition_modelArchive") + static AbstractArchive ItemDefinition_modelArchive; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ItemDefinition_cached") + static EvictingDualNodeHashTable ItemDefinition_cached; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ItemDefinition_cachedModels") + static EvictingDualNodeHashTable ItemDefinition_cachedModels; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ItemDefinition_cachedSprites") + public static EvictingDualNodeHashTable ItemDefinition_cachedSprites; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1164476445 + ) + @Export("id") + public int id; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -512556695 + ) + @Export("model") + int model; + @ObfuscatedName("w") + @Export("name") + public String name; + @ObfuscatedName("t") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("g") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("x") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("h") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1552364581 + ) + @Export("zoom2d") + public int zoom2d; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 850273909 + ) + @Export("xan2d") + public int xan2d; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1701459647 + ) + @Export("yan2d") + public int yan2d; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1211123861 + ) + @Export("zan2d") + public int zan2d; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -973833067 + ) + @Export("offsetX2d") + public int offsetX2d; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 992637627 + ) + @Export("offsetY2d") + public int offsetY2d; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -1898122861 + ) + @Export("isStackable") + public int isStackable; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -187431889 + ) + @Export("price") + public int price; + @ObfuscatedName("aw") + @Export("isMembersOnly") + public boolean isMembersOnly; + @ObfuscatedName("aa") + @Export("groundActions") + public String[] groundActions; + @ObfuscatedName("ap") + @Export("inventoryActions") + public String[] inventoryActions; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -281574303 + ) + @Export("shiftClickIndex") + int shiftClickIndex; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -1611629547 + ) + @Export("maleModel") + int maleModel; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -1653428101 + ) + @Export("maleModel1") + int maleModel1; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 708775895 + ) + @Export("maleOffset") + int maleOffset; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -472240431 + ) + @Export("femaleModel") + int femaleModel; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = -774987533 + ) + @Export("femaleModel1") + int femaleModel1; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 839022773 + ) + @Export("femaleOffset") + int femaleOffset; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = -629230839 + ) + @Export("maleModel2") + int maleModel2; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -1320032129 + ) + @Export("femaleModel2") + int femaleModel2; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 2070739727 + ) + @Export("maleHeadModel") + int maleHeadModel; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 1142570821 + ) + @Export("maleHeadModel2") + int maleHeadModel2; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -622073101 + ) + @Export("femaleHeadModel") + int femaleHeadModel; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -1870487091 + ) + @Export("femaleHeadModel2") + int femaleHeadModel2; + @ObfuscatedName("ah") + @Export("countobj") + int[] countobj; + @ObfuscatedName("ag") + @Export("countco") + int[] countco; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 2003146835 + ) + @Export("note") + public int note; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -922094347 + ) + @Export("noteTemplate") + public int noteTemplate; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 146352651 + ) + @Export("resizeX") + int resizeX; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = 1043908831 + ) + @Export("resizeY") + int resizeY; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -251593053 + ) + @Export("resizeZ") + int resizeZ; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = 427704773 + ) + @Export("ambient") + public int ambient; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = 807356389 + ) + @Export("contrast") + public int contrast; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = 850095651 + ) + @Export("team") + public int team; + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("params") + IterableNodeHashTable params; + @ObfuscatedName("bv") + @Export("isTradable") + public boolean isTradable; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = 1578768163 + ) + @Export("unnotedId") + int unnotedId; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = -407908075 + ) + @Export("notedId") + int notedId; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = -1594376835 + ) + @Export("placeholder") + public int placeholder; + @ObfuscatedName("bc") + @ObfuscatedGetter( + intValue = -1887741169 + ) + @Export("placeholderTemplate") + public int placeholderTemplate; + + static { + ItemDefinition_cached = new EvictingDualNodeHashTable(64); + ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50); + ItemDefinition_cachedSprites = new EvictingDualNodeHashTable(200); + } + + ItemDefinition() { + this.name = "null"; + this.zoom2d = 2000; + this.xan2d = 0; + this.yan2d = 0; + this.zan2d = 0; + this.offsetX2d = 0; + this.offsetY2d = 0; + this.isStackable = 0; + this.price = 1; + this.isMembersOnly = false; + this.groundActions = new String[]{null, null, "Take", null, null}; + this.inventoryActions = new String[]{null, null, null, null, "Drop"}; + this.shiftClickIndex = -2; + this.maleModel = -1; + this.maleModel1 = -1; + this.maleOffset = 0; + this.femaleModel = -1; + this.femaleModel1 = -1; + this.femaleOffset = 0; + this.maleModel2 = -1; + this.femaleModel2 = -1; + this.maleHeadModel = -1; + this.maleHeadModel2 = -1; + this.femaleHeadModel = -1; + this.femaleHeadModel2 = -1; + this.note = -1; + this.noteTemplate = -1; + this.resizeX = 128; + this.resizeY = 128; + this.resizeZ = 128; + this.ambient = 0; + this.contrast = 0; + this.team = 0; + this.isTradable = false; + this.unnotedId = -1; + this.notedId = -1; + this.placeholder = -1; + this.placeholderTemplate = -1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "1" + ) + @Export("post") + void post() { + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "32" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lkl;IB)V", + garbageValue = "7" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.model = var1.readUnsignedShort(); + } else if (var2 == 2) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 4) { + this.zoom2d = var1.readUnsignedShort(); + } else if (var2 == 5) { + this.xan2d = var1.readUnsignedShort(); + } else if (var2 == 6) { + this.yan2d = var1.readUnsignedShort(); + } else if (var2 == 7) { + this.offsetX2d = var1.readUnsignedShort(); + if (this.offsetX2d > 32767) { + this.offsetX2d -= 65536; + } + } else if (var2 == 8) { + this.offsetY2d = var1.readUnsignedShort(); + if (this.offsetY2d > 32767) { + this.offsetY2d -= 65536; + } + } else if (var2 == 11) { + this.isStackable = 1; + } else if (var2 == 12) { + this.price = var1.readInt(); + } else if (var2 == 16) { + this.isMembersOnly = true; + } else if (var2 == 23) { + this.maleModel = var1.readUnsignedShort(); + this.maleOffset = var1.readUnsignedByte(); + } else if (var2 == 24) { + this.maleModel1 = var1.readUnsignedShort(); + } else if (var2 == 25) { + this.femaleModel = var1.readUnsignedShort(); + this.femaleOffset = var1.readUnsignedByte(); + } else if (var2 == 26) { + this.femaleModel1 = var1.readUnsignedShort(); + } else if (var2 >= 30 && var2 < 35) { + this.groundActions[var2 - 30] = var1.readStringCp1252NullTerminated(); + if (this.groundActions[var2 - 30].equalsIgnoreCase("Hidden")) { + this.groundActions[var2 - 30] = null; + } + } else if (var2 >= 35 && var2 < 40) { + this.inventoryActions[var2 - 35] = var1.readStringCp1252NullTerminated(); + } else { + int var3; + int var4; + if (var2 == 40) { + var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short)var1.readUnsignedShort(); + this.recolorTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 41) { + var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short)var1.readUnsignedShort(); + this.retextureTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 42) { + this.shiftClickIndex = var1.readByte(); + } else if (var2 == 65) { + this.isTradable = true; + } else if (var2 == 78) { + this.maleModel2 = var1.readUnsignedShort(); + } else if (var2 == 79) { + this.femaleModel2 = var1.readUnsignedShort(); + } else if (var2 == 90) { + this.maleHeadModel = var1.readUnsignedShort(); + } else if (var2 == 91) { + this.femaleHeadModel = var1.readUnsignedShort(); + } else if (var2 == 92) { + this.maleHeadModel2 = var1.readUnsignedShort(); + } else if (var2 == 93) { + this.femaleHeadModel2 = var1.readUnsignedShort(); + } else if (var2 == 95) { + this.zan2d = var1.readUnsignedShort(); + } else if (var2 == 97) { + this.note = var1.readUnsignedShort(); + } else if (var2 == 98) { + this.noteTemplate = var1.readUnsignedShort(); + } else if (var2 >= 100 && var2 < 110) { + if (this.countobj == null) { + this.countobj = new int[10]; + this.countco = new int[10]; + } + + this.countobj[var2 - 100] = var1.readUnsignedShort(); + this.countco[var2 - 100] = var1.readUnsignedShort(); + } else if (var2 == 110) { + this.resizeX = var1.readUnsignedShort(); + } else if (var2 == 111) { + this.resizeY = var1.readUnsignedShort(); + } else if (var2 == 112) { + this.resizeZ = var1.readUnsignedShort(); + } else if (var2 == 113) { + this.ambient = var1.readByte(); + } else if (var2 == 114) { + this.contrast = var1.readByte() * 5; + } else if (var2 == 115) { + this.team = var1.readUnsignedByte(); + } else if (var2 == 139) { + this.unnotedId = var1.readUnsignedShort(); + } else if (var2 == 140) { + this.notedId = var1.readUnsignedShort(); + } else if (var2 == 148) { + this.placeholder = var1.readUnsignedShort(); + } else if (var2 == 149) { + this.placeholderTemplate = var1.readUnsignedShort(); + } else if (var2 == 249) { + this.params = UserComparator5.readStringIntParameters(var1, this.params); + } + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lit;Lit;B)V", + garbageValue = "126" + ) + @Export("genCert") + void genCert(ItemDefinition var1, ItemDefinition var2) { + this.model = var1.model; + this.zoom2d = var1.zoom2d; + this.xan2d = var1.xan2d; + this.yan2d = var1.yan2d; + this.zan2d = var1.zan2d; + this.offsetX2d = var1.offsetX2d; + this.offsetY2d = var1.offsetY2d; + this.recolorFrom = var1.recolorFrom; + this.recolorTo = var1.recolorTo; + this.retextureFrom = var1.retextureFrom; + this.retextureTo = var1.retextureTo; + this.name = var2.name; + this.isMembersOnly = var2.isMembersOnly; + this.price = var2.price; + this.isStackable = 1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lit;Lit;S)V", + garbageValue = "-15779" + ) + @Export("genBought") + void genBought(ItemDefinition var1, ItemDefinition var2) { + this.model = var1.model; + this.zoom2d = var1.zoom2d; + this.xan2d = var1.xan2d; + this.yan2d = var1.yan2d; + this.zan2d = var1.zan2d; + this.offsetX2d = var1.offsetX2d; + this.offsetY2d = var1.offsetY2d; + this.recolorFrom = var2.recolorFrom; + this.recolorTo = var2.recolorTo; + this.retextureFrom = var2.retextureFrom; + this.retextureTo = var2.retextureTo; + this.name = var2.name; + this.isMembersOnly = var2.isMembersOnly; + this.isStackable = var2.isStackable; + this.maleModel = var2.maleModel; + this.maleModel1 = var2.maleModel1; + this.maleModel2 = var2.maleModel2; + this.femaleModel = var2.femaleModel; + this.femaleModel1 = var2.femaleModel1; + this.femaleModel2 = var2.femaleModel2; + this.maleHeadModel = var2.maleHeadModel; + this.maleHeadModel2 = var2.maleHeadModel2; + this.femaleHeadModel = var2.femaleHeadModel; + this.femaleHeadModel2 = var2.femaleHeadModel2; + this.team = var2.team; + this.groundActions = var2.groundActions; + this.inventoryActions = new String[5]; + if (var2.inventoryActions != null) { + for (int var3 = 0; var3 < 4; ++var3) { + this.inventoryActions[var3] = var2.inventoryActions[var3]; + } + } + + this.inventoryActions[4] = "Discard"; + this.price = 0; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Lit;Lit;I)V", + garbageValue = "-2143595462" + ) + @Export("genPlaceholder") + void genPlaceholder(ItemDefinition var1, ItemDefinition var2) { + this.model = var1.model; + this.zoom2d = var1.zoom2d; + this.xan2d = var1.xan2d; + this.yan2d = var1.yan2d; + this.zan2d = var1.zan2d; + this.offsetX2d = var1.offsetX2d; + this.offsetY2d = var1.offsetY2d; + this.recolorFrom = var1.recolorFrom; + this.recolorTo = var1.recolorTo; + this.retextureFrom = var1.retextureFrom; + this.retextureTo = var1.retextureTo; + this.isStackable = var1.isStackable; + this.name = var2.name; + this.price = 0; + this.isMembersOnly = false; + this.isTradable = false; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(IB)Ldw;", + garbageValue = "-102" + ) + @Export("getModelData") + public final ModelData getModelData(int var1) { + int var3; + if (this.countobj != null && var1 > 1) { + int var2 = -1; + + for (var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } + + if (var2 != -1) { + return Occluder.ItemDefinition_get(var2).getModelData(1); + } + } + + ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); + if (var4 == null) { + return null; + } else { + if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { + var4.resize(this.resizeX, this.resizeY, this.resizeZ); + } + + if (this.recolorFrom != null) { + for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { + var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); + } + } + + if (this.retextureFrom != null) { + for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { + var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); + } + } + + return var4; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(II)Ldh;", + garbageValue = "1336448754" + ) + @Export("getModel") + public final Model getModel(int var1) { + if (this.countobj != null && var1 > 1) { + int var2 = -1; + + for (int var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } + + if (var2 != -1) { + return Occluder.ItemDefinition_get(var2).getModel(1); + } + } + + Model var5 = (Model)ItemDefinition_cachedModels.get((long)this.id); + if (var5 != null) { + return var5; + } else { + ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, this.model, 0); + if (var6 == null) { + return null; + } else { + if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { + var6.resize(this.resizeX, this.resizeY, this.resizeZ); + } + + int var4; + if (this.recolorFrom != null) { + for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } + + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } + + var5 = var6.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); + var5.isSingleTile = true; + ItemDefinition_cachedModels.put(var5, (long)this.id); + return var5; + } + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IB)Lit;", + garbageValue = "23" + ) + @Export("getCountObj") + public ItemDefinition getCountObj(int var1) { + if (this.countobj != null && var1 > 1) { + int var2 = -1; + + for (int var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } + + if (var2 != -1) { + return Occluder.ItemDefinition_get(var2); + } + } + + return this; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(ZI)Z", + garbageValue = "-94789059" + ) + @Export("hasNoValidModel") + public final boolean hasNoValidModel(boolean var1) { + int var2 = this.maleModel; + int var3 = this.maleModel1; + int var4 = this.maleModel2; + if (var1) { + var2 = this.femaleModel; + var3 = this.femaleModel1; + var4 = this.femaleModel2; + } + + if (var2 == -1) { + return true; + } else { + boolean var5 = true; + if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + var5 = false; + } + + if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + var5 = false; + } + + if (var4 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { + var5 = false; + } + + return var5; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(ZB)Ldw;", + garbageValue = "22" + ) + public final ModelData method4593(boolean var1) { + int var2 = this.maleModel; + int var3 = this.maleModel1; + int var4 = this.maleModel2; + if (var1) { + var2 = this.femaleModel; + var3 = this.femaleModel1; + var4 = this.femaleModel2; + } + + if (var2 == -1) { + return null; + } else { + ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); + if (var3 != -1) { + ModelData var6 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); + if (var4 != -1) { + ModelData var7 = ModelData.ModelData_get(ItemDefinition_modelArchive, var4, 0); + ModelData[] var8 = new ModelData[]{var5, var6, var7}; + var5 = new ModelData(var8, 3); + } else { + ModelData[] var10 = new ModelData[]{var5, var6}; + var5 = new ModelData(var10, 2); + } + } + + if (!var1 && this.maleOffset != 0) { + var5.changeOffset(0, this.maleOffset, 0); + } + + if (var1 && this.femaleOffset != 0) { + var5.changeOffset(0, this.femaleOffset, 0); + } + + int var9; + if (this.recolorFrom != null) { + for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { + var5.recolor(this.recolorFrom[var9], this.recolorTo[var9]); + } + } + + if (this.retextureFrom != null) { + for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { + var5.retexture(this.retextureFrom[var9], this.retextureTo[var9]); + } + } + + return var5; + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(ZB)Z", + garbageValue = "100" + ) + public final boolean method4611(boolean var1) { + int var2 = this.maleHeadModel; + int var3 = this.maleHeadModel2; + if (var1) { + var2 = this.femaleHeadModel; + var3 = this.femaleHeadModel2; + } + + if (var2 == -1) { + return true; + } else { + boolean var4 = true; + if (!ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + var4 = false; + } + + if (var3 != -1 && !ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + var4 = false; + } + + return var4; + } + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(ZI)Ldw;", + garbageValue = "1830989293" + ) + public final ModelData method4595(boolean var1) { + int var2 = this.maleHeadModel; + int var3 = this.maleHeadModel2; + if (var1) { + var2 = this.femaleHeadModel; + var3 = this.femaleHeadModel2; + } + + if (var2 == -1) { + return null; + } else { + ModelData var4 = ModelData.ModelData_get(ItemDefinition_modelArchive, var2, 0); + if (var3 != -1) { + ModelData var5 = ModelData.ModelData_get(ItemDefinition_modelArchive, var3, 0); + ModelData[] var6 = new ModelData[]{var4, var5}; + var4 = new ModelData(var6, 2); + } + + int var7; + if (this.recolorFrom != null) { + for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { + var4.recolor(this.recolorFrom[var7], this.recolorTo[var7]); + } + } + + if (this.retextureFrom != null) { + for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { + var4.retexture(this.retextureFrom[var7], this.retextureTo[var7]); + } + } + + return var4; + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "59" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + return HealthBar.method2030(this.params, var1, var2); + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "570180688" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class96.method2259(this.params, var1, var2); + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1424068644" + ) + @Export("getShiftClickIndex") + public int getShiftClickIndex() { + if (this.shiftClickIndex != -1 && this.inventoryActions != null) { + if (this.shiftClickIndex >= 0) { + return this.inventoryActions[this.shiftClickIndex] != null ? this.shiftClickIndex : -1; + } else { + return "Drop".equalsIgnoreCase(this.inventoryActions[4]) ? 4 : -1; + } + } else { + return -1; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)Lbl;", + garbageValue = "66" + ) + static ClientPreferences method4655() { + AccessFile var0 = null; + ClientPreferences var1 = new ClientPreferences(); + + try { + var0 = class185.getPreferencesFile("", class16.field101.name, false); + byte[] var2 = new byte[(int)var0.length()]; + + int var4; + for (int var3 = 0; var3 < var2.length; var3 += var4) { + var4 = var0.read(var2, var3, var2.length - var3); + if (var4 == -1) { + throw new IOException(); + } + } + + var1 = new ClientPreferences(new Buffer(var2)); + } catch (Exception var6) { + } + + try { + if (var0 != null) { + var0.close(); + } + } catch (Exception var5) { + } + + return var1; + } +} diff --git a/runescape-client/src/main/java/IterableDualNodeQueue.java b/runescape-client/src/main/java/IterableDualNodeQueue.java index fd3d550321..8f82104ca2 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueue.java +++ b/runescape-client/src/main/java/IterableDualNodeQueue.java @@ -1,135 +1,135 @@ -import java.util.Iterator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jn") -@Implements("IterableDualNodeQueue") -public class IterableDualNodeQueue implements Iterable { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("sentinel") - public DualNode sentinel; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("head") - DualNode head; - - public IterableDualNodeQueue() { - this.sentinel = new DualNode(); - this.sentinel.previousDual = this.sentinel; - this.sentinel.nextDual = this.sentinel; - } - - @ObfuscatedName("c") - @Export("clear") - public void clear() { - while (this.sentinel.previousDual != this.sentinel) { - this.sentinel.previousDual.removeDual(); - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lfv;)V" - ) - @Export("add") - public void add(DualNode var1) { - if (var1.nextDual != null) { - var1.removeDual(); - } - - var1.nextDual = this.sentinel.nextDual; - var1.previousDual = this.sentinel; - var1.nextDual.previousDual = var1; - var1.previousDual.nextDual = var1; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Lfv;" - ) - @Export("removeLast") - public DualNode removeLast() { - DualNode var1 = this.sentinel.previousDual; - if (var1 == this.sentinel) { - return null; - } else { - var1.removeDual(); - return var1; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "()Lfv;" - ) - @Export("last") - public DualNode last() { - return this.previousOrLast((DualNode)null); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lfv;)Lfv;" - ) - @Export("previousOrLast") - DualNode previousOrLast(DualNode var1) { - DualNode var2; - if (var1 == null) { - var2 = this.sentinel.previousDual; - } else { - var2 = var1; - } - - if (var2 == this.sentinel) { - this.head = null; - return null; - } else { - this.head = var2.previousDual; - return var2; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Lfv;" - ) - @Export("previous") - public DualNode previous() { - DualNode var1 = this.head; - if (var1 == this.sentinel) { - this.head = null; - return null; - } else { - this.head = var1.previousDual; - return var1; - } - } - - public Iterator iterator() { - return new IterableDualNodeQueueIterator(this); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lfv;Lfv;)V" - ) - @Export("DualNodeDeque_addBefore") - public static void DualNodeDeque_addBefore(DualNode var0, DualNode var1) { - if (var0.nextDual != null) { - var0.removeDual(); - } - - var0.nextDual = var1; - var0.previousDual = var1.previousDual; - var0.nextDual.previousDual = var0; - var0.previousDual.nextDual = var0; - } -} +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ji") +@Implements("IterableDualNodeQueue") +public class IterableDualNodeQueue implements Iterable { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("sentinel") + public DualNode sentinel; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("head") + DualNode head; + + public IterableDualNodeQueue() { + this.sentinel = new DualNode(); + this.sentinel.previousDual = this.sentinel; + this.sentinel.nextDual = this.sentinel; + } + + @ObfuscatedName("z") + @Export("clear") + public void clear() { + while (this.sentinel.previousDual != this.sentinel) { + this.sentinel.previousDual.removeDual(); + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lfw;)V" + ) + @Export("add") + public void add(DualNode var1) { + if (var1.nextDual != null) { + var1.removeDual(); + } + + var1.nextDual = this.sentinel.nextDual; + var1.previousDual = this.sentinel; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("removeLast") + public DualNode removeLast() { + DualNode var1 = this.sentinel.previousDual; + if (var1 == this.sentinel) { + return null; + } else { + var1.removeDual(); + return var1; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("last") + public DualNode last() { + return this.previousOrLast((DualNode)null); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lfw;)Lfw;" + ) + @Export("previousOrLast") + DualNode previousOrLast(DualNode var1) { + DualNode var2; + if (var1 == null) { + var2 = this.sentinel.previousDual; + } else { + var2 = var1; + } + + if (var2 == this.sentinel) { + this.head = null; + return null; + } else { + this.head = var2.previousDual; + return var2; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Lfw;" + ) + @Export("previous") + public DualNode previous() { + DualNode var1 = this.head; + if (var1 == this.sentinel) { + this.head = null; + return null; + } else { + this.head = var1.previousDual; + return var1; + } + } + + public Iterator iterator() { + return new IterableDualNodeQueueIterator(this); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lfw;Lfw;)V" + ) + @Export("DualNodeDeque_addBefore") + public static void DualNodeDeque_addBefore(DualNode var0, DualNode var1) { + if (var0.nextDual != null) { + var0.removeDual(); + } + + var0.nextDual = var1; + var0.previousDual = var1.previousDual; + var0.nextDual.previousDual = var0; + var0.previousDual.nextDual = var0; + } +} diff --git a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java index 74d983d7d6..a8343f5e42 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java +++ b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java @@ -1,64 +1,64 @@ -import java.util.Iterator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jf") -@Implements("IterableDualNodeQueueIterator") -public class IterableDualNodeQueueIterator implements Iterator { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljn;" - ) - @Export("queue") - IterableDualNodeQueue queue; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("head") - DualNode head; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lfv;" - ) - @Export("last") - DualNode last; - - @ObfuscatedSignature( - signature = "(Ljn;)V" - ) - IterableDualNodeQueueIterator(IterableDualNodeQueue var1) { - this.last = null; - this.queue = var1; - this.head = this.queue.sentinel.previousDual; - this.last = null; - } - - public Object next() { - DualNode var1 = this.head; - if (var1 == this.queue.sentinel) { - var1 = null; - this.head = null; - } else { - this.head = var1.previousDual; - } - - this.last = var1; - return var1; - } - - public boolean hasNext() { - return this.queue.sentinel != this.head; - } - - public void remove() { - if (this.last == null) { - throw new IllegalStateException(); - } else { - this.last.removeDual(); - this.last = null; - } - } -} +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jt") +@Implements("IterableDualNodeQueueIterator") +public class IterableDualNodeQueueIterator implements Iterator { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lji;" + ) + @Export("queue") + IterableDualNodeQueue queue; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("head") + DualNode head; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lfw;" + ) + @Export("last") + DualNode last; + + @ObfuscatedSignature( + signature = "(Lji;)V" + ) + IterableDualNodeQueueIterator(IterableDualNodeQueue var1) { + this.last = null; + this.queue = var1; + this.head = this.queue.sentinel.previousDual; + this.last = null; + } + + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.removeDual(); + this.last = null; + } + } + + public boolean hasNext() { + return this.queue.sentinel != this.head; + } + + public Object next() { + DualNode var1 = this.head; + if (var1 == this.queue.sentinel) { + var1 = null; + this.head = null; + } else { + this.head = var1.previousDual; + } + + this.last = var1; + return var1; + } +} diff --git a/runescape-client/src/main/java/IterableNodeDeque.java b/runescape-client/src/main/java/IterableNodeDeque.java index f4cd988b20..df209896bf 100644 --- a/runescape-client/src/main/java/IterableNodeDeque.java +++ b/runescape-client/src/main/java/IterableNodeDeque.java @@ -1,237 +1,237 @@ -import java.util.Collection; -import java.util.Iterator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jd") -@Implements("IterableNodeDeque") -public class IterableNodeDeque implements Iterable, Collection { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("sentinel") - Node sentinel; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfn;" - ) - Node field3506; - - public IterableNodeDeque() { - this.sentinel = new Node(); - this.sentinel.previous = this.sentinel; - this.sentinel.next = this.sentinel; - } - - @ObfuscatedName("c") - @Export("rsClear") - public void rsClear() { - while (this.sentinel.previous != this.sentinel) { - this.sentinel.previous.remove(); - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lfn;)V" - ) - @Export("addFirst") - public void addFirst(Node var1) { - if (var1.next != null) { - var1.remove(); - } - - var1.next = this.sentinel.next; - var1.previous = this.sentinel; - var1.next.previous = var1; - var1.previous.next = var1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lfn;)V" - ) - @Export("addLast") - public void addLast(Node var1) { - if (var1.next != null) { - var1.remove(); - } - - var1.next = this.sentinel; - var1.previous = this.sentinel.previous; - var1.next.previous = var1; - var1.previous.next = var1; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("last") - public Node last() { - return this.method4814((Node)null); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lfn;)Lfn;" - ) - Node method4814(Node var1) { - Node var2; - if (var1 == null) { - var2 = this.sentinel.previous; - } else { - var2 = var1; - } - - if (var2 == this.sentinel) { - this.field3506 = null; - return null; - } else { - this.field3506 = var2.previous; - return var2; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("previous") - public Node previous() { - Node var1 = this.field3506; - if (var1 == this.sentinel) { - this.field3506 = null; - return null; - } else { - this.field3506 = var1.previous; - return var1; - } - } - - @ObfuscatedName("v") - int method4816() { - int var1 = 0; - - for (Node var2 = this.sentinel.previous; var2 != this.sentinel; var2 = var2.previous) { - ++var1; - } - - return var1; - } - - @ObfuscatedName("d") - public boolean method4874() { - return this.sentinel.previous == this.sentinel; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "()[Lfn;" - ) - Node[] method4818() { - Node[] var1 = new Node[this.method4816()]; - int var2 = 0; - - for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { - var1[var2++] = var3; - } - - return var1; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(Lfn;)Z" - ) - boolean method4819(Node var1) { - this.addFirst(var1); - return true; - } - - public Iterator iterator() { - return new IterableNodeDequeDescendingIterator(this); - } - - public int size() { - return this.method4816(); - } - - public boolean isEmpty() { - return this.method4874(); - } - - public boolean contains(Object var1) { - throw new RuntimeException(); - } - - public Object[] toArray(Object[] var1) { - int var2 = 0; - - for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { - var1[var2++] = var3; - } - - return var1; - } - - public boolean addAll(Collection var1) { - throw new RuntimeException(); - } - - public boolean add(Object var1) { - return this.method4819((Node)var1); - } - - public int hashCode() { - return super.hashCode(); - } - - public boolean removeAll(Collection var1) { - throw new RuntimeException(); - } - - public boolean remove(Object var1) { - throw new RuntimeException(); - } - - public Object[] toArray() { - return this.method4818(); - } - - public boolean retainAll(Collection var1) { - throw new RuntimeException(); - } - - public boolean containsAll(Collection var1) { - throw new RuntimeException(); - } - - public void clear() { - this.rsClear(); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lfn;Lfn;)V" - ) - @Export("IterableNodeDeque_addBefore") - public static void IterableNodeDeque_addBefore(Node var0, Node var1) { - if (var0.next != null) { - var0.remove(); - } - - var0.next = var1; - var0.previous = var1.previous; - var0.next.previous = var0; - var0.previous.next = var0; - } -} +import java.util.Collection; +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("js") +@Implements("IterableNodeDeque") +public class IterableNodeDeque implements Iterable, Collection { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("sentinel") + Node sentinel; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfx;" + ) + Node field3521; + + public IterableNodeDeque() { + this.sentinel = new Node(); + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } + + @ObfuscatedName("z") + @Export("rsClear") + public void rsClear() { + while (this.sentinel.previous != this.sentinel) { + this.sentinel.previous.remove(); + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lfx;)V" + ) + @Export("addFirst") + public void addFirst(Node var1) { + if (var1.next != null) { + var1.remove(); + } + + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lfx;)V" + ) + @Export("addLast") + public void addLast(Node var1) { + if (var1.next != null) { + var1.remove(); + } + + var1.next = this.sentinel; + var1.previous = this.sentinel.previous; + var1.next.previous = var1; + var1.previous.next = var1; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("last") + public Node last() { + return this.method4784((Node)null); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lfx;)Lfx;" + ) + Node method4784(Node var1) { + Node var2; + if (var1 == null) { + var2 = this.sentinel.previous; + } else { + var2 = var1; + } + + if (var2 == this.sentinel) { + this.field3521 = null; + return null; + } else { + this.field3521 = var2.previous; + return var2; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("previous") + public Node previous() { + Node var1 = this.field3521; + if (var1 == this.sentinel) { + this.field3521 = null; + return null; + } else { + this.field3521 = var1.previous; + return var1; + } + } + + @ObfuscatedName("m") + int method4762() { + int var1 = 0; + + for (Node var2 = this.sentinel.previous; var2 != this.sentinel; var2 = var2.previous) { + ++var1; + } + + return var1; + } + + @ObfuscatedName("y") + public boolean method4763() { + return this.sentinel.previous == this.sentinel; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "()[Lfx;" + ) + Node[] method4807() { + Node[] var1 = new Node[this.method4762()]; + int var2 = 0; + + for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { + var1[var2++] = var3; + } + + return var1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Lfx;)Z" + ) + boolean method4766(Node var1) { + this.addFirst(var1); + return true; + } + + public Iterator iterator() { + return new IterableNodeDequeDescendingIterator(this); + } + + public int size() { + return this.method4762(); + } + + public boolean isEmpty() { + return this.method4763(); + } + + public boolean contains(Object var1) { + throw new RuntimeException(); + } + + public Object[] toArray(Object[] var1) { + int var2 = 0; + + for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { + var1[var2++] = var3; + } + + return var1; + } + + public void clear() { + this.rsClear(); + } + + public boolean add(Object var1) { + return this.method4766((Node)var1); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + public boolean retainAll(Collection var1) { + throw new RuntimeException(); + } + + public int hashCode() { + return super.hashCode(); + } + + public boolean containsAll(Collection var1) { + throw new RuntimeException(); + } + + public boolean addAll(Collection var1) { + throw new RuntimeException(); + } + + public boolean remove(Object var1) { + throw new RuntimeException(); + } + + public Object[] toArray() { + return this.method4807(); + } + + public boolean removeAll(Collection var1) { + throw new RuntimeException(); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lfx;Lfx;)V" + ) + @Export("IterableNodeDeque_addBefore") + public static void IterableNodeDeque_addBefore(Node var0, Node var1) { + if (var0.next != null) { + var0.remove(); + } + + var0.next = var1; + var0.previous = var1.previous; + var0.next.previous = var0; + var0.previous.next = var0; + } +} diff --git a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java index 00933a6a53..81c01b6991 100644 --- a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java +++ b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java @@ -1,74 +1,78 @@ -import java.util.Iterator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jh") -@Implements("IterableNodeDequeDescendingIterator") -public class IterableNodeDequeDescendingIterator implements Iterator { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljd;" - ) - @Export("deque") - IterableNodeDeque deque; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfn;" - ) - Node field3516; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("last") - Node last; - - @ObfuscatedSignature( - signature = "(Ljd;)V" - ) - IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { - this.last = null; - this.setDeque(var1); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Ljd;)V" - ) - @Export("setDeque") - void setDeque(IterableNodeDeque var1) { - this.deque = var1; - this.start(); - } - - @ObfuscatedName("v") - @Export("start") - void start() { - this.field3516 = this.deque != null ? this.deque.sentinel.previous : null; - this.last = null; - } - - public boolean hasNext() { - return this.deque.sentinel != this.field3516; - } - - public Object next() { - Node var1 = this.field3516; - if (var1 == this.deque.sentinel) { - var1 = null; - this.field3516 = null; - } else { - this.field3516 = var1.previous; - } - - this.last = var1; - return var1; - } - - public void remove() { - this.last.remove(); - this.last = null; - } -} +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jx") +@Implements("IterableNodeDequeDescendingIterator") +public class IterableNodeDequeDescendingIterator implements Iterator { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljs;" + ) + @Export("deque") + IterableNodeDeque deque; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfx;" + ) + Node field3531; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("last") + Node last; + + @ObfuscatedSignature( + signature = "(Ljs;)V" + ) + IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { + this.last = null; + this.setDeque(var1); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Ljs;)V" + ) + @Export("setDeque") + void setDeque(IterableNodeDeque var1) { + this.deque = var1; + this.start(); + } + + @ObfuscatedName("c") + @Export("start") + void start() { + this.field3531 = this.deque != null ? this.deque.sentinel.previous : null; + this.last = null; + } + + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.remove(); + this.last = null; + } + } + + public Object next() { + Node var1 = this.field3531; + if (var1 == this.deque.sentinel) { + var1 = null; + this.field3531 = null; + } else { + this.field3531 = var1.previous; + } + + this.last = var1; + return var1; + } + + public boolean hasNext() { + return this.deque.sentinel != this.field3531; + } +} diff --git a/runescape-client/src/main/java/IterableNodeHashTable.java b/runescape-client/src/main/java/IterableNodeHashTable.java index b8f453b2bb..d1fae9e5f2 100644 --- a/runescape-client/src/main/java/IterableNodeHashTable.java +++ b/runescape-client/src/main/java/IterableNodeHashTable.java @@ -1,144 +1,144 @@ -import java.util.Iterator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lj") -@Implements("IterableNodeHashTable") -public final class IterableNodeHashTable implements Iterable { - @ObfuscatedName("c") - @Export("size") - int size; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Lfn;" - ) - @Export("buckets") - Node[] buckets; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("currentGet") - Node currentGet; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("current") - Node current; - @ObfuscatedName("l") - @Export("index") - int index; - - public IterableNodeHashTable(int var1) { - this.index = 0; - this.size = var1; - this.buckets = new Node[var1]; - - for (int var2 = 0; var2 < var1; ++var2) { - Node var3 = this.buckets[var2] = new Node(); - var3.previous = var3; - var3.next = var3; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(J)Lfn;" - ) - @Export("get") - public Node get(long var1) { - Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; - - for (this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { - if (this.currentGet.key == var1) { - Node var4 = this.currentGet; - this.currentGet = this.currentGet.previous; - return var4; - } - } - - this.currentGet = null; - return null; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lfn;J)V" - ) - @Export("put") - public void put(Node var1, long var2) { - if (var1.next != null) { - var1.remove(); - } - - Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; - var1.next = var4.next; - var1.previous = var4; - var1.next.previous = var1; - var1.previous.next = var1; - var1.key = var2; - } - - @ObfuscatedName("t") - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.size; ++var1) { - Node var2 = this.buckets[var1]; - - while (true) { - Node var3 = var2.previous; - if (var3 == var2) { - break; - } - - var3.remove(); - } - } - - this.currentGet = null; - this.current = null; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("first") - public Node first() { - this.index = 0; - return this.next(); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("next") - public Node next() { - Node var1; - if (this.index > 0 && this.buckets[this.index - 1] != this.current) { - var1 = this.current; - this.current = var1.previous; - return var1; - } else { - do { - if (this.index >= this.size) { - return null; - } - - var1 = this.buckets[this.index++].previous; - } while(var1 == this.buckets[this.index - 1]); - - this.current = var1.previous; - return var1; - } - } - - public Iterator iterator() { - return new IterableNodeHashTableIterator(this); - } -} +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lb") +@Implements("IterableNodeHashTable") +public final class IterableNodeHashTable implements Iterable { + @ObfuscatedName("z") + @Export("size") + int size; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "[Lfx;" + ) + @Export("buckets") + Node[] buckets; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("currentGet") + Node currentGet; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("current") + Node current; + @ObfuscatedName("r") + @Export("index") + int index; + + public IterableNodeHashTable(int var1) { + this.index = 0; + this.size = var1; + this.buckets = new Node[var1]; + + for (int var2 = 0; var2 < var1; ++var2) { + Node var3 = this.buckets[var2] = new Node(); + var3.previous = var3; + var3.next = var3; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(J)Lfx;" + ) + @Export("get") + public Node get(long var1) { + Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; + + for (this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { + if (this.currentGet.key == var1) { + Node var4 = this.currentGet; + this.currentGet = this.currentGet.previous; + return var4; + } + } + + this.currentGet = null; + return null; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lfx;J)V" + ) + @Export("put") + public void put(Node var1, long var2) { + if (var1.next != null) { + var1.remove(); + } + + Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; + var1.next = var4.next; + var1.previous = var4; + var1.next.previous = var1; + var1.previous.next = var1; + var1.key = var2; + } + + @ObfuscatedName("v") + @Export("clear") + public void clear() { + for (int var1 = 0; var1 < this.size; ++var1) { + Node var2 = this.buckets[var1]; + + while (true) { + Node var3 = var2.previous; + if (var3 == var2) { + break; + } + + var3.remove(); + } + } + + this.currentGet = null; + this.current = null; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("first") + public Node first() { + this.index = 0; + return this.next(); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("next") + public Node next() { + Node var1; + if (this.index > 0 && this.buckets[this.index - 1] != this.current) { + var1 = this.current; + this.current = var1.previous; + return var1; + } else { + do { + if (this.index >= this.size) { + return null; + } + + var1 = this.buckets[this.index++].previous; + } while(var1 == this.buckets[this.index - 1]); + + this.current = var1.previous; + return var1; + } + } + + public Iterator iterator() { + return new IterableNodeHashTableIterator(this); + } +} diff --git a/runescape-client/src/main/java/IterableNodeHashTableIterator.java b/runescape-client/src/main/java/IterableNodeHashTableIterator.java index 92670e031f..959e61ec2d 100644 --- a/runescape-client/src/main/java/IterableNodeHashTableIterator.java +++ b/runescape-client/src/main/java/IterableNodeHashTableIterator.java @@ -1,96 +1,96 @@ -import java.util.Iterator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ls") -@Implements("IterableNodeHashTableIterator") -public class IterableNodeHashTableIterator implements Iterator { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("head") - Node head; - @ObfuscatedName("t") - @Export("index") - int index; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("last") - Node last; - - @ObfuscatedSignature( - signature = "(Llj;)V" - ) - IterableNodeHashTableIterator(IterableNodeHashTable var1) { - this.last = null; - this.hashTable = var1; - this.start(); - } - - @ObfuscatedName("j") - @Export("start") - void start() { - this.head = this.hashTable.buckets[0].previous; - this.index = 1; - this.last = null; - } - - public Object next() { - Node var1; - if (this.hashTable.buckets[this.index - 1] != this.head) { - var1 = this.head; - this.head = var1.previous; - this.last = var1; - return var1; - } else { - do { - if (this.index >= this.hashTable.size) { - return null; - } - - var1 = this.hashTable.buckets[this.index++].previous; - } while(var1 == this.hashTable.buckets[this.index - 1]); - - this.head = var1.previous; - this.last = var1; - return var1; - } - } - - public void remove() { - if (this.last == null) { - throw new IllegalStateException(); - } else { - this.last.remove(); - this.last = null; - } - } - - public boolean hasNext() { - if (this.hashTable.buckets[this.index - 1] != this.head) { - return true; - } else { - while (this.index < this.hashTable.size) { - if (this.hashTable.buckets[this.index++].previous != this.hashTable.buckets[this.index - 1]) { - this.head = this.hashTable.buckets[this.index - 1].previous; - return true; - } - - this.head = this.hashTable.buckets[this.index - 1]; - } - - return false; - } - } -} +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ls") +@Implements("IterableNodeHashTableIterator") +public class IterableNodeHashTableIterator implements Iterator { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("head") + Node head; + @ObfuscatedName("v") + @Export("index") + int index; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("last") + Node last; + + @ObfuscatedSignature( + signature = "(Llb;)V" + ) + IterableNodeHashTableIterator(IterableNodeHashTable var1) { + this.last = null; + this.hashTable = var1; + this.start(); + } + + @ObfuscatedName("i") + @Export("start") + void start() { + this.head = this.hashTable.buckets[0].previous; + this.index = 1; + this.last = null; + } + + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.remove(); + this.last = null; + } + } + + public Object next() { + Node var1; + if (this.hashTable.buckets[this.index - 1] != this.head) { + var1 = this.head; + this.head = var1.previous; + this.last = var1; + return var1; + } else { + do { + if (this.index >= this.hashTable.size) { + return null; + } + + var1 = this.hashTable.buckets[this.index++].previous; + } while(var1 == this.hashTable.buckets[this.index - 1]); + + this.head = var1.previous; + this.last = var1; + return var1; + } + } + + public boolean hasNext() { + if (this.hashTable.buckets[this.index - 1] != this.head) { + return true; + } else { + while (this.index < this.hashTable.size) { + if (this.hashTable.buckets[this.index++].previous != this.hashTable.buckets[this.index - 1]) { + this.head = this.hashTable.buckets[this.index - 1].previous; + return true; + } + + this.head = this.hashTable.buckets[this.index - 1]; + } + + return false; + } + } +} diff --git a/runescape-client/src/main/java/JagexCache.java b/runescape-client/src/main/java/JagexCache.java index 129aa8db96..fdbe4649c3 100644 --- a/runescape-client/src/main/java/JagexCache.java +++ b/runescape-client/src/main/java/JagexCache.java @@ -1,44 +1,76 @@ -import java.io.File; -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("fy") -@Implements("JagexCache") -public class JagexCache { - @ObfuscatedName("g") - @Export("JagexCache_locationFile") - static File JagexCache_locationFile; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 546367141 - ) - @Export("idxCount") - static int idxCount; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lmw;" - ) - @Export("JagexCache_randomDat") - public static BufferedFile JagexCache_randomDat; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lmw;" - ) - @Export("JagexCache_dat2File") - public static BufferedFile JagexCache_dat2File; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lmw;" - ) - @Export("JagexCache_idx255File") - public static BufferedFile JagexCache_idx255File; - - static { - JagexCache_randomDat = null; - JagexCache_dat2File = null; - JagexCache_idx255File = null; - } -} +import java.io.File; +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("fh") +@Implements("JagexCache") +public class JagexCache { + @ObfuscatedName("u") + @Export("JagexCache_locationFile") + static File JagexCache_locationFile; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 34524443 + ) + @Export("idxCount") + public static int idxCount; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -424456649 + ) + @Export("ItemDefinition_fileCount") + public static int ItemDefinition_fileCount; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lmm;" + ) + @Export("JagexCache_randomDat") + public static BufferedFile JagexCache_randomDat; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lmm;" + ) + @Export("JagexCache_dat2File") + public static BufferedFile JagexCache_dat2File; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lmm;" + ) + @Export("JagexCache_idx255File") + public static BufferedFile JagexCache_idx255File; + @ObfuscatedName("j") + @Export("userHomeDirectory") + public static String userHomeDirectory; + + static { + JagexCache_randomDat = null; + JagexCache_dat2File = null; + JagexCache_idx255File = null; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)Lir;", + garbageValue = "62" + ) + @Export("StructDefinition_getStructDefinition") + public static StructDefinition StructDefinition_getStructDefinition(int var0) { + StructDefinition var1 = (StructDefinition)StructDefinition.StructDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = StructDefinition.StructDefinition_archive.takeFile(34, var0); + var1 = new StructDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + StructDefinition.StructDefinition_cached.put(var1, (long)var0); + return var1; + } + } +} diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java index 8c342d0936..6326fca45b 100644 --- a/runescape-client/src/main/java/KeyHandler.java +++ b/runescape-client/src/main/java/KeyHandler.java @@ -1,225 +1,1433 @@ -import java.awt.FontMetrics; -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -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("ar") -@Implements("KeyHandler") -public final class KeyHandler implements KeyListener, FocusListener { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lar;" - ) - @Export("KeyHandler_instance") - static KeyHandler KeyHandler_instance; - @ObfuscatedName("an") - @Export("loginScreenFontMetrics") - static FontMetrics loginScreenFontMetrics; - @ObfuscatedName("ck") - @Export("KeyHandler_pressedKeys") - public static boolean[] KeyHandler_pressedKeys; - @ObfuscatedName("cn") - static int[] field369; - @ObfuscatedName("cj") - @ObfuscatedGetter( - intValue = -2082132281 - ) - static int field375; - @ObfuscatedName("cw") - @ObfuscatedGetter( - intValue = 787094955 - ) - static int field366; - @ObfuscatedName("cu") - static char[] field377; - @ObfuscatedName("cd") - static int[] field378; - @ObfuscatedName("cs") - public static int[] field379; - @ObfuscatedName("cx") - @ObfuscatedGetter( - intValue = 348627163 - ) - public static int field380; - @ObfuscatedName("ci") - @ObfuscatedGetter( - intValue = -480098305 - ) - static int field381; - @ObfuscatedName("cf") - @ObfuscatedGetter( - intValue = 1914330843 - ) - static int field382; - @ObfuscatedName("cq") - @ObfuscatedGetter( - intValue = 1663219055 - ) - static int field383; - @ObfuscatedName("co") - @ObfuscatedGetter( - intValue = -1108152145 - ) - @Export("KeyHandler_idleCycles") - public static volatile int KeyHandler_idleCycles; - @ObfuscatedName("cz") - @Export("KeyHandler_keyCodes") - static int[] KeyHandler_keyCodes; - - static { - KeyHandler_instance = new KeyHandler(); - KeyHandler_pressedKeys = new boolean[112]; - field369 = new int[128]; - field375 = 0; - field366 = 0; - field377 = new char[128]; - field378 = new int[128]; - field379 = new int[128]; - field380 = 0; - field381 = 0; - field382 = 0; - field383 = 0; - KeyHandler_idleCycles = 0; - KeyHandler_keyCodes = new int[]{-1, -1, -1, -1, -1, -1, -1, -1, 85, 80, 84, -1, 91, -1, -1, -1, 81, 82, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, 83, 104, 105, 103, 102, 96, 98, 97, 99, -1, -1, -1, -1, -1, -1, -1, 25, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, 48, 68, 66, 50, 34, 51, 52, 53, 39, 54, 55, 56, 70, 69, 40, 41, 32, 35, 49, 36, 38, 67, 33, 65, 37, 64, -1, -1, -1, -1, -1, 228, 231, 227, 233, 224, 219, 225, 230, 226, 232, 89, 87, -1, 88, 229, 90, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; - } - - KeyHandler() { - } - - public final void keyTyped(KeyEvent var1) { - if (KeyHandler_instance != null) { - char var2 = var1.getKeyChar(); - if (var2 != 0 && var2 != '\uffff' && class80.method2029(var2)) { - int var3 = field382 + 1 & 127; - if (var3 != field381) { - field378[field382] = -1; - field377[field382] = var2; - field382 = var3; - } - } - } - - var1.consume(); - } - - public final void focusGained(FocusEvent var1) { - } - - public final synchronized void focusLost(FocusEvent var1) { - if (KeyHandler_instance != null) { - field366 = -1; - } - - } - - public final synchronized void keyPressed(KeyEvent var1) { - if (KeyHandler_instance != null) { - int var2 = var1.getKeyCode(); - if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { - var2 = KeyHandler_keyCodes[var2]; - if ((var2 & 128) != 0) { - var2 = -1; - } - } else { - var2 = -1; - } - - if (field366 >= 0 && var2 >= 0) { - field369[field366] = var2; - field366 = field366 + 1 & 127; - if (field366 == field375) { - field366 = -1; - } - } - - int var3; - if (var2 >= 0) { - var3 = field382 + 1 & 127; - if (var3 != field381) { - field378[field382] = var2; - field377[field382] = 0; - field382 = var3; - } - } - - var3 = var1.getModifiers(); - if ((var3 & 10) != 0 || var2 == 85 || var2 == 10) { - var1.consume(); - } - } - - } - - public final synchronized void keyReleased(KeyEvent var1) { - if (KeyHandler_instance != null) { - int var2 = var1.getKeyCode(); - if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { - var2 = KeyHandler_keyCodes[var2] & -129; - } else { - var2 = -1; - } - - if (field366 >= 0 && var2 >= 0) { - field369[field366] = ~var2; - field366 = field366 + 1 & 127; - if (field375 == field366) { - field366 = -1; - } - } - } - - var1.consume(); - } - - @ObfuscatedName("kv") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZI)V", - garbageValue = "-628936499" - ) - @Export("findItemDefinitions") - static void findItemDefinitions(String var0, boolean var1) { - var0 = var0.toLowerCase(); - short[] var2 = new short[16]; - int var3 = 0; - - for (int var4 = 0; var4 < ItemDefinition.ItemDefinition_fileCount; ++var4) { - ItemDefinition var5 = Player.ItemDefinition_get(var4); - if ((!var1 || var5.isTradable) && var5.noteTemplate == -1 && var5.name.toLowerCase().indexOf(var0) != -1) { - if (var3 >= 250) { - GrandExchangeOfferNameComparator.foundItemIdCount = -1; - BoundaryObject.foundItemIds = null; - return; - } - - if (var3 >= var2.length) { - short[] var6 = new short[var2.length * 2]; - - for (int var7 = 0; var7 < var3; ++var7) { - var6[var7] = var2[var7]; - } - - var2 = var6; - } - - var2[var3++] = (short)var4; - } - } - - BoundaryObject.foundItemIds = var2; - ArchiveLoader.foundItemIndex = 0; - GrandExchangeOfferNameComparator.foundItemIdCount = var3; - String[] var8 = new String[GrandExchangeOfferNameComparator.foundItemIdCount]; - - for (int var9 = 0; var9 < GrandExchangeOfferNameComparator.foundItemIdCount; ++var9) { - var8[var9] = Player.ItemDefinition_get(var2[var9]).name; - } - - WorldMapRegion.method514(var8, BoundaryObject.foundItemIds); - } -} +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.util.Iterator; +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.ScriptOpcodes; + +@ObfuscatedName("ah") +@Implements("KeyHandler") +public final class KeyHandler implements KeyListener, FocusListener { + @ObfuscatedName("oc") + @ObfuscatedSignature( + signature = "Lft;" + ) + @Export("mouseWheel") + static MouseWheel mouseWheel; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lah;" + ) + @Export("KeyHandler_instance") + public static KeyHandler KeyHandler_instance; + @ObfuscatedName("cy") + @Export("KeyHandler_pressedKeys") + public static boolean[] KeyHandler_pressedKeys; + @ObfuscatedName("cj") + public static char field381; + @ObfuscatedName("cr") + public static int[] field365; + @ObfuscatedName("ct") + @ObfuscatedGetter( + intValue = 1575072845 + ) + public static int field372; + @ObfuscatedName("ci") + @ObfuscatedGetter( + intValue = -939573745 + ) + public static int field373; + @ObfuscatedName("cu") + static char[] field374; + @ObfuscatedName("ce") + static int[] field375; + @ObfuscatedName("cc") + public static int[] field376; + @ObfuscatedName("cl") + @ObfuscatedGetter( + intValue = 1675440071 + ) + public static int field361; + @ObfuscatedName("cw") + @ObfuscatedGetter( + intValue = -1686544141 + ) + public static int field378; + @ObfuscatedName("cq") + @ObfuscatedGetter( + intValue = 900188775 + ) + public static int field371; + @ObfuscatedName("ca") + @ObfuscatedGetter( + intValue = -1429227913 + ) + public static int field380; + @ObfuscatedName("cf") + @ObfuscatedGetter( + intValue = -844580135 + ) + @Export("KeyHandler_idleCycles") + public static volatile int KeyHandler_idleCycles; + @ObfuscatedName("cx") + @Export("KeyHandler_keyCodes") + static int[] KeyHandler_keyCodes; + + static { + KeyHandler_instance = new KeyHandler(); + KeyHandler_pressedKeys = new boolean[112]; + field365 = new int[128]; + field372 = 0; + field373 = 0; + field374 = new char[128]; + field375 = new int[128]; + field376 = new int[128]; + field361 = 0; + field378 = 0; + field371 = 0; + field380 = 0; + KeyHandler_idleCycles = 0; + KeyHandler_keyCodes = new int[]{-1, -1, -1, -1, -1, -1, -1, -1, 85, 80, 84, -1, 91, -1, -1, -1, 81, 82, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, 83, 104, 105, 103, 102, 96, 98, 97, 99, -1, -1, -1, -1, -1, -1, -1, 25, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, 48, 68, 66, 50, 34, 51, 52, 53, 39, 54, 55, 56, 70, 69, 40, 41, 32, 35, 49, 36, 38, 67, 33, 65, 37, 64, -1, -1, -1, -1, -1, 228, 231, 227, 233, 224, 219, 225, 230, 226, 232, 89, 87, -1, 88, 229, 90, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; + } + + KeyHandler() { + } + + public final synchronized void keyReleased(KeyEvent var1) { + if (KeyHandler_instance != null) { + int var2 = var1.getKeyCode(); + if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { + var2 = KeyHandler_keyCodes[var2] & -129; + } else { + var2 = -1; + } + + if (field373 >= 0 && var2 >= 0) { + field365[field373] = ~var2; + field373 = field373 + 1 & 127; + if (field373 == field372) { + field373 = -1; + } + } + } + + var1.consume(); + } + + public final void focusGained(FocusEvent var1) { + } + + public final synchronized void focusLost(FocusEvent var1) { + if (KeyHandler_instance != null) { + field373 = -1; + } + + } + + public final synchronized void keyPressed(KeyEvent var1) { + if (KeyHandler_instance != null) { + int var2 = var1.getKeyCode(); + if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { + var2 = KeyHandler_keyCodes[var2]; + if ((var2 & 128) != 0) { + var2 = -1; + } + } else { + var2 = -1; + } + + if (field373 >= 0 && var2 >= 0) { + field365[field373] = var2; + field373 = field373 + 1 & 127; + if (field372 == field373) { + field373 = -1; + } + } + + int var3; + if (var2 >= 0) { + var3 = field371 + 1 & 127; + if (var3 != field378) { + field375[field371] = var2; + field374[field371] = 0; + field371 = var3; + } + } + + var3 = var1.getModifiers(); + if ((var3 & 10) != 0 || var2 == 85 || var2 == 10) { + var1.consume(); + } + } + + } + + public final void keyTyped(KeyEvent var1) { + if (KeyHandler_instance != null) { + char var2 = var1.getKeyChar(); + if (var2 != 0 && var2 != '\uffff' && LoginScreenAnimation.method1839(var2)) { + int var3 = field371 + 1 & 127; + if (var3 != field378) { + field375[field371] = -1; + field374[field371] = var2; + field371 = var3; + } + } + } + + var1.consume(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;I)V", + garbageValue = "1410088025" + ) + @Export("InvDefinition_setArchives") + public static void InvDefinition_setArchives(AbstractArchive var0) { + InvDefinition.InvDefinition_archive = var0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lba;IB)V", + garbageValue = "0" + ) + @Export("runScript") + static void runScript(ScriptEvent var0, int var1) { + Object[] var2 = var0.args; + Script var3; + int var17; + if (Strings.isWorldMapEvent(var0.type)) { + EnumDefinition.worldMapEvent = (WorldMapEvent)var2[0]; + WorldMapElement var4 = Decimator.WorldMapElement_get(EnumDefinition.worldMapEvent.mapElement); + var3 = class42.getWorldMapScript(var0.type, var4.objectId, var4.category); + } else { + var17 = (Integer)var2[0]; + var3 = LoginPacket.getScript(var17); + } + + if (var3 != null) { + Interpreter.Interpreter_intStackSize = 0; + Interpreter.Interpreter_stringStackSize = 0; + var17 = -1; + int[] var5 = var3.opcodes; + int[] var6 = var3.intOperands; + byte var7 = -1; + Interpreter.Interpreter_frameDepth = 0; + Interpreter.field1074 = false; + + try { + int var10; + try { + Interpreter.Interpreter_intLocals = new int[var3.localIntCount]; + int var8 = 0; + UrlRequester.Interpreter_stringLocals = new String[var3.localStringCount]; + int var9 = 0; + + int var11; + String var18; + for (var10 = 1; var10 < var2.length; ++var10) { + if (var2[var10] instanceof Integer) { + var11 = (Integer)var2[var10]; + if (var11 == -2147483647) { + var11 = var0.mouseX; + } + + if (var11 == -2147483646) { + var11 = var0.mouseY; + } + + if (var11 == -2147483645) { + var11 = var0.widget != null ? var0.widget.id : -1; + } + + if (var11 == -2147483644) { + var11 = var0.opIndex; + } + + if (var11 == -2147483643) { + var11 = var0.widget != null ? var0.widget.childIndex : -1; + } + + if (var11 == -2147483642) { + var11 = var0.dragTarget != null ? var0.dragTarget.id : -1; + } + + if (var11 == -2147483641) { + var11 = var0.dragTarget != null ? var0.dragTarget.childIndex : -1; + } + + if (var11 == -2147483640) { + var11 = var0.keyTyped; + } + + if (var11 == -2147483639) { + var11 = var0.keyPressed; + } + + Interpreter.Interpreter_intLocals[var8++] = var11; + } else if (var2[var10] instanceof String) { + var18 = (String)var2[var10]; + if (var18.equals("event_opbase")) { + var18 = var0.targetName; + } + + UrlRequester.Interpreter_stringLocals[var9++] = var18; + } + } + + var10 = 0; + Interpreter.field1089 = var0.field568; + + while (true) { + ++var10; + if (var10 > var1) { + throw new RuntimeException(); + } + + ++var17; + int var29 = var5[var17]; + int var20; + if (var29 >= 100) { + boolean var32; + if (var3.intOperands[var17] == 1) { + var32 = true; + } else { + var32 = false; + } + + var20 = TileItem.method2125(var29, var3, var32); + switch(var20) { + case 0: + return; + case 1: + default: + break; + case 2: + throw new IllegalStateException(); + } + } else if (var29 == ScriptOpcodes.ICONST) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6[var17]; + } else if (var29 == ScriptOpcodes.GET_VARP) { + var11 = var6[var17]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Varps.Varps_main[var11]; + } else if (var29 == ScriptOpcodes.SET_VARP) { + var11 = var6[var17]; + Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + NetSocket.method3468(var11); + } else if (var29 == ScriptOpcodes.SCONST) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.stringOperands[var17]; + } else if (var29 == ScriptOpcodes.JUMP) { + var17 += var6[var17]; + } else if (var29 == ScriptOpcodes.IF_ICMPNE) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPEQ) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPLT) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPGT) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.RETURN) { + if (Interpreter.Interpreter_frameDepth == 0) { + return; + } + + ScriptFrame var34 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; + var3 = var34.script; + var5 = var3.opcodes; + var6 = var3.intOperands; + var17 = var34.pc; + Interpreter.Interpreter_intLocals = var34.intLocals; + UrlRequester.Interpreter_stringLocals = var34.stringLocals; + } else if (var29 == ScriptOpcodes.GET_VARBIT) { + var11 = var6[var17]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSprite.getVarbit(var11); + } else if (var29 == ScriptOpcodes.SET_VARBIT) { + var11 = var6[var17]; + WorldMapElement.method4348(var11, Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else if (var29 == ScriptOpcodes.IF_ICMPLE) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPGE) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.ILOAD) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Interpreter.Interpreter_intLocals[var6[var17]]; + } else if (var29 == ScriptOpcodes.ISTORE) { + Interpreter.Interpreter_intLocals[var6[var17]] = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + } else if (var29 == ScriptOpcodes.SLOAD) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = UrlRequester.Interpreter_stringLocals[var6[var17]]; + } else if (var29 == ScriptOpcodes.SSTORE) { + UrlRequester.Interpreter_stringLocals[var6[var17]] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + } else if (var29 == ScriptOpcodes.JOIN_STRING) { + var11 = var6[var17]; + Interpreter.Interpreter_stringStackSize -= var11; + String var31 = FloorOverlayDefinition.method4704(Interpreter.Interpreter_stringStack, Interpreter.Interpreter_stringStackSize, var11); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var31; + } else if (var29 == ScriptOpcodes.POP_INT) { + --Interpreter.Interpreter_intStackSize; + } else if (var29 == ScriptOpcodes.POP_STRING) { + --Interpreter.Interpreter_stringStackSize; + } else { + int var15; + if (var29 != ScriptOpcodes.INVOKE) { + if (var29 == ScriptOpcodes.GET_VARC_INT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class197.varcs.getInt(var6[var17]); + } else if (var29 == ScriptOpcodes.SET_VARC_INT) { + class197.varcs.setInt(var6[var17], Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else if (var29 == ScriptOpcodes.DEFINE_ARRAY) { + var11 = var6[var17] >> 16; + var20 = var6[var17] & 65535; + int var21 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var21 < 0 || var21 > 5000) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrayLengths[var11] = var21; + byte var22 = -1; + if (var20 == 105) { + var22 = 0; + } + + for (var15 = 0; var15 < var21; ++var15) { + Interpreter.Interpreter_arrays[var11][var15] = var22; + } + } else if (var29 == ScriptOpcodes.GET_ARRAY_INT) { + var11 = var6[var17]; + var20 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var11][var20]; + } else if (var29 == ScriptOpcodes.SET_ARRAY_INT) { + var11 = var6[var17]; + Interpreter.Interpreter_intStackSize -= 2; + var20 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrays[var11][var20] = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + } else if (var29 == ScriptOpcodes.GET_VARC_STRING_OLD) { + var18 = class197.varcs.getStringOld(var6[var17]); + if (var18 == null) { + var18 = "null"; + } + + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var18; + } else if (var29 == ScriptOpcodes.SET_VARC_STRING_OLD) { + class197.varcs.setStringOld(var6[var17], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); + } else if (var29 == ScriptOpcodes.GET_VARC_STRING) { + var18 = class197.varcs.getString(var6[var17]); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var18; + } else if (var29 == ScriptOpcodes.SET_VARC_STRING) { + class197.varcs.setString(var6[var17], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); + } else { + if (var29 != ScriptOpcodes.SWITCH) { + throw new IllegalStateException(); + } + + IterableNodeHashTable var33 = var3.switches[var6[var17]]; + IntegerNode var30 = (IntegerNode)var33.get((long)Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var30 != null) { + var17 += var30.integer; + } + } + } else { + var11 = var6[var17]; + Script var12 = LoginPacket.getScript(var11); + int[] var13 = new int[var12.localIntCount]; + String[] var14 = new String[var12.localStringCount]; + + for (var15 = 0; var15 < var12.intArgumentCount; ++var15) { + var13[var15] = Interpreter.Interpreter_intStack[var15 + (Interpreter.Interpreter_intStackSize - var12.intArgumentCount)]; + } + + for (var15 = 0; var15 < var12.stringArgumentCount; ++var15) { + var14[var15] = Interpreter.Interpreter_stringStack[var15 + (Interpreter.Interpreter_stringStackSize - var12.stringArgumentCount)]; + } + + Interpreter.Interpreter_intStackSize -= var12.intArgumentCount; + Interpreter.Interpreter_stringStackSize -= var12.stringArgumentCount; + ScriptFrame var19 = new ScriptFrame(); + var19.script = var3; + var19.pc = var17; + var19.intLocals = Interpreter.Interpreter_intLocals; + var19.stringLocals = UrlRequester.Interpreter_stringLocals; + Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var19; + var3 = var12; + var5 = var12.opcodes; + var6 = var12.intOperands; + var17 = -1; + Interpreter.Interpreter_intLocals = var13; + UrlRequester.Interpreter_stringLocals = var14; + } + } + } + } catch (Exception var27) { + StringBuilder var24 = new StringBuilder(30); + var24.append("").append(var3.key).append(" "); + + for (var10 = Interpreter.Interpreter_frameDepth - 1; var10 >= 0; --var10) { + var24.append("").append(Interpreter.Interpreter_frames[var10].script.key).append(" "); + } + + var24.append("").append(var7); + class32.RunException_sendStackTrace(var24.toString(), var27); + } + } finally { + if (Interpreter.field1074) { + Interpreter.field1075 = true; + class51.method922(); + Interpreter.field1075 = false; + Interpreter.field1074 = false; + } + + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "96" + ) + static void method873() { + Iterator var0 = Messages.Messages_hashTable.iterator(); + + while (var0.hasNext()) { + Message var1 = (Message)var0.next(); + var1.clearIsFromFriend(); + } + + } + + @ObfuscatedName("gk") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "133309082" + ) + static final void method851() { + GrandExchangeOffer.method129(false); + Client.field689 = 0; + boolean var0 = true; + + int var1; + for (var1 = 0; var1 < WorldMapIcon_1.regionLandArchives.length; ++var1) { + if (class197.regionMapArchiveIds[var1] != -1 && WorldMapIcon_1.regionLandArchives[var1] == null) { + WorldMapIcon_1.regionLandArchives[var1] = class3.archive5.takeFile(class197.regionMapArchiveIds[var1], 0); + if (WorldMapIcon_1.regionLandArchives[var1] == null) { + var0 = false; + ++Client.field689; + } + } + + if (class60.regionLandArchiveIds[var1] != -1 && ArchiveLoader.regionMapArchives[var1] == null) { + ArchiveLoader.regionMapArchives[var1] = class3.archive5.takeFileEncrypted(class60.regionLandArchiveIds[var1], 0, class296.xteaKeys[var1]); + if (ArchiveLoader.regionMapArchives[var1] == null) { + var0 = false; + ++Client.field689; + } + } + } + + if (!var0) { + Client.field693 = 1; + } else { + Client.field691 = 0; + var0 = true; + + int var3; + int var4; + Buffer var8; + int var9; + int var10; + int var11; + int var13; + int var14; + int var15; + int var16; + int var17; + int var18; + for (var1 = 0; var1 < WorldMapIcon_1.regionLandArchives.length; ++var1) { + byte[] var2 = ArchiveLoader.regionMapArchives[var1]; + if (var2 != null) { + var3 = (MouseHandler.regions[var1] >> 8) * 64 - class223.baseX * 64; + var4 = (MouseHandler.regions[var1] & 255) * 64 - class286.baseY * 64; + if (Client.isInInstance) { + var3 = 10; + var4 = 10; + } + + boolean var7 = true; + var8 = new Buffer(var2); + var9 = -1; + + label1329: + while (true) { + var10 = var8.method5442(); + if (var10 == 0) { + var0 &= var7; + break; + } + + var9 += var10; + var11 = 0; + boolean var12 = false; + + while (true) { + while (!var12) { + var13 = var8.readUShortSmart(); + if (var13 == 0) { + continue label1329; + } + + var11 += var13 - 1; + var14 = var11 & 63; + var15 = var11 >> 6 & 63; + var16 = var8.readUnsignedByte() >> 2; + var17 = var3 + var15; + var18 = var4 + var14; + if (var17 > 0 && var18 > 0 && var17 < 103 && var18 < 103) { + ObjectDefinition var19 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var9); + if (var16 != 22 || !Client.isLowDetail || var19.int1 != 0 || var19.interactType == 1 || var19.boolean2) { + if (!var19.needsModelFiles()) { + ++Client.field691; + var7 = false; + } + + var12 = true; + } + } + } + + var13 = var8.readUShortSmart(); + if (var13 == 0) { + break; + } + + var8.readUnsignedByte(); + } + } + } + } + + if (!var0) { + Client.field693 = 2; + } else { + if (Client.field693 != 0) { + WorldMapSprite.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); + } + + WorldMapID.playPcmPlayers(); + PacketWriter.scene.clear(); + + for (var1 = 0; var1 < 4; ++var1) { + Client.collisionMaps[var1].clear(); + } + + int var46; + for (var1 = 0; var1 < 4; ++var1) { + for (var46 = 0; var46 < 104; ++var46) { + for (var3 = 0; var3 < 104; ++var3) { + Tiles.Tiles_renderFlags[var1][var46][var3] = 0; + } + } + } + + WorldMapID.playPcmPlayers(); + TextureProvider.method2753(); + var1 = WorldMapIcon_1.regionLandArchives.length; + ClientPacket.method3575(); + GrandExchangeOffer.method129(true); + int var5; + int var20; + int var21; + int var51; + int var66; + if (!Client.isInInstance) { + byte[] var47; + for (var46 = 0; var46 < var1; ++var46) { + var3 = (MouseHandler.regions[var46] >> 8) * 64 - class223.baseX * 64; + var4 = (MouseHandler.regions[var46] & 255) * 64 - class286.baseY * 64; + var47 = WorldMapIcon_1.regionLandArchives[var46]; + if (var47 != null) { + WorldMapID.playPcmPlayers(); + class40.method787(var47, var3, var4, ServerPacket.field2131 * 8 - 48, MusicPatchNode.field2422 * 8 - 48, Client.collisionMaps); + } + } + + for (var46 = 0; var46 < var1; ++var46) { + var3 = (MouseHandler.regions[var46] >> 8) * 64 - class223.baseX * 64; + var4 = (MouseHandler.regions[var46] & 255) * 64 - class286.baseY * 64; + var47 = WorldMapIcon_1.regionLandArchives[var46]; + if (var47 == null && MusicPatchNode.field2422 < 800) { + WorldMapID.playPcmPlayers(); + class30.method561(var3, var4, 64, 64); + } + } + + GrandExchangeOffer.method129(true); + + for (var46 = 0; var46 < var1; ++var46) { + byte[] var52 = ArchiveLoader.regionMapArchives[var46]; + if (var52 != null) { + var4 = (MouseHandler.regions[var46] >> 8) * 64 - class223.baseX * 64; + var5 = (MouseHandler.regions[var46] & 255) * 64 - class286.baseY * 64; + WorldMapID.playPcmPlayers(); + Scene var53 = PacketWriter.scene; + CollisionMap[] var54 = Client.collisionMaps; + var8 = new Buffer(var52); + var9 = -1; + + while (true) { + var10 = var8.method5442(); + if (var10 == 0) { + break; + } + + var9 += var10; + var11 = 0; + + while (true) { + var66 = var8.readUShortSmart(); + if (var66 == 0) { + break; + } + + var11 += var66 - 1; + var13 = var11 & 63; + var14 = var11 >> 6 & 63; + var15 = var11 >> 12; + var16 = var8.readUnsignedByte(); + var17 = var16 >> 2; + var18 = var16 & 3; + var51 = var14 + var4; + var20 = var5 + var13; + if (var51 > 0 && var20 > 0 && var51 < 103 && var20 < 103) { + var21 = var15; + if ((Tiles.Tiles_renderFlags[1][var51][var20] & 2) == 2) { + var21 = var15 - 1; + } + + CollisionMap var55 = null; + if (var21 >= 0) { + var55 = var54[var21]; + } + + GrandExchangeOfferAgeComparator.method165(var15, var51, var20, var9, var18, var17, var53, var55); + } + } + } + } + } + } + + int var6; + int[] var10000; + int var22; + int var26; + int var27; + int var28; + int var29; + int var32; + int var34; + int var35; + int var36; + int var48; + int var65; + if (Client.isInInstance) { + for (var46 = 0; var46 < 4; ++var46) { + WorldMapID.playPcmPlayers(); + + for (var3 = 0; var3 < 13; ++var3) { + for (var4 = 0; var4 < 13; ++var4) { + boolean var64 = false; + var6 = Client.instanceChunkTemplates[var46][var3][var4]; + if (var6 != -1) { + var65 = var6 >> 24 & 3; + var48 = var6 >> 1 & 3; + var9 = var6 >> 14 & 1023; + var10 = var6 >> 3 & 2047; + var11 = (var9 / 8 << 8) + var10 / 8; + + for (var66 = 0; var66 < MouseHandler.regions.length; ++var66) { + if (MouseHandler.regions[var66] == var11 && WorldMapIcon_1.regionLandArchives[var66] != null) { + byte[] var49 = WorldMapIcon_1.regionLandArchives[var66]; + var14 = var3 * 8; + var15 = var4 * 8; + var16 = (var9 & 7) * 8; + var17 = (var10 & 7) * 8; + CollisionMap[] var50 = Client.collisionMaps; + + for (var51 = 0; var51 < 8; ++var51) { + for (var20 = 0; var20 < 8; ++var20) { + if (var14 + var51 > 0 && var51 + var14 < 103 && var15 + var20 > 0 && var20 + var15 < 103) { + var10000 = var50[var46].flags[var14 + var51]; + var10000[var15 + var20] &= -16777217; + } + } + } + + Buffer var67 = new Buffer(var49); + + for (var20 = 0; var20 < 4; ++var20) { + for (var21 = 0; var21 < 64; ++var21) { + for (var22 = 0; var22 < 64; ++var22) { + if (var20 == var65 && var21 >= var16 && var21 < var16 + 8 && var22 >= var17 && var22 < var17 + 8) { + var27 = var21 & 7; + var28 = var22 & 7; + var29 = var48 & 3; + if (var29 == 0) { + var26 = var27; + } else if (var29 == 1) { + var26 = var28; + } else if (var29 == 2) { + var26 = 7 - var27; + } else { + var26 = 7 - var28; + } + + var32 = var14 + var26; + var35 = var21 & 7; + var36 = var22 & 7; + int var37 = var48 & 3; + if (var37 == 0) { + var34 = var36; + } else if (var37 == 1) { + var34 = 7 - var35; + } else if (var37 == 2) { + var34 = 7 - var36; + } else { + var34 = var35; + } + + GrandExchangeOfferWorldComparator.loadTerrain(var67, var46, var32, var34 + var15, 0, 0, var48); + } else { + GrandExchangeOfferWorldComparator.loadTerrain(var67, 0, -1, -1, 0, 0, 0); + } + } + } + } + + var64 = true; + break; + } + } + } + + if (!var64) { + WorldMapID.method569(var46, var3 * 8, var4 * 8); + } + } + } + } + + for (var46 = 0; var46 < 13; ++var46) { + for (var3 = 0; var3 < 13; ++var3) { + var4 = Client.instanceChunkTemplates[0][var46][var3]; + if (var4 == -1) { + class30.method561(var46 * 8, var3 * 8, 8, 8); + } + } + } + + GrandExchangeOffer.method129(true); + + for (var46 = 0; var46 < 4; ++var46) { + WorldMapID.playPcmPlayers(); + + for (var3 = 0; var3 < 13; ++var3) { + for (var4 = 0; var4 < 13; ++var4) { + var5 = Client.instanceChunkTemplates[var46][var3][var4]; + if (var5 != -1) { + var6 = var5 >> 24 & 3; + var65 = var5 >> 1 & 3; + var48 = var5 >> 14 & 1023; + var9 = var5 >> 3 & 2047; + var10 = (var48 / 8 << 8) + var9 / 8; + + for (var11 = 0; var11 < MouseHandler.regions.length; ++var11) { + if (MouseHandler.regions[var11] == var10 && ArchiveLoader.regionMapArchives[var11] != null) { + class80.method2047(ArchiveLoader.regionMapArchives[var11], var46, var3 * 8, var4 * 8, var6, (var48 & 7) * 8, (var9 & 7) * 8, var65, PacketWriter.scene, Client.collisionMaps); + break; + } + } + } + } + } + } + } + + GrandExchangeOffer.method129(true); + WorldMapID.playPcmPlayers(); + Scene var63 = PacketWriter.scene; + CollisionMap[] var75 = Client.collisionMaps; + + for (var4 = 0; var4 < 4; ++var4) { + for (var5 = 0; var5 < 104; ++var5) { + for (var6 = 0; var6 < 104; ++var6) { + if ((Tiles.Tiles_renderFlags[var4][var5][var6] & 1) == 1) { + var65 = var4; + if ((Tiles.Tiles_renderFlags[1][var5][var6] & 2) == 2) { + var65 = var4 - 1; + } + + if (var65 >= 0) { + var75[var65].setBlockedByFloor(var5, var6); + } + } + } + } + } + + Tiles.field482 += (int)(Math.random() * 5.0D) - 2; + if (Tiles.field482 < -8) { + Tiles.field482 = -8; + } + + if (Tiles.field482 > 8) { + Tiles.field482 = 8; + } + + Tiles.field496 += (int)(Math.random() * 5.0D) - 2; + if (Tiles.field496 < -16) { + Tiles.field496 = -16; + } + + if (Tiles.field496 > 16) { + Tiles.field496 = 16; + } + + for (var4 = 0; var4 < 4; ++var4) { + byte[][] var71 = Tiles.field486[var4]; + var11 = (int)Math.sqrt(5100.0D); + var66 = var11 * 768 >> 8; + + for (var13 = 1; var13 < 103; ++var13) { + for (var14 = 1; var14 < 103; ++var14) { + var15 = Tiles.Tiles_heights[var4][var14 + 1][var13] - Tiles.Tiles_heights[var4][var14 - 1][var13]; + var16 = Tiles.Tiles_heights[var4][var14][var13 + 1] - Tiles.Tiles_heights[var4][var14][var13 - 1]; + var17 = (int)Math.sqrt((double)(var16 * var16 + var15 * var15 + 65536)); + var18 = (var15 << 8) / var17; + var51 = 65536 / var17; + var20 = (var16 << 8) / var17; + var21 = (var18 * -50 + var20 * -50 + var51 * -10) / var66 + 96; + var22 = (var71[var14][var13 + 1] >> 3) + (var71[var14 - 1][var13] >> 2) + (var71[var14][var13 - 1] >> 2) + (var71[var14 + 1][var13] >> 3) + (var71[var14][var13] >> 1); + DevicePcmPlayerProvider.field386[var14][var13] = var21 - var22; + } + } + + for (var13 = 0; var13 < 104; ++var13) { + Tiles.Tiles_hue[var13] = 0; + ArchiveLoader.Tiles_saturation[var13] = 0; + Tiles.Tiles_lightness[var13] = 0; + FontName.Tiles_hueMultiplier[var13] = 0; + Tiles.field487[var13] = 0; + } + + for (var13 = -5; var13 < 109; ++var13) { + for (var14 = 0; var14 < 104; ++var14) { + var15 = var13 + 5; + int var10002; + if (var15 >= 0 && var15 < 104) { + var16 = Tiles.field501[var4][var15][var14] & 255; + if (var16 > 0) { + FloorUnderlayDefinition var56 = UserComparator9.FloorUnderlayDefinition_get(var16 - 1); + var10000 = Tiles.Tiles_hue; + var10000[var14] += var56.hue; + var10000 = ArchiveLoader.Tiles_saturation; + var10000[var14] += var56.saturation; + var10000 = Tiles.Tiles_lightness; + var10000[var14] += var56.lightness; + var10000 = FontName.Tiles_hueMultiplier; + var10000[var14] += var56.hueMultiplier; + var10002 = Tiles.field487[var14]++; + } + } + + var16 = var13 - 5; + if (var16 >= 0 && var16 < 104) { + var17 = Tiles.field501[var4][var16][var14] & 255; + if (var17 > 0) { + FloorUnderlayDefinition var74 = UserComparator9.FloorUnderlayDefinition_get(var17 - 1); + var10000 = Tiles.Tiles_hue; + var10000[var14] -= var74.hue; + var10000 = ArchiveLoader.Tiles_saturation; + var10000[var14] -= var74.saturation; + var10000 = Tiles.Tiles_lightness; + var10000[var14] -= var74.lightness; + var10000 = FontName.Tiles_hueMultiplier; + var10000[var14] -= var74.hueMultiplier; + var10002 = Tiles.field487[var14]--; + } + } + } + + if (var13 >= 1 && var13 < 103) { + var14 = 0; + var15 = 0; + var16 = 0; + var17 = 0; + var18 = 0; + + for (var51 = -5; var51 < 109; ++var51) { + var20 = var51 + 5; + if (var20 >= 0 && var20 < 104) { + var14 += Tiles.Tiles_hue[var20]; + var15 += ArchiveLoader.Tiles_saturation[var20]; + var16 += Tiles.Tiles_lightness[var20]; + var17 += FontName.Tiles_hueMultiplier[var20]; + var18 += Tiles.field487[var20]; + } + + var21 = var51 - 5; + if (var21 >= 0 && var21 < 104) { + var14 -= Tiles.Tiles_hue[var21]; + var15 -= ArchiveLoader.Tiles_saturation[var21]; + var16 -= Tiles.Tiles_lightness[var21]; + var17 -= FontName.Tiles_hueMultiplier[var21]; + var18 -= Tiles.field487[var21]; + } + + if (var51 >= 1 && var51 < 103 && (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var13][var51] & 2) != 0 || (Tiles.Tiles_renderFlags[var4][var13][var51] & 16) == 0)) { + if (var4 < Tiles.Tiles_minPlane) { + Tiles.Tiles_minPlane = var4; + } + + var22 = Tiles.field501[var4][var13][var51] & 255; + int var57 = Tiles.field483[var4][var13][var51] & 255; + if (var22 > 0 || var57 > 0) { + int var24 = Tiles.Tiles_heights[var4][var13][var51]; + int var25 = Tiles.Tiles_heights[var4][var13 + 1][var51]; + var26 = Tiles.Tiles_heights[var4][var13 + 1][var51 + 1]; + var27 = Tiles.Tiles_heights[var4][var13][var51 + 1]; + var28 = DevicePcmPlayerProvider.field386[var13][var51]; + var29 = DevicePcmPlayerProvider.field386[var13 + 1][var51]; + int var58 = DevicePcmPlayerProvider.field386[var13 + 1][var51 + 1]; + int var31 = DevicePcmPlayerProvider.field386[var13][var51 + 1]; + var32 = -1; + int var33 = -1; + if (var22 > 0) { + var34 = var14 * 256 / var17; + var35 = var15 / var18; + var36 = var16 / var18; + var32 = GrandExchangeOfferAgeComparator.hslToRgb(var34, var35, var36); + var34 = var34 + Tiles.field482 & 255; + var36 += Tiles.field496; + if (var36 < 0) { + var36 = 0; + } else if (var36 > 255) { + var36 = 255; + } + + var33 = GrandExchangeOfferAgeComparator.hslToRgb(var34, var35, var36); + } + + FloorOverlayDefinition var59; + if (var4 > 0) { + boolean var69 = true; + if (var22 == 0 && DevicePcmPlayerProvider.field393[var4][var13][var51] != 0) { + var69 = false; + } + + if (var57 > 0) { + var36 = var57 - 1; + var59 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var36); + FloorOverlayDefinition var60; + if (var59 != null) { + var60 = var59; + } else { + byte[] var62 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var36); + var59 = new FloorOverlayDefinition(); + if (var62 != null) { + var59.decode(new Buffer(var62), var36); + } + + var59.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var59, (long)var36); + var60 = var59; + } + + if (!var60.hideUnderlay) { + var69 = false; + } + } + + if (var69 && var24 == var25 && var24 == var26 && var27 == var24) { + var10000 = Tiles.field488[var4][var13]; + var10000[var51] |= 2340; + } + } + + var34 = 0; + if (var33 != -1) { + var34 = Rasterizer3D.Rasterizer3D_colorPalette[class192.method3639(var33, 96)]; + } + + if (var57 == 0) { + var63.addTile(var4, var13, var51, 0, 0, -1, var24, var25, var26, var27, class192.method3639(var32, var28), class192.method3639(var32, var29), class192.method3639(var32, var58), class192.method3639(var32, var31), 0, 0, 0, 0, var34, 0); + } else { + var35 = DevicePcmPlayerProvider.field393[var4][var13][var51] + 1; + byte var70 = class287.field3634[var4][var13][var51]; + int var38 = var57 - 1; + FloorOverlayDefinition var39 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var38); + if (var39 != null) { + var59 = var39; + } else { + byte[] var61 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var38); + var39 = new FloorOverlayDefinition(); + if (var61 != null) { + var39.decode(new Buffer(var61), var38); + } + + var39.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var39, (long)var38); + var59 = var39; + } + + int var40 = var59.texture; + int var41; + int var42; + int var43; + int var44; + if (var40 >= 0) { + var42 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var40); + var41 = -1; + } else if (var59.primaryRgb == 16711935) { + var41 = -2; + var40 = -1; + var42 = -2; + } else { + var41 = GrandExchangeOfferAgeComparator.hslToRgb(var59.hue, var59.saturation, var59.lightness); + var43 = var59.hue + Tiles.field482 & 255; + var44 = var59.lightness + Tiles.field496; + if (var44 < 0) { + var44 = 0; + } else if (var44 > 255) { + var44 = 255; + } + + var42 = GrandExchangeOfferAgeComparator.hslToRgb(var43, var59.saturation, var44); + } + + var43 = 0; + if (var42 != -2) { + var43 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapEvent.method800(var42, 96)]; + } + + if (var59.secondaryRgb != -1) { + var44 = var59.secondaryHue + Tiles.field482 & 255; + int var45 = var59.secondaryLightness + Tiles.field496; + if (var45 < 0) { + var45 = 0; + } else if (var45 > 255) { + var45 = 255; + } + + var42 = GrandExchangeOfferAgeComparator.hslToRgb(var44, var59.secondarySaturation, var45); + var43 = Rasterizer3D.Rasterizer3D_colorPalette[WorldMapEvent.method800(var42, 96)]; + } + + var63.addTile(var4, var13, var51, var35, var70, var40, var24, var25, var26, var27, class192.method3639(var32, var28), class192.method3639(var32, var29), class192.method3639(var32, var58), class192.method3639(var32, var31), WorldMapEvent.method800(var41, var28), WorldMapEvent.method800(var41, var29), WorldMapEvent.method800(var41, var58), WorldMapEvent.method800(var41, var31), var34, var43); + } + } + } + } + } + } + + for (var13 = 1; var13 < 103; ++var13) { + for (var14 = 1; var14 < 103; ++var14) { + var63.setTileMinPlane(var4, var14, var13, class189.method3606(var4, var14, var13)); + } + } + + Tiles.field501[var4] = null; + Tiles.field483[var4] = null; + DevicePcmPlayerProvider.field393[var4] = null; + class287.field3634[var4] = null; + Tiles.field486[var4] = null; + } + + var63.method3067(-50, -10, -50); + + for (var4 = 0; var4 < 104; ++var4) { + for (var5 = 0; var5 < 104; ++var5) { + if ((Tiles.Tiles_renderFlags[1][var4][var5] & 2) == 2) { + var63.setLinkBelow(var4, var5); + } + } + } + + var4 = 1; + var5 = 2; + var6 = 4; + + for (var65 = 0; var65 < 4; ++var65) { + if (var65 > 0) { + var4 <<= 3; + var5 <<= 3; + var6 <<= 3; + } + + for (var48 = 0; var48 <= var65; ++var48) { + for (var9 = 0; var9 <= 104; ++var9) { + for (var10 = 0; var10 <= 104; ++var10) { + short var68; + if ((Tiles.field488[var48][var10][var9] & var4) != 0) { + var11 = var9; + var66 = var9; + var13 = var48; + + for (var14 = var48; var11 > 0 && (Tiles.field488[var48][var10][var11 - 1] & var4) != 0; --var11) { + } + + while (var66 < 104 && (Tiles.field488[var48][var10][var66 + 1] & var4) != 0) { + ++var66; + } + + label901: + while (var13 > 0) { + for (var15 = var11; var15 <= var66; ++var15) { + if ((Tiles.field488[var13 - 1][var10][var15] & var4) == 0) { + break label901; + } + } + + --var13; + } + + label890: + while (var14 < var65) { + for (var15 = var11; var15 <= var66; ++var15) { + if ((Tiles.field488[var14 + 1][var10][var15] & var4) == 0) { + break label890; + } + } + + ++var14; + } + + var15 = (var66 - var11 + 1) * (var14 + 1 - var13); + if (var15 >= 8) { + var68 = 240; + var17 = Tiles.Tiles_heights[var14][var10][var11] - var68; + var18 = Tiles.Tiles_heights[var13][var10][var11]; + Scene.Scene_addOccluder(var65, 1, var10 * 128, var10 * 128, var11 * 128, var66 * 128 + 128, var17, var18); + + for (var51 = var13; var51 <= var14; ++var51) { + for (var20 = var11; var20 <= var66; ++var20) { + var10000 = Tiles.field488[var51][var10]; + var10000[var20] &= ~var4; + } + } + } + } + + if ((Tiles.field488[var48][var10][var9] & var5) != 0) { + var11 = var10; + var66 = var10; + var13 = var48; + + for (var14 = var48; var11 > 0 && (Tiles.field488[var48][var11 - 1][var9] & var5) != 0; --var11) { + } + + while (var66 < 104 && (Tiles.field488[var48][var66 + 1][var9] & var5) != 0) { + ++var66; + } + + label954: + while (var13 > 0) { + for (var15 = var11; var15 <= var66; ++var15) { + if ((Tiles.field488[var13 - 1][var15][var9] & var5) == 0) { + break label954; + } + } + + --var13; + } + + label943: + while (var14 < var65) { + for (var15 = var11; var15 <= var66; ++var15) { + if ((Tiles.field488[var14 + 1][var15][var9] & var5) == 0) { + break label943; + } + } + + ++var14; + } + + var15 = (var14 + 1 - var13) * (var66 - var11 + 1); + if (var15 >= 8) { + var68 = 240; + var17 = Tiles.Tiles_heights[var14][var11][var9] - var68; + var18 = Tiles.Tiles_heights[var13][var11][var9]; + Scene.Scene_addOccluder(var65, 2, var11 * 128, var66 * 128 + 128, var9 * 128, var9 * 128, var17, var18); + + for (var51 = var13; var51 <= var14; ++var51) { + for (var20 = var11; var20 <= var66; ++var20) { + var10000 = Tiles.field488[var51][var20]; + var10000[var9] &= ~var5; + } + } + } + } + + if ((Tiles.field488[var48][var10][var9] & var6) != 0) { + var11 = var10; + var66 = var10; + var13 = var9; + + for (var14 = var9; var13 > 0 && (Tiles.field488[var48][var10][var13 - 1] & var6) != 0; --var13) { + } + + while (var14 < 104 && (Tiles.field488[var48][var10][var14 + 1] & var6) != 0) { + ++var14; + } + + label1007: + while (var11 > 0) { + for (var15 = var13; var15 <= var14; ++var15) { + if ((Tiles.field488[var48][var11 - 1][var15] & var6) == 0) { + break label1007; + } + } + + --var11; + } + + label996: + while (var66 < 104) { + for (var15 = var13; var15 <= var14; ++var15) { + if ((Tiles.field488[var48][var66 + 1][var15] & var6) == 0) { + break label996; + } + } + + ++var66; + } + + if ((var14 - var13 + 1) * (var66 - var11 + 1) >= 4) { + var15 = Tiles.Tiles_heights[var48][var11][var13]; + Scene.Scene_addOccluder(var65, 4, var11 * 128, var66 * 128 + 128, var13 * 128, var14 * 128 + 128, var15, var15); + + for (var16 = var11; var16 <= var66; ++var16) { + for (var17 = var13; var17 <= var14; ++var17) { + var10000 = Tiles.field488[var48][var16]; + var10000[var17] &= ~var6; + } + } + } + } + } + } + } + } + + GrandExchangeOffer.method129(true); + var4 = Tiles.Tiles_minPlane; + if (var4 > WorldMapRectangle.plane) { + var4 = WorldMapRectangle.plane; + } + + if (var4 < WorldMapRectangle.plane - 1) { + var4 = WorldMapRectangle.plane - 1; + } + + if (Client.isLowDetail) { + PacketWriter.scene.init(Tiles.Tiles_minPlane); + } else { + PacketWriter.scene.init(0); + } + + for (var5 = 0; var5 < 104; ++var5) { + for (var6 = 0; var6 < 104; ++var6) { + WorldMapCacheName.updateItemPile(var5, var6); + } + } + + WorldMapID.playPcmPlayers(); + + for (PendingSpawn var72 = (PendingSpawn)Client.pendingSpawns.last(); var72 != null; var72 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var72.hitpoints == -1) { + var72.delay = 0; + GrandExchangeEvent.method88(var72); + } else { + var72.remove(); + } + } + + ObjectDefinition.ObjectDefinition_cachedModelData.clear(); + PacketBufferNode var73; + if (ViewportMouse.client.hasFrame()) { + var73 = InterfaceParent.getPacketBufferNode(ClientPacket.field2208, Client.packetWriter.isaacCipher); + var73.packetBuffer.writeInt(1057001181); + Client.packetWriter.addNode(var73); + } + + if (!Client.isInInstance) { + var5 = (ServerPacket.field2131 - 6) / 8; + var6 = (ServerPacket.field2131 + 6) / 8; + var65 = (MusicPatchNode.field2422 - 6) / 8; + var48 = (MusicPatchNode.field2422 + 6) / 8; + + for (var9 = var5 - 1; var9 <= var6 + 1; ++var9) { + for (var10 = var65 - 1; var10 <= var48 + 1; ++var10) { + if (var9 < var5 || var9 > var6 || var10 < var65 || var10 > var48) { + class3.archive5.loadRegionFromName("m" + var9 + "_" + var10); + class3.archive5.loadRegionFromName("l" + var9 + "_" + var10); + } + } + } + } + + MouseRecorder.updateGameState(30); + WorldMapID.playPcmPlayers(); + Friend.method5133(); + var73 = InterfaceParent.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var73); + WorldMapDecoration.method343(); + } + } + } + + @ObfuscatedName("hr") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "819665124" + ) + @Export("addCancelMenuEntry") + static void addCancelMenuEntry() { + ScriptEvent.method1205(); + Client.menuActions[0] = "Cancel"; + Client.menuTargets[0] = ""; + Client.menuOpcodes[0] = 1006; + Client.menuShiftClick[0] = false; + Client.menuOptionsCount = 1; + } +} diff --git a/runescape-client/src/main/java/KitDefinition.java b/runescape-client/src/main/java/KitDefinition.java index 7371235038..779d1474ce 100644 --- a/runescape-client/src/main/java/KitDefinition.java +++ b/runescape-client/src/main/java/KitDefinition.java @@ -1,246 +1,239 @@ -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("iq") -@Implements("KitDefinition") -public class KitDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("KitDefinition_archive") - static AbstractArchive KitDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("KitDefinition_modelsArchive") - static AbstractArchive KitDefinition_modelsArchive; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1420370697 - ) - @Export("KitDefinition_fileCount") - public static int KitDefinition_fileCount; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("KitDefinition_cached") - public static EvictingDualNodeHashTable KitDefinition_cached; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1458485787 - ) - @Export("bodypartID") - public int bodypartID; - @ObfuscatedName("u") - @Export("models2") - int[] models2; - @ObfuscatedName("j") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("v") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("d") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("z") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("n") - @Export("models") - int[] models; - @ObfuscatedName("h") - @Export("nonSelectable") - public boolean nonSelectable; - - static { - KitDefinition_cached = new EvictingDualNodeHashTable(64); - } - - KitDefinition() { - this.bodypartID = -1; - this.models = new int[]{-1, -1, -1, -1, -1}; - this.nonSelectable = false; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1412542037" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "502649905" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.bodypartID = var1.readUnsignedByte(); - } else { - int var3; - int var4; - if (var2 == 2) { - var3 = var1.readUnsignedByte(); - this.models2 = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.models2[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 3) { - this.nonSelectable = true; - } else if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 >= 60 && var2 < 70) { - this.models[var2 - 60] = var1.readUnsignedShort(); - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1419045770" - ) - @Export("ready") - public boolean ready() { - if (this.models2 == null) { - return true; - } else { - boolean var1 = true; - - for (int var2 = 0; var2 < this.models2.length; ++var2) { - if (!KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { - var1 = false; - } - } - - return var1; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(B)Lds;", - garbageValue = "-2" - ) - @Export("getModelData") - public ModelData getModelData() { - if (this.models2 == null) { - return null; - } else { - ModelData[] var1 = new ModelData[this.models2.length]; - - for (int var2 = 0; var2 < this.models2.length; ++var2) { - var1[var2] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models2[var2], 0); - } - - ModelData var4; - if (var1.length == 1) { - var4 = var1[0]; - } else { - var4 = new ModelData(var1, var1.length); - } - - int var3; - if (this.recolorFrom != null) { - for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { - var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); - } - } - - if (this.retextureFrom != null) { - for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { - var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); - } - } - - return var4; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-47118657" - ) - public boolean method4457() { - boolean var1 = true; - - for (int var2 = 0; var2 < 5; ++var2) { - if (this.models[var2] != -1 && !KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { - var1 = false; - } - } - - return var1; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(B)Lds;", - garbageValue = "-22" - ) - @Export("getKitDefinitionModels") - public ModelData getKitDefinitionModels() { - ModelData[] var1 = new ModelData[5]; - int var2 = 0; - - for (int var3 = 0; var3 < 5; ++var3) { - if (this.models[var3] != -1) { - var1[var2++] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models[var3], 0); - } - } - - ModelData var5 = new ModelData(var1, var2); - int var4; - if (this.recolorFrom != null) { - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { - var5.recolor(this.recolorFrom[var4], this.recolorTo[var4]); - } - } - - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var5.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } - - return var5; - } -} +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("iy") +@Implements("KitDefinition") +public class KitDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("KitDefinition_archive") + public static AbstractArchive KitDefinition_archive; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("KitDefinition_cached") + public static EvictingDualNodeHashTable KitDefinition_cached; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lho;" + ) + static Widget field3252; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1391426239 + ) + @Export("bodypartID") + public int bodypartID; + @ObfuscatedName("p") + @Export("models2") + int[] models2; + @ObfuscatedName("q") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("m") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("y") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("i") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("c") + @Export("models") + int[] models; + @ObfuscatedName("b") + @Export("nonSelectable") + public boolean nonSelectable; + + static { + KitDefinition_cached = new EvictingDualNodeHashTable(64); + } + + KitDefinition() { + this.bodypartID = -1; + this.models = new int[]{-1, -1, -1, -1, -1}; + this.nonSelectable = false; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "801046571" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "1307391521" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.bodypartID = var1.readUnsignedByte(); + } else { + int var3; + int var4; + if (var2 == 2) { + var3 = var1.readUnsignedByte(); + this.models2 = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.models2[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 3) { + this.nonSelectable = true; + } else if (var2 == 40) { + var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short)var1.readUnsignedShort(); + this.recolorTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 41) { + var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short)var1.readUnsignedShort(); + this.retextureTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 >= 60 && var2 < 70) { + this.models[var2 - 60] = var1.readUnsignedShort(); + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1837700521" + ) + @Export("ready") + public boolean ready() { + if (this.models2 == null) { + return true; + } else { + boolean var1 = true; + + for (int var2 = 0; var2 < this.models2.length; ++var2) { + if (!GrandExchangeOfferOwnWorldComparator.KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { + var1 = false; + } + } + + return var1; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)Ldw;", + garbageValue = "538019624" + ) + @Export("getModelData") + public ModelData getModelData() { + if (this.models2 == null) { + return null; + } else { + ModelData[] var1 = new ModelData[this.models2.length]; + + for (int var2 = 0; var2 < this.models2.length; ++var2) { + var1[var2] = ModelData.ModelData_get(GrandExchangeOfferOwnWorldComparator.KitDefinition_modelsArchive, this.models2[var2], 0); + } + + ModelData var4; + if (var1.length == 1) { + var4 = var1[0]; + } else { + var4 = new ModelData(var1, var1.length); + } + + int var3; + if (this.recolorFrom != null) { + for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { + var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); + } + } + + if (this.retextureFrom != null) { + for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { + var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); + } + } + + return var4; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-361074735" + ) + public boolean method4411() { + boolean var1 = true; + + for (int var2 = 0; var2 < 5; ++var2) { + if (this.models[var2] != -1 && !GrandExchangeOfferOwnWorldComparator.KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { + var1 = false; + } + } + + return var1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)Ldw;", + garbageValue = "-26" + ) + @Export("getKitDefinitionModels") + public ModelData getKitDefinitionModels() { + ModelData[] var1 = new ModelData[5]; + int var2 = 0; + + for (int var3 = 0; var3 < 5; ++var3) { + if (this.models[var3] != -1) { + var1[var2++] = ModelData.ModelData_get(GrandExchangeOfferOwnWorldComparator.KitDefinition_modelsArchive, this.models[var3], 0); + } + } + + ModelData var5 = new ModelData(var1, var2); + int var4; + if (this.recolorFrom != null) { + for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var5.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } + + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var5.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } + + return var5; + } +} diff --git a/runescape-client/src/main/java/Language.java b/runescape-client/src/main/java/Language.java index 818ee3ba92..9631e71322 100644 --- a/runescape-client/src/main/java/Language.java +++ b/runescape-client/src/main/java/Language.java @@ -1,190 +1,210 @@ -import java.util.Locale; -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("gf") -@Implements("Language") -public class Language implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("Language_EN") - public static final Language Language_EN; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("Language_DE") - static final Language Language_DE; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("Language_FR") - public static final Language Language_FR; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("Language_PT") - static final Language Language_PT; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("Language_NL") - static final Language Language_NL; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("Language_ES") - public static final Language Language_ES; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("Language_ES_MX") - static final Language Language_ES_MX; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "[Lgf;" - ) - @Export("Language_valuesOrdered") - public static final Language[] Language_valuesOrdered; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Ldy;" - ) - @Export("soundCache") - public static SoundCache soundCache; - @ObfuscatedName("v") - final String field2325; - @ObfuscatedName("d") - @Export("language") - final String language; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1512457825 - ) - @Export("id") - final int id; - - static { - Language_EN = new Language("EN", "en", "English", class192.field2345, 0, "GB"); - Language_DE = new Language("DE", "de", "German", class192.field2345, 1, "DE"); - Language_FR = new Language("FR", "fr", "French", class192.field2345, 2, "FR"); - Language_PT = new Language("PT", "pt", "Portuguese", class192.field2345, 3, "BR"); - Language_NL = new Language("NL", "nl", "Dutch", class192.field2340, 4, "NL"); - Language_ES = new Language("ES", "es", "Spanish", class192.field2340, 5, "ES"); - Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", class192.field2345, 6, "MX"); - Language[] var0 = new Language[]{Language_ES_MX, Language_PT, Language_NL, Language_EN, Language_FR, Language_DE, Language_ES}; - Language_valuesOrdered = new Language[var0.length]; - Language[] var2 = var0; - - for (int var3 = 0; var3 < var2.length; ++var3) { - Language var4 = var2[var3]; - if (Language_valuesOrdered[var4.id] != null) { - throw new IllegalStateException(); - } - - Language_valuesOrdered[var4.id] = var4; - } - - } - - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lgh;ILjava/lang/String;)V" - ) - Language(String var1, String var2, String var3, class192 var4, int var5, String var6) { - this.field2325 = var1; - this.language = var2; - this.id = var5; - if (var6 != null) { - new Locale(var2.substring(0, 2), var6); - } else { - new Locale(var2.substring(0, 2)); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "109" - ) - @Export("getLanguage") - String getLanguage() { - return this.language; - } - - public String toString() { - return this.getLanguage().toLowerCase(Locale.ENGLISH); - } - - public String aai() { - return this.getLanguage().toLowerCase(Locale.ENGLISH); - } - - public String aan() { - return this.getLanguage().toLowerCase(Locale.ENGLISH); - } - - public String aar() { - return this.getLanguage().toLowerCase(Locale.ENGLISH); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Lit;", - garbageValue = "120634659" - ) - public static VarbitDefinition method3627(int var0) { - VarbitDefinition var1 = (VarbitDefinition)VarbitDefinition.VarbitDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = VarbitDefinition.VarbitDefinition_archive.takeFile(14, var0); - var1 = new VarbitDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - VarbitDefinition.VarbitDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("x") - @Export("ViewportMouse_unpackX") - public static int ViewportMouse_unpackX(long var0) { - return (int)(var0 >>> 7 & 127L); - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "1883889552" - ) - static int method3634(int var0, int var1, int var2) { - if ((Tiles.Tiles_renderFlags[var0][var1][var2] & 8) != 0) { - return 0; - } else { - return var0 > 0 && (Tiles.Tiles_renderFlags[1][var1][var2] & 2) != 0 ? var0 - 1 : var0; - } - } -} +import java.util.Locale; +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("gt") +@Implements("Language") +public class Language implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("Language_EN") + public static final Language Language_EN; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("Language_DE") + static final Language Language_DE; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("Language_FR") + public static final Language Language_FR; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("Language_PT") + static final Language Language_PT; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("Language_NL") + static final Language Language_NL; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("Language_ES") + public static final Language Language_ES; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("Language_ES_MX") + static final Language Language_ES_MX; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "[Lgt;" + ) + @Export("Language_valuesOrdered") + static final Language[] Language_valuesOrdered; + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("worldSelectFlagSprites") + static IndexedSprite[] worldSelectFlagSprites; + @ObfuscatedName("dz") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive7") + static Archive archive7; + @ObfuscatedName("m") + final String field2338; + @ObfuscatedName("y") + @Export("language") + final String language; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1051697599 + ) + @Export("id") + final int id; + + static { + Language_EN = new Language("EN", "en", "English", class192.field2362, 0, "GB"); + Language_DE = new Language("DE", "de", "German", class192.field2362, 1, "DE"); + Language_FR = new Language("FR", "fr", "French", class192.field2362, 2, "FR"); + Language_PT = new Language("PT", "pt", "Portuguese", class192.field2362, 3, "BR"); + Language_NL = new Language("NL", "nl", "Dutch", class192.field2353, 4, "NL"); + Language_ES = new Language("ES", "es", "Spanish", class192.field2353, 5, "ES"); + Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", class192.field2362, 6, "MX"); + Language[] var0 = method3629(); + Language_valuesOrdered = new Language[var0.length]; + Language[] var1 = var0; + + for (int var2 = 0; var2 < var1.length; ++var2) { + Language var3 = var1[var2]; + if (Language_valuesOrdered[var3.id] != null) { + throw new IllegalStateException(); + } + + Language_valuesOrdered[var3.id] = var3; + } + + } + + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lgs;ILjava/lang/String;)V" + ) + Language(String var1, String var2, String var3, class192 var4, int var5, String var6) { + this.field2338 = var1; + this.language = var2; + this.id = var5; + if (var6 != null) { + new Locale(var2.substring(0, 2), var6); + } else { + new Locale(var2.substring(0, 2)); + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-1300604357" + ) + @Export("getLanguage") + String getLanguage() { + return this.language; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + public String toString() { + return this.getLanguage().toLowerCase(Locale.ENGLISH); + } + + public String aae() { + return this.getLanguage().toLowerCase(Locale.ENGLISH); + } + + public String aah() { + return this.getLanguage().toLowerCase(Locale.ENGLISH); + } + + public String aak() { + return this.getLanguage().toLowerCase(Locale.ENGLISH); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)[Lgt;", + garbageValue = "1567762755" + ) + static Language[] method3629() { + return new Language[]{Language_PT, Language_EN, Language_NL, Language_ES, Language_FR, Language_ES_MX, Language_DE}; + } + + @ObfuscatedName("n") + public static boolean method3627(long var0) { + boolean var2 = 0L != var0; + if (var2) { + boolean var3 = (int)(var0 >>> 16 & 1L) == 1; + var2 = !var3; + } + + return var2; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)Lgt;", + garbageValue = "-1627784008" + ) + public static Language method3612(int var0) { + return var0 >= 0 && var0 < Language_valuesOrdered.length ? Language_valuesOrdered[var0] : null; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "6522" + ) + @Export("savePreferences") + static void savePreferences() { + AccessFile var0 = null; + + try { + var0 = class185.getPreferencesFile("", class16.field101.name, true); + Buffer var1 = AbstractArchive.clientPreferences.toBuffer(); + var0.write(var1.array, 0, var1.offset); + } catch (Exception var3) { + } + + try { + if (var0 != null) { + var0.closeSync(true); + } + } catch (Exception var2) { + } + + } +} diff --git a/runescape-client/src/main/java/Link.java b/runescape-client/src/main/java/Link.java index 4d8385b5e5..cdcce75618 100644 --- a/runescape-client/src/main/java/Link.java +++ b/runescape-client/src/main/java/Link.java @@ -1,32 +1,32 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fx") -@Implements("Link") -public class Link { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfx;" - ) - @Export("previous") - public Link previous; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfx;" - ) - @Export("next") - public Link next; - - @ObfuscatedName("c") - @Export("remove") - public void remove() { - if (this.next != null) { - this.next.previous = this.previous; - this.previous.next = this.next; - this.previous = null; - this.next = null; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fs") +@Implements("Link") +public class Link { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfs;" + ) + @Export("previous") + public Link previous; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfs;" + ) + @Export("next") + public Link next; + + @ObfuscatedName("z") + @Export("remove") + public void remove() { + if (this.next != null) { + this.next.previous = this.previous; + this.previous.next = this.next; + this.previous = null; + this.next = null; + } + } +} diff --git a/runescape-client/src/main/java/LinkDeque.java b/runescape-client/src/main/java/LinkDeque.java index 2b6b5590eb..2a55fa91f5 100644 --- a/runescape-client/src/main/java/LinkDeque.java +++ b/runescape-client/src/main/java/LinkDeque.java @@ -1,75 +1,75 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jo") -@Implements("LinkDeque") -public class LinkDeque { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfx;" - ) - @Export("sentinel") - Link sentinel; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfx;" - ) - @Export("current") - Link current; - - public LinkDeque() { - this.sentinel = new Link(); - this.sentinel.previous = this.sentinel; - this.sentinel.next = this.sentinel; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lfx;)V" - ) - @Export("addFirst") - public void addFirst(Link var1) { - if (var1.next != null) { - var1.remove(); - } - - var1.next = this.sentinel.next; - var1.previous = this.sentinel; - var1.next.previous = var1; - var1.previous.next = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "()Lfx;" - ) - @Export("last") - public Link last() { - Link var1 = this.sentinel.previous; - if (var1 == this.sentinel) { - this.current = null; - return null; - } else { - this.current = var1.previous; - return var1; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "()Lfx;" - ) - @Export("previous") - public Link previous() { - Link var1 = this.current; - if (var1 == this.sentinel) { - this.current = null; - return null; - } else { - this.current = var1.previous; - return var1; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("je") +@Implements("LinkDeque") +public class LinkDeque { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfs;" + ) + @Export("sentinel") + Link sentinel; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfs;" + ) + @Export("current") + Link current; + + public LinkDeque() { + this.sentinel = new Link(); + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lfs;)V" + ) + @Export("addFirst") + public void addFirst(Link var1) { + if (var1.next != null) { + var1.remove(); + } + + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "()Lfs;" + ) + @Export("last") + public Link last() { + Link var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "()Lfs;" + ) + @Export("previous") + public Link previous() { + Link var1 = this.current; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } +} diff --git a/runescape-client/src/main/java/Login.java b/runescape-client/src/main/java/Login.java index d4321f6355..d3f6fe954a 100644 --- a/runescape-client/src/main/java/Login.java +++ b/runescape-client/src/main/java/Login.java @@ -1,223 +1,247 @@ -import java.text.DecimalFormat; -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("ca") -@Implements("Login") -public class Login { - @ObfuscatedName("x") - static boolean field1181; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 479838183 - ) - @Export("xPadding") - static int xPadding; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Llt;" - ) - @Export("titleboxSprite") - static IndexedSprite titleboxSprite; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lli;" - ) - @Export("leftTitleSprite") - static Sprite leftTitleSprite; - @ObfuscatedName("v") - @Export("ByteArrayPool_altSizeArrayCounts") - static int[] ByteArrayPool_altSizeArrayCounts; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Llt;" - ) - static IndexedSprite field1153; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Llt;" - ) - @Export("options_buttons_2Sprite") - static IndexedSprite options_buttons_2Sprite; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 236963295 - ) - @Export("loginBoxX") - static int loginBoxX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1854305915 - ) - @Export("Login_loadingPercent") - static int Login_loadingPercent; - @ObfuscatedName("m") - @Export("Login_loadingText") - static String Login_loadingText; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -1732800523 - ) - static int field1156; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 123946901 - ) - static int field1161; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -356113497 - ) - @Export("loginIndex") - static int loginIndex; - @ObfuscatedName("ab") - @Export("Login_response0") - static String Login_response0; - @ObfuscatedName("af") - @Export("Login_response1") - static String Login_response1; - @ObfuscatedName("ak") - @Export("Login_response2") - static String Login_response2; - @ObfuscatedName("ay") - @Export("Login_response3") - static String Login_response3; - @ObfuscatedName("ae") - @Export("Login_username") - static String Login_username; - @ObfuscatedName("ah") - @Export("Login_password") - static String Login_password; - @ObfuscatedName("am") - static boolean field1169; - @ObfuscatedName("aw") - static boolean field1170; - @ObfuscatedName("bn") - static boolean field1183; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = -533909079 - ) - @Export("currentLoginField") - static int currentLoginField; - @ObfuscatedName("bv") - @Export("worldSelectOpen") - static boolean worldSelectOpen; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = 574364551 - ) - @Export("hoveredWorldIndex") - static int hoveredWorldIndex; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = -1143147941 - ) - @Export("worldSelectPage") - static int worldSelectPage; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = -1385855305 - ) - @Export("worldSelectPagesCount") - static int worldSelectPagesCount; - @ObfuscatedName("be") - @ObfuscatedGetter( - longValue = 2260055487054663861L - ) - static long field1162; - @ObfuscatedName("bl") - @ObfuscatedGetter( - longValue = -6819623631366416043L - ) - static long field1164; - - static { - xPadding = 0; - loginBoxX = xPadding + 202; - Login_loadingPercent = 10; - Login_loadingText = ""; - field1156 = -1; - field1161 = 1; - loginIndex = 0; - Login_response0 = ""; - Login_response1 = ""; - Login_response2 = ""; - Login_response3 = ""; - Login_username = ""; - Login_password = ""; - field1169 = false; - field1170 = false; - field1183 = true; - currentLoginField = 0; - worldSelectOpen = false; - hoveredWorldIndex = -1; - worldSelectPage = 0; - worldSelectPagesCount = 0; - new DecimalFormat("##0.00"); - new class162(); - field1162 = -1L; - field1164 = -1L; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-387768527" - ) - public static void method2051() { - while (true) { - ArchiveDiskAction var0; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - var0 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast(); - } - - if (var0 == null) { - return; - } - - var0.archive.load(var0.archiveDisk, (int)var0.key, var0.data, false); - } - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(IZII)V", - garbageValue = "-12269440" - ) - @Export("PcmPlayer_configure") - public static final void PcmPlayer_configure(int var0, boolean var1, int var2) { - if (var0 >= 8000 && var0 <= 48000) { - GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate = var0; - PcmPlayer.PcmPlayer_stereo = var1; - GrandExchangeEvents.PcmPlayer_count = var2; - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("fk") - @ObfuscatedSignature( - signature = "(Lbe;I)V", - garbageValue = "697733270" - ) - static final void method2075(Actor var0) { - if (var0.field964 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > class83.SequenceDefinition_get(var0.sequence).frameLengths[var0.sequenceFrame]) { - int var1 = var0.field964 - var0.field963; - int var2 = Client.cycle - var0.field963; - int var3 = var0.field959 * 128 + var0.size * 64; - int var4 = var0.field961 * 128 + var0.size * 64; - int var5 = var0.field960 * 128 + var0.size * 64; - int var6 = var0.field962 * 128 + var0.size * 64; - var0.x = (var5 * var2 + var3 * (var1 - var2)) / var1 * 62504387; - var0.y = (var6 * var2 + var4 * (var1 - var2)) / var1; - } - - var0.field975 = 0; - var0.orientation = var0.field965; - var0.rotation = var0.orientation; - } -} +import java.text.DecimalFormat; +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.ScriptOpcodes; + +@ObfuscatedName("cd") +@Implements("Login") +public class Login { + @ObfuscatedName("n") + static boolean field1160; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1085278935 + ) + @Export("xPadding") + static int xPadding; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("runesSprite") + static IndexedSprite[] runesSprite; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Llp;" + ) + static IndexedSprite field1163; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1106370935 + ) + @Export("loginBoxX") + static int loginBoxX; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1258124087 + ) + @Export("Login_loadingPercent") + static int Login_loadingPercent; + @ObfuscatedName("j") + @Export("Login_loadingText") + static String Login_loadingText; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 1751945439 + ) + static int field1174; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -1223310887 + ) + static int field1171; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -857433701 + ) + @Export("loginIndex") + static int loginIndex; + @ObfuscatedName("ad") + @Export("Login_response0") + static String Login_response0; + @ObfuscatedName("an") + @Export("Login_response1") + static String Login_response1; + @ObfuscatedName("ai") + @Export("Login_response2") + static String Login_response2; + @ObfuscatedName("ak") + @Export("Login_response3") + static String Login_response3; + @ObfuscatedName("aq") + @Export("Login_username") + static String Login_username; + @ObfuscatedName("am") + @Export("Login_password") + static String Login_password; + @ObfuscatedName("au") + static boolean field1176; + @ObfuscatedName("af") + static boolean field1192; + @ObfuscatedName("bh") + static boolean field1183; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = -1323916819 + ) + @Export("currentLoginField") + static int currentLoginField; + @ObfuscatedName("bs") + @Export("worldSelectOpen") + static boolean worldSelectOpen; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = 1218721579 + ) + @Export("hoveredWorldIndex") + static int hoveredWorldIndex; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = 838409867 + ) + @Export("worldSelectPage") + static int worldSelectPage; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = -94881399 + ) + @Export("worldSelectPagesCount") + static int worldSelectPagesCount; + @ObfuscatedName("by") + @ObfuscatedGetter( + longValue = 5865138585351193781L + ) + static long field1181; + @ObfuscatedName("bq") + @ObfuscatedGetter( + longValue = 4842998671579245891L + ) + static long field1177; + @ObfuscatedName("dn") + @ObfuscatedSignature( + signature = "Lfv;" + ) + @Export("js5SocketTask") + static Task js5SocketTask; + + static { + xPadding = 0; + loginBoxX = xPadding + 202; + Login_loadingPercent = 10; + Login_loadingText = ""; + field1174 = -1; + field1171 = 1; + loginIndex = 0; + Login_response0 = ""; + Login_response1 = ""; + Login_response2 = ""; + Login_response3 = ""; + Login_username = ""; + Login_password = ""; + field1176 = false; + field1192 = false; + field1183 = true; + currentLoginField = 0; + worldSelectOpen = false; + hoveredWorldIndex = -1; + worldSelectPage = 0; + worldSelectPagesCount = 0; + new DecimalFormat("##0.00"); + new class162(); + field1181 = -1L; + field1177 = -1L; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "432150558" + ) + static int method2111(int var0, Script var1, boolean var2) { + int var3 = -1; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = Canvas.getWidget(var3); + } else { + var4 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + } + + if (var0 == ScriptOpcodes.CC_SETPOSITION) { + Interpreter.Interpreter_intStackSize -= 4; + var4.rawX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4.rawY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var4.xAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var4.yAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + WorldMapSectionType.invalidateWidget(var4); + ViewportMouse.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSIZE) { + Interpreter.Interpreter_intStackSize -= 4; + var4.rawWidth = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4.rawHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var4.widthAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var4.heightAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + WorldMapSectionType.invalidateWidget(var4); + ViewportMouse.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHIDE) { + boolean var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (var5 != var4.isHidden) { + var4.isHidden = var5; + WorldMapSectionType.invalidateWidget(var4); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { + var4.noClickThrough = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { + var4.noScrollThrough = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-161600604" + ) + static final int method2096(int var0, int var1) { + int var2 = class160.method3412(var0 - 1, var1 - 1) + class160.method3412(var0 + 1, var1 - 1) + class160.method3412(var0 - 1, 1 + var1) + class160.method3412(1 + var0, var1 + 1); + int var3 = class160.method3412(var0 - 1, var1) + class160.method3412(var0 + 1, var1) + class160.method3412(var0, var1 - 1) + class160.method3412(var0, var1 + 1); + int var4 = class160.method3412(var0, var1); + return var2 / 16 + var3 / 8 + var4 / 4; + } + + @ObfuscatedName("ge") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "8" + ) + static void method2110() { + int var0 = Players.Players_count; + int[] var1 = Players.Players_indices; + + for (int var2 = 0; var2 < var0; ++var2) { + if (var1[var2] != Client.combatTargetPlayerIndex && var1[var2] != Client.localPlayerIndex) { + Players.addPlayerToScene(Client.players[var1[var2]], true); + } + } + + } +} diff --git a/runescape-client/src/main/java/LoginPacket.java b/runescape-client/src/main/java/LoginPacket.java index 8878c4e601..a6e127b299 100644 --- a/runescape-client/src/main/java/LoginPacket.java +++ b/runescape-client/src/main/java/LoginPacket.java @@ -1,76 +1,769 @@ -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("gz") -@Implements("LoginPacket") -public class LoginPacket implements class181 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgz;" - ) - public static final LoginPacket field2291; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgz;" - ) - static final LoginPacket field2288; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lgz;" - ) - public static final LoginPacket field2289; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgz;" - ) - public static final LoginPacket field2290; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgz;" - ) - static final LoginPacket field2295; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "[Lgz;" - ) - @Export("LoginPacket_indexedValues") - static final LoginPacket[] LoginPacket_indexedValues; - @ObfuscatedName("ef") - @ObfuscatedGetter( - intValue = 922550263 - ) - @Export("port3") - static int port3; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1283459325 - ) - @Export("id") - public final int id; - - static { - field2291 = new LoginPacket(14, 0); - field2288 = new LoginPacket(15, 4); - field2289 = new LoginPacket(16, -2); - field2290 = new LoginPacket(18, -2); - field2295 = new LoginPacket(27, 0); - LoginPacket_indexedValues = new LoginPacket[32]; - LoginPacket[] var0 = class13.method139(); - - for (int var1 = 0; var1 < var0.length; ++var1) { - LoginPacket_indexedValues[var0[var1].id] = var0[var1]; - } - - } - - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "0" - ) - LoginPacket(int var1, int var2) { - this.id = var1; - } -} +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("ge") +@Implements("LoginPacket") +public class LoginPacket implements class181 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lge;" + ) + public static final LoginPacket field2289; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lge;" + ) + static final LoginPacket field2288; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lge;" + ) + public static final LoginPacket field2287; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lge;" + ) + public static final LoginPacket field2290; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lge;" + ) + static final LoginPacket field2291; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "[Lge;" + ) + @Export("LoginPacket_indexedValues") + static final LoginPacket[] LoginPacket_indexedValues; + @ObfuscatedName("ff") + @ObfuscatedSignature( + signature = "Lfv;" + ) + @Export("socketTask") + static Task socketTask; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1737377539 + ) + @Export("id") + public final int id; + + static { + field2289 = new LoginPacket(14, 0); + field2288 = new LoginPacket(15, 4); + field2287 = new LoginPacket(16, -2); + field2290 = new LoginPacket(18, -2); + field2291 = new LoginPacket(27, 0); + LoginPacket_indexedValues = new LoginPacket[32]; + LoginPacket[] var0 = class192.method3640(); + + for (int var1 = 0; var1 < var0.length; ++var1) { + LoginPacket_indexedValues[var0[var1].id] = var0[var1]; + } + + } + + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "0" + ) + LoginPacket(int var1, int var2) { + this.id = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Lcu;", + garbageValue = "-1747084073" + ) + @Export("getScript") + static Script getScript(int var0) { + Script var1 = (Script)Script.Script_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = GrandExchangeOfferOwnWorldComparator.archive12.takeFile(var0, 0); + if (var2 == null) { + return null; + } else { + var1 = class3.newScript(var2); + Script.Script_cached.put(var1, (long)var0); + return var1; + } + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lbh;S)V", + garbageValue = "21228" + ) + static void method3581(GameShell var0) { + int var4; + if (Login.worldSelectOpen) { + while (true) { + if (!DynamicObject.isKeyDown()) { + if (MouseHandler.MouseHandler_lastButton != 1 && (WorldMapIcon_1.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) { + break; + } + + int var1 = Login.xPadding + 280; + if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(0, 0); + break; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(0, 1); + break; + } + + int var2 = Login.xPadding + 390; + if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(1, 0); + break; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(1, 1); + break; + } + + int var17 = Login.xPadding + 500; + if (MouseHandler.MouseHandler_lastPressedX >= var17 && MouseHandler.MouseHandler_lastPressedX <= var17 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(2, 0); + break; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var17 + 15 && MouseHandler.MouseHandler_lastPressedX <= var17 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(2, 1); + break; + } + + var4 = Login.xPadding + 610; + if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(3, 0); + break; + } + + if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class192.changeWorldSelectSorting(3, 1); + break; + } + + if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { + Coord.method3964(); + break; + } + + if (Login.hoveredWorldIndex != -1) { + World var5 = World.World_worlds[Login.hoveredWorldIndex]; + class4.changeWorld(var5); + Coord.method3964(); + } else { + if (Login.worldSelectPage > 0 && WorldMapIcon_0.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= WorldMapIcon_0.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= WallDecoration.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= WallDecoration.canvasHeight / 2 + 50) { + --Login.worldSelectPage; + } + + if (Login.worldSelectPage < Login.worldSelectPagesCount && HealthBar.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= FloorDecoration.canvasWidth - HealthBar.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= FloorDecoration.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= WallDecoration.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= WallDecoration.canvasHeight / 2 + 50) { + ++Login.worldSelectPage; + } + } + break; + } + + if (SecureRandomFuture.field1230 == 13) { + Coord.method3964(); + break; + } + + if (SecureRandomFuture.field1230 == 96) { + if (Login.worldSelectPage > 0 && WorldMapIcon_0.worldSelectLeftSprite != null) { + --Login.worldSelectPage; + } + } else if (SecureRandomFuture.field1230 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && HealthBar.worldSelectRightSprite != null) { + ++Login.worldSelectPage; + } + } + + } else { + if ((MouseHandler.MouseHandler_lastButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { + AbstractArchive.clientPreferences.titleMusicDisabled = !AbstractArchive.clientPreferences.titleMusicDisabled; + Language.savePreferences(); + if (!AbstractArchive.clientPreferences.titleMusicDisabled) { + UserComparator4.method3345(class225.archive6, "scape main", "", 255, false); + } else { + VertexNormal.method2956(); + } + } + + if (Client.gameState != 5) { + if (Login.field1181 == -1L) { + Login.field1181 = class30.method566() + 1000L; + } + + long var12 = class30.method566(); + boolean var3; + if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { + while (true) { + if (Client.archiveLoaderArchive >= Client.archiveLoaders.size()) { + var3 = true; + break; + } + + ArchiveLoader var15 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive); + if (!var15.isLoaded()) { + var3 = false; + break; + } + + ++Client.archiveLoaderArchive; + } + } else { + var3 = true; + } + + if (var3 && Login.field1177 == -1L) { + Login.field1177 = var12; + if (Login.field1177 > Login.field1181) { + Login.field1181 = Login.field1177; + } + } + + if (Client.gameState == 10 || Client.gameState == 11) { + if (WorldMapLabelSize.clientLanguage == Language.Language_EN) { + if (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { + var4 = Login.xPadding + 5; + short var14 = 463; + byte var6 = 100; + byte var7 = 35; + if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var6 + var4 && MouseHandler.MouseHandler_lastPressedY >= var14 && MouseHandler.MouseHandler_lastPressedY <= var14 + var7) { + if (BufferedNetSocket.loadWorlds()) { + Login.worldSelectOpen = true; + Login.worldSelectPage = 0; + Login.worldSelectPagesCount = 0; + } + + return; + } + } + + if (class51.World_request != null && BufferedNetSocket.loadWorlds()) { + Login.worldSelectOpen = true; + Login.worldSelectPage = 0; + Login.worldSelectPagesCount = 0; + } + } + + var4 = MouseHandler.MouseHandler_lastButton; + int var25 = MouseHandler.MouseHandler_lastPressedX; + int var18 = MouseHandler.MouseHandler_lastPressedY; + if (var4 == 0) { + var25 = MouseHandler.MouseHandler_x; + var18 = MouseHandler.MouseHandler_y; + } + + if (!WorldMapIcon_1.mouseCam && var4 == 4) { + var4 = 1; + } + + int var8; + short var9; + if (Login.loginIndex == 0) { + boolean var19 = false; + + while (DynamicObject.isKeyDown()) { + if (SecureRandomFuture.field1230 == 84) { + var19 = true; + } + } + + var8 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 80; + var9 = 291; + if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { + ArchiveDiskActionHandler.openURL(FaceNormal.method3225("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); + } + + var8 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 80; + if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20 || var19) { + if ((Client.worldProperties & 33554432) != 0) { + Login.Login_response0 = ""; + Login.Login_response1 = "This is a Beta world."; + Login.Login_response2 = "Your normal account will not be affected."; + Login.Login_response3 = ""; + Login.loginIndex = 1; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } else if ((Client.worldProperties & 4) != 0) { + if ((Client.worldProperties & 1024) != 0) { + Login.Login_response1 = "This is a High Risk PvP world."; + Login.Login_response2 = "Players can attack each other almost everywhere"; + Login.Login_response3 = "and the Protect Item prayer won't work."; + } else { + Login.Login_response1 = "This is a PvP world."; + Login.Login_response2 = "Players can attack each other"; + Login.Login_response3 = "almost everywhere."; + } + + Login.Login_response0 = "Warning!"; + Login.loginIndex = 1; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } else if ((Client.worldProperties & 1024) != 0) { + Login.Login_response1 = "This is a High Risk world."; + Login.Login_response2 = "The Protect Item prayer will"; + Login.Login_response3 = "not work on this world."; + Login.Login_response0 = "Warning!"; + Login.loginIndex = 1; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } else { + TilePaint.method3039(false); + } + } + } else { + int var20; + short var22; + if (Login.loginIndex != 1) { + boolean var10; + int var11; + short var21; + if (Login.loginIndex == 2) { + var21 = 201; + var20 = var21 + 52; + if (var4 == 1 && var18 >= var20 - 12 && var18 < var20 + 2) { + Login.currentLoginField = 0; + } + + var20 += 15; + if (var4 == 1 && var18 >= var20 - 12 && var18 < var20 + 2) { + Login.currentLoginField = 1; + } + + var20 += 15; + var21 = 361; + if (LoginScreenAnimation.field1032 != null) { + var8 = LoginScreenAnimation.field1032.highX / 2; + if (var4 == 1 && var25 >= LoginScreenAnimation.field1032.lowX - var8 && var25 <= var8 + LoginScreenAnimation.field1032.lowX && var18 >= var21 - 15 && var18 < var21) { + switch(Login.field1171) { + case 1: + PlayerType.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); + Login.loginIndex = 5; + return; + case 2: + ArchiveDiskActionHandler.openURL("https://support.runescape.com/hc/en-gb", true, false); + } + } + } + + var8 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 80; + var9 = 321; + if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + PlayerType.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + PlayerType.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + PlayerType.setLoginResponseString("", "Connecting to server...", ""); + PlayerType.method4092(false); + MouseRecorder.updateGameState(20); + return; + } + + var8 = Login.loginBoxX + 180 + 80; + if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + class185.field2305 = 0; + DesktopPlatformInfoProvider.otp = ""; + Login.field1183 = true; + } + + var8 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + -117; + var9 = 277; + Login.field1176 = var25 >= var8 && var25 < var8 + class83.field1145 && var18 >= var9 && var18 < var9 + WorldMapCacheName.field286; + if (var4 == 1 && Login.field1176) { + Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; + if (!Client.Login_isUsernameRemembered && AbstractArchive.clientPreferences.rememberedUsername != null) { + AbstractArchive.clientPreferences.rememberedUsername = null; + Language.savePreferences(); + } + } + + var8 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 24; + var9 = 277; + Login.field1192 = var25 >= var8 && var25 < var8 + class83.field1145 && var18 >= var9 && var18 < var9 + WorldMapCacheName.field286; + if (var4 == 1 && Login.field1192) { + AbstractArchive.clientPreferences.hideUsername = !AbstractArchive.clientPreferences.hideUsername; + if (!AbstractArchive.clientPreferences.hideUsername) { + Login.Login_username = ""; + AbstractArchive.clientPreferences.rememberedUsername = null; + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + } + + Language.savePreferences(); + } + + while (true) { + while (DynamicObject.isKeyDown()) { + var10 = false; + + for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var11) { + if (KeyHandler.field381 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11)) { + var10 = true; + break; + } + } + + if (SecureRandomFuture.field1230 == 13) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + class185.field2305 = 0; + DesktopPlatformInfoProvider.otp = ""; + Login.field1183 = true; + } else if (Login.currentLoginField == 0) { + if (SecureRandomFuture.field1230 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (SecureRandomFuture.field1230 == 84 || SecureRandomFuture.field1230 == 80) { + Login.currentLoginField = 1; + } + + if (var10 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + KeyHandler.field381; + } + } else if (Login.currentLoginField == 1) { + if (SecureRandomFuture.field1230 == 85 && Login.Login_password.length() > 0) { + Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); + } + + if (SecureRandomFuture.field1230 == 84 || SecureRandomFuture.field1230 == 80) { + Login.currentLoginField = 0; + } + + if (SecureRandomFuture.field1230 == 84) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + PlayerType.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + PlayerType.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + PlayerType.setLoginResponseString("", "Connecting to server...", ""); + PlayerType.method4092(false); + MouseRecorder.updateGameState(20); + return; + } + + if (var10 && Login.Login_password.length() < 20) { + Login.Login_password = Login.Login_password + KeyHandler.field381; + } + } + } + + return; + } + } else if (Login.loginIndex == 3) { + var20 = Login.loginBoxX + 180; + var22 = 276; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + TilePaint.method3039(false); + } + + var20 = Login.loginBoxX + 180; + var22 = 326; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + PlayerType.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); + Login.loginIndex = 5; + return; + } + } else { + int var24; + if (Login.loginIndex == 4) { + var20 = Login.loginBoxX + 180 - 80; + var22 = 321; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + DesktopPlatformInfoProvider.otp.trim(); + if (DesktopPlatformInfoProvider.otp.length() != 6) { + PlayerType.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + class185.field2305 = Integer.parseInt(DesktopPlatformInfoProvider.otp); + DesktopPlatformInfoProvider.otp = ""; + PlayerType.method4092(true); + PlayerType.setLoginResponseString("", "Connecting to server...", ""); + MouseRecorder.updateGameState(20); + return; + } + + if (var4 == 1 && var25 >= Login.loginBoxX + 180 - 9 && var25 <= Login.loginBoxX + 180 + 130 && var18 >= 263 && var18 <= 296) { + Login.field1183 = !Login.field1183; + } + + if (var4 == 1 && var25 >= Login.loginBoxX + 180 - 34 && var25 <= Login.loginBoxX + 34 + 180 && var18 >= 351 && var18 <= 363) { + ArchiveDiskActionHandler.openURL(FaceNormal.method3225("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); + } + + var20 = Login.loginBoxX + 180 + 80; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + class185.field2305 = 0; + DesktopPlatformInfoProvider.otp = ""; + } + + while (DynamicObject.isKeyDown()) { + boolean var23 = false; + + for (var24 = 0; var24 < "1234567890".length(); ++var24) { + if (KeyHandler.field381 == "1234567890".charAt(var24)) { + var23 = true; + break; + } + } + + if (SecureRandomFuture.field1230 == 13) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + class185.field2305 = 0; + DesktopPlatformInfoProvider.otp = ""; + } else { + if (SecureRandomFuture.field1230 == 85 && DesktopPlatformInfoProvider.otp.length() > 0) { + DesktopPlatformInfoProvider.otp = DesktopPlatformInfoProvider.otp.substring(0, DesktopPlatformInfoProvider.otp.length() - 1); + } + + if (SecureRandomFuture.field1230 == 84) { + DesktopPlatformInfoProvider.otp.trim(); + if (DesktopPlatformInfoProvider.otp.length() != 6) { + PlayerType.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + class185.field2305 = Integer.parseInt(DesktopPlatformInfoProvider.otp); + DesktopPlatformInfoProvider.otp = ""; + PlayerType.method4092(true); + PlayerType.setLoginResponseString("", "Connecting to server...", ""); + MouseRecorder.updateGameState(20); + return; + } + + if (var23 && DesktopPlatformInfoProvider.otp.length() < 6) { + DesktopPlatformInfoProvider.otp = DesktopPlatformInfoProvider.otp + KeyHandler.field381; + } + } + } + } else if (Login.loginIndex == 5) { + var20 = Login.loginBoxX + 180 - 80; + var22 = 321; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + GrandExchangeOfferAgeComparator.method167(); + return; + } + + var20 = Login.loginBoxX + 180 + 80; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + TilePaint.method3039(true); + } + + var9 = 361; + if (class162.field1988 != null) { + var24 = class162.field1988.highX / 2; + if (var4 == 1 && var25 >= class162.field1988.lowX - var24 && var25 <= var24 + class162.field1988.lowX && var18 >= var9 - 15 && var18 < var9) { + ArchiveDiskActionHandler.openURL(FaceNormal.method3225("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); + } + } + + while (DynamicObject.isKeyDown()) { + var10 = false; + + for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var11) { + if (KeyHandler.field381 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11)) { + var10 = true; + break; + } + } + + if (SecureRandomFuture.field1230 == 13) { + TilePaint.method3039(true); + } else { + if (SecureRandomFuture.field1230 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (SecureRandomFuture.field1230 == 84) { + GrandExchangeOfferAgeComparator.method167(); + return; + } + + if (var10 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + KeyHandler.field381; + } + } + } + } else if (Login.loginIndex == 6) { + while (true) { + do { + if (!DynamicObject.isKeyDown()) { + var21 = 321; + if (var4 == 1 && var18 >= var21 - 20 && var18 <= var21 + 20) { + TilePaint.method3039(true); + } + + return; + } + } while(SecureRandomFuture.field1230 != 84 && SecureRandomFuture.field1230 != 13); + + TilePaint.method3039(true); + } + } else if (Login.loginIndex == 7) { + var20 = Login.loginBoxX + 180 - 80; + var22 = 321; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + ArchiveDiskActionHandler.openURL(FaceNormal.method3225("secure", true) + "m=dob/set_dob.ws", true, false); + PlayerType.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var20 = Login.loginBoxX + 180 + 80; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + TilePaint.method3039(true); + } + } else if (Login.loginIndex == 8) { + var20 = Login.loginBoxX + 180 - 80; + var22 = 321; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + ArchiveDiskActionHandler.openURL("https://www.jagex.com/terms/privacy/#eight", true, false); + PlayerType.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var20 = Login.loginBoxX + 180 + 80; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + TilePaint.method3039(true); + } + } else if (Login.loginIndex == 12) { + String var16 = ""; + switch(Login.field1174) { + case 0: + var16 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; + break; + case 1: + var16 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; + break; + default: + TilePaint.method3039(false); + } + + var8 = Login.loginBoxX + 180; + var9 = 276; + if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { + ArchiveDiskActionHandler.openURL(var16, true, false); + PlayerType.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var8 = Login.loginBoxX + 180; + var9 = 326; + if (var4 == 1 && var25 >= var8 - 75 && var25 <= var8 + 75 && var18 >= var9 - 20 && var18 <= var9 + 20) { + TilePaint.method3039(false); + } + } else if (Login.loginIndex == 24) { + var20 = Login.loginBoxX + 180; + var22 = 301; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + TilePaint.method3039(false); + } + } + } + } else { + while (DynamicObject.isKeyDown()) { + if (SecureRandomFuture.field1230 == 84) { + TilePaint.method3039(false); + } else if (SecureRandomFuture.field1230 == 13) { + Login.loginIndex = 0; + } + } + + var20 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 80; + var22 = 321; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + TilePaint.method3039(false); + } + + var20 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 80; + if (var4 == 1 && var25 >= var20 - 75 && var25 <= var20 + 75 && var18 >= var22 - 20 && var18 <= var22 + 20) { + Login.loginIndex = 0; + } + } + } + + } + } + } + } + + @ObfuscatedName("fi") + @ObfuscatedSignature( + signature = "(Lbi;III)V", + garbageValue = "1912035221" + ) + @Export("performPlayerAnimation") + static void performPlayerAnimation(Player var0, int var1, int var2) { + if (var0.sequence == var1 && var1 != -1) { + int var3 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var1).field3517; + if (var3 == 1) { + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field965 = 0; + } + + if (var3 == 2) { + var0.field965 = 0; + } + } else if (var1 == -1 || var0.sequence == -1 || GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var1).field3511 >= GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var0.sequence).field3511) { + var0.sequence = var1; + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field965 = 0; + var0.field988 = var0.pathLength; + } + + } +} diff --git a/runescape-client/src/main/java/LoginScreenAnimation.java b/runescape-client/src/main/java/LoginScreenAnimation.java index b716265f56..0abf9ffa6f 100644 --- a/runescape-client/src/main/java/LoginScreenAnimation.java +++ b/runescape-client/src/main/java/LoginScreenAnimation.java @@ -1,495 +1,567 @@ -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("ba") -@Implements("LoginScreenAnimation") -public class LoginScreenAnimation { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("sprites") - IndexedSprite[] sprites; - @ObfuscatedName("j") - int[] field1005; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1528929727 - ) - int field1006; - @ObfuscatedName("d") - int[] field1017; - @ObfuscatedName("z") - int[] field1008; - @ObfuscatedName("n") - int[] field1009; - @ObfuscatedName("h") - int[] field1004; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -514534825 - ) - int field1011; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1900853499 - ) - int field1012; - @ObfuscatedName("p") - int[] field1010; - @ObfuscatedName("e") - int[] field1001; - @ObfuscatedName("i") - int[] field1015; - @ObfuscatedName("q") - int[] field1016; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 2099067717 - ) - int field1014; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -2027806404 - ) - int field1018; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 707933173 - ) - int field1007; - - @ObfuscatedSignature( - signature = "([Llt;)V" - ) - LoginScreenAnimation(IndexedSprite[] var1) { - this.field1005 = new int[256]; - this.field1006 = 0; - this.field1011 = 0; - this.field1012 = 0; - this.field1014 = 0; - this.field1018 = 0; - this.field1007 = 0; - this.sprites = var1; - this.initColors(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1074416899" - ) - @Export("initColors") - void initColors() { - this.field1008 = new int[256]; - - int var1; - for (var1 = 0; var1 < 64; ++var1) { - this.field1008[var1] = var1 * 262144; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1008[var1 + 64] = var1 * 1024 + 16711680; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1008[var1 + 128] = var1 * 4 + 16776960; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1008[var1 + 192] = 16777215; - } - - this.field1009 = new int[256]; - - for (var1 = 0; var1 < 64; ++var1) { - this.field1009[var1] = var1 * 1024; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1009[var1 + 64] = var1 * 4 + 65280; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1009[var1 + 128] = var1 * 262144 + 65535; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1009[var1 + 192] = 16777215; - } - - this.field1004 = new int[256]; - - for (var1 = 0; var1 < 64; ++var1) { - this.field1004[var1] = var1 * 4; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1004[var1 + 64] = var1 * 262144 + 255; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1004[var1 + 128] = var1 * 1024 + 16711935; - } - - for (var1 = 0; var1 < 64; ++var1) { - this.field1004[var1 + 192] = 16777215; - } - - this.field1017 = new int[256]; - this.field1014 = 0; - this.field1015 = new int[32768]; - this.field1016 = new int[32768]; - this.method1793((IndexedSprite)null); - this.field1010 = new int[32768]; - this.field1001 = new int[32768]; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1305859350" - ) - void method1795() { - this.field1008 = null; - this.field1009 = null; - this.field1004 = null; - this.field1017 = null; - this.field1015 = null; - this.field1016 = null; - this.field1010 = null; - this.field1001 = null; - this.field1014 = 0; - this.field1018 = 0; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1547011185" - ) - @Export("draw") - void draw(int var1, int var2) { - if (this.field1010 == null) { - this.initColors(); - } - - if (this.field1007 == 0) { - this.field1007 = var2; - } - - int var3 = var2 - this.field1007; - if (var3 >= 256) { - var3 = 0; - } - - this.field1007 = var2; - if (var3 > 0) { - this.method1768(var3); - } - - this.method1801(var1); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "640214490" - ) - final void method1768(int var1) { - this.field1014 += 128 * var1; - int var2; - if (this.field1014 > this.field1015.length) { - this.field1014 -= this.field1015.length; - var2 = (int)(Math.random() * 12.0D); - this.method1793(this.sprites[var2]); - } - - var2 = 0; - int var3 = var1 * 128; - int var4 = (256 - var1) * 128; - - int var6; - for (int var5 = 0; var5 < var4; ++var5) { - var6 = this.field1010[var2 + var3] - this.field1015[var2 + this.field1014 & this.field1015.length - 1] * var1 / 6; - if (var6 < 0) { - var6 = 0; - } - - this.field1010[var2++] = var6; - } - - byte var15 = 10; - var6 = 128 - var15; - - int var7; - int var10; - for (var7 = 256 - var1; var7 < 256; ++var7) { - int var8 = var7 * 128; - - for (int var9 = 0; var9 < 128; ++var9) { - var10 = (int)(Math.random() * 100.0D); - if (var10 < 50 && var9 > var15 && var9 < var6) { - this.field1010[var9 + var8] = 255; - } else { - this.field1010[var9 + var8] = 0; - } - } - } - - if (this.field1011 * 16 > 0) { - this.field1011 = this.field1011 * 16 - var1 * 4; - } - - if (this.field1012 * 16 > 0) { - this.field1012 = this.field1012 * 16 - var1 * 4; - } - - if (this.field1011 * 16 == 0 && this.field1012 * 16 == 0) { - var7 = (int)(Math.random() * (double)(2000 / var1)); - if (var7 == 0) { - this.field1011 = 1024; - } - - if (var7 == 1) { - this.field1012 = 1024; - } - } - - for (var7 = 0; var7 < 256 - var1; ++var7) { - this.field1005[var7] = this.field1005[var7 + var1]; - } - - for (var7 = 256 - var1; var7 < 256; ++var7) { - this.field1005[var7] = (int)(Math.sin((double)this.field1006 / 14.0D) * 16.0D + Math.sin((double)this.field1006 / 15.0D) * 14.0D + Math.sin((double)this.field1006 / 16.0D) * 12.0D); - ++this.field1006; - } - - this.field1018 = this.field1018 * 10000 + var1 * 100; - var7 = ((Client.cycle & 1) + var1) / 2; - if (var7 > 0) { - short var16 = 128; - byte var17 = 2; - var10 = 128 - var17 - var17; - - int var11; - int var12; - int var13; - for (var11 = 0; var11 < this.field1018 * 10000; ++var11) { - var12 = (int)(Math.random() * (double)var10) + var17; - var13 = (int)(Math.random() * (double)var16) + var16; - this.field1010[var12 + (var13 << 7)] = 192; - } - - this.field1018 = 0; - - int var14; - for (var11 = 0; var11 < 256; ++var11) { - var12 = 0; - var13 = var11 * 128; - - for (var14 = -var7; var14 < 128; ++var14) { - if (var7 + var14 < 128) { - var12 += this.field1010[var7 + var13 + var14]; - } - - if (var14 - (var7 + 1) >= 0) { - var12 -= this.field1010[var14 + var13 - (var7 + 1)]; - } - - if (var14 >= 0) { - this.field1001[var13 + var14] = var12 / (var7 * 2 + 1); - } - } - } - - for (var11 = 0; var11 < 128; ++var11) { - var12 = 0; - - for (var13 = -var7; var13 < 256; ++var13) { - var14 = var13 * 128; - if (var13 + var7 < 256) { - var12 += this.field1001[var11 + var14 + var7 * 128]; - } - - if (var13 - (var7 + 1) >= 0) { - var12 -= this.field1001[var11 + var14 - (var7 + 1) * 128]; - } - - if (var13 >= 0) { - this.field1010[var14 + var11] = var12 / (var7 * 2 + 1); - } - } - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIIS)I", - garbageValue = "256" - ) - final int method1769(int var1, int var2, int var3) { - int var4 = 256 - var3; - return (var3 * (var2 & 65280) + var4 * (var1 & 65280) & 16711680) + (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) >> 8; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-495536529" - ) - final void method1801(int var1) { - int var2 = this.field1017.length; - if (this.field1011 * 16 > 0) { - this.method1771(this.field1011 * 16, this.field1009); - } else if (this.field1012 * 16 > 0) { - this.method1771(this.field1012 * 16, this.field1004); - } else { - for (int var3 = 0; var3 < var2; ++var3) { - this.field1017[var3] = this.field1008[var3]; - } - } - - this.method1770(var1); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I[IB)V", - garbageValue = "-27" - ) - final void method1771(int var1, int[] var2) { - int var3 = this.field1017.length; - - for (int var4 = 0; var4 < var3; ++var4) { - if (var1 > 768) { - this.field1017[var4] = this.method1769(this.field1008[var4], var2[var4], 1024 - var1); - } else if (var1 > 256) { - this.field1017[var4] = var2[var4]; - } else { - this.field1017[var4] = this.method1769(var2[var4], this.field1008[var4], 256 - var1); - } - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "8" - ) - final void method1770(int var1) { - int var2 = 0; - - for (int var3 = 1; var3 < 255; ++var3) { - int var4 = (256 - var3) * this.field1005[var3] / 256; - int var5 = var4 + var1; - int var6 = 0; - int var7 = 128; - if (var5 < 0) { - var6 = -var5; - var5 = 0; - } - - if (var5 + 128 >= DevicePcmPlayerProvider.rasterProvider.width) { - var7 = DevicePcmPlayerProvider.rasterProvider.width - var5; - } - - int var8 = var5 + (var3 + 8) * DevicePcmPlayerProvider.rasterProvider.width; - var2 += var6; - - for (int var9 = var6; var9 < var7; ++var9) { - int var10 = this.field1010[var2++]; - int var11 = var8 % Rasterizer2D.Rasterizer2D_width; - if (var10 != 0 && var11 >= Rasterizer2D.Rasterizer2D_xClipStart && var11 < Rasterizer2D.Rasterizer2D_xClipEnd) { - int var12 = var10; - int var13 = 256 - var10; - var10 = this.field1017[var10]; - int var14 = DevicePcmPlayerProvider.rasterProvider.pixels[var8]; - DevicePcmPlayerProvider.rasterProvider.pixels[var8++] = -16777216 | (var13 * (var14 & 65280) + var12 * (var10 & 65280) & 16711680) + ((var14 & 16711935) * var13 + (var10 & 16711935) * var12 & -16711936) >> 8; - } else { - ++var8; - } - } - - var2 += 128 - var7; - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Llt;I)V", - garbageValue = "833980793" - ) - final void method1793(IndexedSprite var1) { - int var2; - for (var2 = 0; var2 < this.field1015.length; ++var2) { - this.field1015[var2] = 0; - } - - int var3; - for (var2 = 0; var2 < 5000; ++var2) { - var3 = (int)(Math.random() * 128.0D * 256.0D); - this.field1015[var3] = (int)(Math.random() * 256.0D); - } - - int var4; - int var5; - for (var2 = 0; var2 < 20; ++var2) { - for (var3 = 1; var3 < 255; ++var3) { - for (var4 = 1; var4 < 127; ++var4) { - var5 = var4 + (var3 << 7); - this.field1016[var5] = (this.field1015[var5 + 128] + this.field1015[var5 - 128] + this.field1015[var5 + 1] + this.field1015[var5 - 1]) / 4; - } - } - - int[] var8 = this.field1015; - this.field1015 = this.field1016; - this.field1016 = var8; - } - - if (var1 != null) { - var2 = 0; - - for (var3 = 0; var3 < var1.subHeight; ++var3) { - for (var4 = 0; var4 < var1.subWidth; ++var4) { - if (var1.pixels[var2++] != 0) { - var5 = var4 + var1.xOffset + 16; - int var6 = var3 + var1.yOffset + 16; - int var7 = var5 + (var6 << 7); - this.field1015[var7] = 0; - } - } - } - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([I[IB)V", - garbageValue = "60" - ) - public static void method1802(int[] var0, int[] var1) { - if (var0 != null && var1 != null) { - ByteArrayPool.ByteArrayPool_alternativeSizes = var0; - Login.ByteArrayPool_altSizeArrayCounts = new int[var0.length]; - WorldMapEvent.ByteArrayPool_arrays = new byte[var0.length][][]; - - for (int var2 = 0; var2 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var2) { - WorldMapEvent.ByteArrayPool_arrays[var2] = new byte[var1[var2]][]; - } - - } else { - ByteArrayPool.ByteArrayPool_alternativeSizes = null; - Login.ByteArrayPool_altSizeArrayCounts = null; - WorldMapEvent.ByteArrayPool_arrays = null; - } - } -} +import java.net.MalformedURLException; +import java.net.URL; +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("br") +@Implements("LoginScreenAnimation") +public class LoginScreenAnimation { + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "Lll;" + ) + static Bounds field1032; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("sprites") + IndexedSprite[] sprites; + @ObfuscatedName("q") + int[] field1017; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 433825167 + ) + int field1018; + @ObfuscatedName("y") + int[] field1019; + @ObfuscatedName("i") + int[] field1030; + @ObfuscatedName("c") + int[] field1021; + @ObfuscatedName("b") + int[] field1022; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 1054808651 + ) + int field1023; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1416071611 + ) + int field1014; + @ObfuscatedName("e") + int[] field1020; + @ObfuscatedName("w") + int[] field1027; + @ObfuscatedName("t") + int[] field1031; + @ObfuscatedName("g") + int[] field1015; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 153935283 + ) + int field1029; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 456974096 + ) + int field1024; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -389038271 + ) + int field1025; + + @ObfuscatedSignature( + signature = "([Llp;)V" + ) + LoginScreenAnimation(IndexedSprite[] var1) { + this.field1017 = new int[256]; + this.field1018 = 0; + this.field1023 = 0; + this.field1014 = 0; + this.field1029 = 0; + this.field1024 = 0; + this.field1025 = 0; + this.sprites = var1; + this.initColors(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-27245818" + ) + @Export("initColors") + void initColors() { + this.field1030 = new int[256]; + + int var1; + for (var1 = 0; var1 < 64; ++var1) { + this.field1030[var1] = var1 * 262144; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1030[var1 + 64] = var1 * 1024 + 16711680; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1030[var1 + 128] = var1 * 4 + 16776960; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1030[var1 + 192] = 16777215; + } + + this.field1021 = new int[256]; + + for (var1 = 0; var1 < 64; ++var1) { + this.field1021[var1] = var1 * 1024; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1021[var1 + 64] = var1 * 4 + 65280; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1021[var1 + 128] = var1 * 262144 + 65535; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1021[var1 + 192] = 16777215; + } + + this.field1022 = new int[256]; + + for (var1 = 0; var1 < 64; ++var1) { + this.field1022[var1] = var1 * 4; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1022[var1 + 64] = var1 * 262144 + 255; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1022[var1 + 128] = var1 * 1024 + 16711935; + } + + for (var1 = 0; var1 < 64; ++var1) { + this.field1022[var1 + 192] = 16777215; + } + + this.field1019 = new int[256]; + this.field1029 = 0; + this.field1031 = new int[32768]; + this.field1015 = new int[32768]; + this.method1824((IndexedSprite)null); + this.field1020 = new int[32768]; + this.field1027 = new int[32768]; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1384251878" + ) + void method1817() { + this.field1030 = null; + this.field1021 = null; + this.field1022 = null; + this.field1019 = null; + this.field1031 = null; + this.field1015 = null; + this.field1020 = null; + this.field1027 = null; + this.field1029 = 0; + this.field1024 = 0; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-938798150" + ) + @Export("draw") + void draw(int var1, int var2) { + if (this.field1020 == null) { + this.initColors(); + } + + if (this.field1025 == 0) { + this.field1025 = var2; + } + + int var3 = var2 - this.field1025; + if (var3 >= 256) { + var3 = 0; + } + + this.field1025 = var2; + if (var3 > 0) { + this.method1819(var3); + } + + this.method1836(var1); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1108655518" + ) + final void method1819(int var1) { + this.field1029 += var1 * 128; + int var2; + if (this.field1029 > this.field1031.length) { + this.field1029 -= this.field1031.length; + var2 = (int)(Math.random() * 12.0D); + this.method1824(this.sprites[var2]); + } + + var2 = 0; + int var3 = var1 * 128; + int var4 = (256 - var1) * 128; + + int var6; + for (int var5 = 0; var5 < var4; ++var5) { + var6 = this.field1020[var2 + var3] - this.field1031[var2 + this.field1029 & this.field1031.length - 1] * var1 / 6; + if (var6 < 0) { + var6 = 0; + } + + this.field1020[var2++] = var6; + } + + byte var15 = 10; + var6 = 128 - var15; + + int var7; + int var10; + for (var7 = 256 - var1; var7 < 256; ++var7) { + int var8 = var7 * 128; + + for (int var9 = 0; var9 < 128; ++var9) { + var10 = (int)(Math.random() * 100.0D); + if (var10 < 50 && var9 > var15 && var9 < var6) { + this.field1020[var9 + var8] = 255; + } else { + this.field1020[var8 + var9] = 0; + } + } + } + + if (this.field1023 * 16 > 0) { + this.field1023 = this.field1023 * 16 - var1 * 4; + } + + if (this.field1014 * 16 > 0) { + this.field1014 = this.field1014 * 16 - var1 * 4; + } + + if (this.field1023 * 16 == 0 && this.field1014 * 16 == 0) { + var7 = (int)(Math.random() * (double)(2000 / var1)); + if (var7 == 0) { + this.field1023 = 1024; + } + + if (var7 == 1) { + this.field1014 = 1024; + } + } + + for (var7 = 0; var7 < 256 - var1; ++var7) { + this.field1017[var7] = this.field1017[var7 + var1]; + } + + for (var7 = 256 - var1; var7 < 256; ++var7) { + this.field1017[var7] = (int)(Math.sin((double)this.field1018 / 14.0D) * 16.0D + Math.sin((double)this.field1018 / 15.0D) * 14.0D + Math.sin((double)this.field1018 / 16.0D) * 12.0D); + ++this.field1018; + } + + this.field1024 = this.field1024 * 10000 + 10000 * var1; + var7 = ((Client.cycle & 1) + var1) / 2; + if (var7 > 0) { + short var16 = 128; + byte var17 = 2; + var10 = 128 - var17 - var17; + + int var11; + int var12; + int var13; + for (var11 = 0; var11 < this.field1024 * 100; ++var11) { + var12 = (int)(Math.random() * (double)var10) + var17; + var13 = (int)(Math.random() * (double)var16) + var16; + this.field1020[var12 + (var13 << 7)] = 192; + } + + this.field1024 = 0; + + int var14; + for (var11 = 0; var11 < 256; ++var11) { + var12 = 0; + var13 = var11 * 128; + + for (var14 = -var7; var14 < 128; ++var14) { + if (var14 + var7 < 128) { + var12 += this.field1020[var7 + var14 + var13]; + } + + if (var14 - (var7 + 1) >= 0) { + var12 -= this.field1020[var13 + var14 - (var7 + 1)]; + } + + if (var14 >= 0) { + this.field1027[var14 + var13] = var12 / (var7 * 2 + 1); + } + } + } + + for (var11 = 0; var11 < 128; ++var11) { + var12 = 0; + + for (var13 = -var7; var13 < 256; ++var13) { + var14 = var13 * 128; + if (var7 + var13 < 256) { + var12 += this.field1027[var7 * 128 + var14 + var11]; + } + + if (var13 - (var7 + 1) >= 0) { + var12 -= this.field1027[var14 + var11 - (var7 + 1) * 128]; + } + + if (var13 >= 0) { + this.field1020[var11 + var14] = var12 / (var7 * 2 + 1); + } + } + } + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IIII)I", + garbageValue = "1638746019" + ) + final int method1820(int var1, int var2, int var3) { + int var4 = 256 - var3; + return (var3 * (var2 & 65280) + var4 * (var1 & 65280) & 16711680) + (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) >> 8; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "97" + ) + final void method1836(int var1) { + int var2 = this.field1019.length; + if (this.field1023 * 16 > 0) { + this.method1822(this.field1023 * 16, this.field1021); + } else if (this.field1014 * 16 > 0) { + this.method1822(this.field1014 * 16, this.field1022); + } else { + for (int var3 = 0; var3 < var2; ++var3) { + this.field1019[var3] = this.field1030[var3]; + } + } + + this.method1823(var1); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I[II)V", + garbageValue = "-1982126918" + ) + final void method1822(int var1, int[] var2) { + int var3 = this.field1019.length; + + for (int var4 = 0; var4 < var3; ++var4) { + if (var1 > 768) { + this.field1019[var4] = this.method1820(this.field1030[var4], var2[var4], 1024 - var1); + } else if (var1 > 256) { + this.field1019[var4] = var2[var4]; + } else { + this.field1019[var4] = this.method1820(var2[var4], this.field1030[var4], 256 - var1); + } + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-224486060" + ) + final void method1823(int var1) { + int var2 = 0; + + for (int var3 = 1; var3 < 255; ++var3) { + int var4 = (256 - var3) * this.field1017[var3] / 256; + int var5 = var4 + var1; + int var6 = 0; + int var7 = 128; + if (var5 < 0) { + var6 = -var5; + var5 = 0; + } + + if (var5 + 128 >= class42.rasterProvider.width) { + var7 = class42.rasterProvider.width - var5; + } + + int var8 = var5 + (var3 + 8) * class42.rasterProvider.width; + var2 += var6; + + for (int var9 = var6; var9 < var7; ++var9) { + int var10 = this.field1020[var2++]; + int var11 = var8 % Rasterizer2D.Rasterizer2D_width; + if (var10 != 0 && var11 >= Rasterizer2D.Rasterizer2D_xClipStart && var11 < Rasterizer2D.Rasterizer2D_xClipEnd) { + int var12 = var10; + int var13 = 256 - var10; + var10 = this.field1019[var10]; + int var14 = class42.rasterProvider.pixels[var8]; + class42.rasterProvider.pixels[var8++] = -16777216 | ((var14 & 16711935) * var13 + (var10 & 16711935) * var12 & -16711936) + (var12 * (var10 & 65280) + var13 * (var14 & 65280) & 16711680) >> 8; + } else { + ++var8; + } + } + + var2 += 128 - var7; + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Llp;I)V", + garbageValue = "1363271921" + ) + final void method1824(IndexedSprite var1) { + int var2; + for (var2 = 0; var2 < this.field1031.length; ++var2) { + this.field1031[var2] = 0; + } + + int var3; + for (var2 = 0; var2 < 5000; ++var2) { + var3 = (int)(Math.random() * 128.0D * 256.0D); + this.field1031[var3] = (int)(Math.random() * 256.0D); + } + + int var4; + int var5; + for (var2 = 0; var2 < 20; ++var2) { + for (var3 = 1; var3 < 255; ++var3) { + for (var4 = 1; var4 < 127; ++var4) { + var5 = var4 + (var3 << 7); + this.field1015[var5] = (this.field1031[var5 + 1] + this.field1031[var5 + 128] + this.field1031[var5 - 128] + this.field1031[var5 - 1]) / 4; + } + } + + int[] var8 = this.field1031; + this.field1031 = this.field1015; + this.field1015 = var8; + } + + if (var1 != null) { + var2 = 0; + + for (var3 = 0; var3 < var1.subHeight; ++var3) { + for (var4 = 0; var4 < var1.subWidth; ++var4) { + if (var1.pixels[var2++] != 0) { + var5 = var4 + var1.xOffset + 16; + int var6 = var3 + var1.yOffset + 16; + int var7 = var5 + (var6 << 7); + this.field1031[var7] = 0; + } + } + } + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Z", + garbageValue = "666011978" + ) + @Export("isValidURL") + static boolean isValidURL(String var0) { + if (var0 == null) { + return false; + } else { + try { + new URL(var0); + return true; + } catch (MalformedURLException var2) { + return false; + } + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(CI)Z", + garbageValue = "1979853088" + ) + public static boolean method1839(char var0) { + if ((var0 <= 0 || var0 >= 128) && (var0 < 160 || var0 > 255)) { + if (var0 != 0) { + char[] var1 = class287.cp1252AsciiExtension; + + for (int var2 = 0; var2 < var1.length; ++var2) { + char var3 = var1[var2]; + if (var0 == var3) { + return true; + } + } + } + + return false; + } else { + return true; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Lho;IIII)V", + garbageValue = "1378912334" + ) + @Export("Widget_setKeyRate") + static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { + if (var0.field2586 == null) { + throw new RuntimeException(); + } else { + var0.field2586[var1] = var2; + var0.field2548[var1] = var3; + } + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "-1562433827" + ) + static int method1844(byte[] var0, int var1, int var2) { + int var3 = -1; + + for (int var4 = var1; var4 < var2; ++var4) { + var3 = var3 >>> 8 ^ Buffer.crc32Table[(var3 ^ var0[var4]) & 255]; + } + + var3 = ~var3; + return var3; + } + + @ObfuscatedName("kh") + @ObfuscatedSignature( + signature = "([BII)V", + garbageValue = "-2002563170" + ) + static void method1828(byte[] var0, int var1) { + if (Client.randomDatData == null) { + Client.randomDatData = new byte[24]; + } + + class300.writeRandomDat(var0, var1, Client.randomDatData, 0, 24); + } +} diff --git a/runescape-client/src/main/java/LoginType.java b/runescape-client/src/main/java/LoginType.java index bb246f7897..d1d8893121 100644 --- a/runescape-client/src/main/java/LoginType.java +++ b/runescape-client/src/main/java/LoginType.java @@ -1,104 +1,104 @@ -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("ll") -@Implements("LoginType") -public class LoginType { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lll;" - ) - @Export("oldscape") - public static final LoginType oldscape; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lll;" - ) - static final LoginType field4030; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lll;" - ) - static final LoginType field4032; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lll;" - ) - static final LoginType field4027; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lll;" - ) - static final LoginType field4028; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lll;" - ) - static final LoginType field4025; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lll;" - ) - static final LoginType field4026; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lll;" - ) - static final LoginType field4031; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lll;" - ) - public static final LoginType field4024; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -295742569 - ) - final int field4033; - @ObfuscatedName("n") - final String field4034; - - static { - oldscape = new LoginType(6, 0, "", ""); - field4030 = new LoginType(1, 1, "", ""); - field4032 = new LoginType(8, 2, "", ""); - field4027 = new LoginType(0, 3, "", ""); - field4028 = new LoginType(3, 4, "", ""); - field4025 = new LoginType(7, 5, "", ""); - field4026 = new LoginType(4, 6, "", ""); - field4031 = new LoginType(2, 7, "", ""); - field4024 = new LoginType(5, -1, "", "", true, new LoginType[]{oldscape, field4030, field4032, field4028, field4027}); - } - - LoginType(int var1, int var2, String var3, String var4) { - this.field4033 = var1; - this.field4034 = var4; - } - - @ObfuscatedSignature( - signature = "(IILjava/lang/String;Ljava/lang/String;Z[Lll;)V" - ) - LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { - this.field4033 = var1; - this.field4034 = var4; - } - - public String toString() { - return this.field4034; - } - - public String aai() { - return this.field4034; - } - - public String aan() { - return this.field4034; - } - - public String aar() { - return this.field4034; - } -} +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("li") +@Implements("LoginType") +public class LoginType { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lli;" + ) + @Export("oldscape") + public static final LoginType oldscape; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lli;" + ) + static final LoginType field4026; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lli;" + ) + static final LoginType field4029; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lli;" + ) + static final LoginType field4025; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lli;" + ) + static final LoginType field4028; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lli;" + ) + static final LoginType field4027; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lli;" + ) + static final LoginType field4024; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lli;" + ) + static final LoginType field4031; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lli;" + ) + public static final LoginType field4032; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1653780659 + ) + final int field4033; + @ObfuscatedName("c") + final String field4034; + + static { + oldscape = new LoginType(7, 0, "", ""); + field4026 = new LoginType(5, 1, "", ""); + field4029 = new LoginType(6, 2, "", ""); + field4025 = new LoginType(2, 3, "", ""); + field4028 = new LoginType(4, 4, "", ""); + field4027 = new LoginType(0, 5, "", ""); + field4024 = new LoginType(8, 6, "", ""); + field4031 = new LoginType(3, 7, "", ""); + field4032 = new LoginType(1, -1, "", "", true, new LoginType[]{oldscape, field4026, field4029, field4028, field4025}); + } + + LoginType(int var1, int var2, String var3, String var4) { + this.field4033 = var1; + this.field4034 = var4; + } + + @ObfuscatedSignature( + signature = "(IILjava/lang/String;Ljava/lang/String;Z[Lli;)V" + ) + LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { + this.field4033 = var1; + this.field4034 = var4; + } + + public String aak() { + return this.field4034; + } + + public String toString() { + return this.field4034; + } + + public String aah() { + return this.field4034; + } + + public String aae() { + return this.field4034; + } +} diff --git a/runescape-client/src/main/java/MenuAction.java b/runescape-client/src/main/java/MenuAction.java index 93ffd0482c..61aa96341f 100644 --- a/runescape-client/src/main/java/MenuAction.java +++ b/runescape-client/src/main/java/MenuAction.java @@ -1,307 +1,121 @@ -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -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("cv") -@Implements("MenuAction") -public class MenuAction { - @ObfuscatedName("sc") - @ObfuscatedSignature( - signature = "Lir;" - ) - public static class237 field1133; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -957076537 - ) - @Export("argument1") - int argument1; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1185532013 - ) - @Export("argument2") - int argument2; - @ObfuscatedName("t") - @Export("action") - String action; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1890178357 - ) - @Export("opcode") - int opcode; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1424798217 - ) - @Export("argument0") - int argument0; - - MenuAction() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(CI)B", - garbageValue = "1656481861" - ) - @Export("charToByteCp1252") - public static byte charToByteCp1252(char var0) { - byte var1; - if (var0 > 0 && var0 < 128 || var0 >= 160 && var0 <= 255) { - var1 = (byte)var0; - } else if (var0 == 8364) { - var1 = -128; - } else if (var0 == 8218) { - var1 = -126; - } else if (var0 == 402) { - var1 = -125; - } else if (var0 == 8222) { - var1 = -124; - } else if (var0 == 8230) { - var1 = -123; - } else if (var0 == 8224) { - var1 = -122; - } else if (var0 == 8225) { - var1 = -121; - } else if (var0 == 710) { - var1 = -120; - } else if (var0 == 8240) { - var1 = -119; - } else if (var0 == 352) { - var1 = -118; - } else if (var0 == 8249) { - var1 = -117; - } else if (var0 == 338) { - var1 = -116; - } else if (var0 == 381) { - var1 = -114; - } else if (var0 == 8216) { - var1 = -111; - } else if (var0 == 8217) { - var1 = -110; - } else if (var0 == 8220) { - var1 = -109; - } else if (var0 == 8221) { - var1 = -108; - } else if (var0 == 8226) { - var1 = -107; - } else if (var0 == 8211) { - var1 = -106; - } else if (var0 == 8212) { - var1 = -105; - } else if (var0 == 732) { - var1 = -104; - } else if (var0 == 8482) { - var1 = -103; - } else if (var0 == 353) { - var1 = -102; - } else if (var0 == 8250) { - var1 = -101; - } else if (var0 == 339) { - var1 = -100; - } else if (var0 == 382) { - var1 = -98; - } else if (var0 == 376) { - var1 = -97; - } else { - var1 = 63; - } - - return var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgf;I)I", - garbageValue = "2140897413" - ) - @Export("compareStrings") - public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { - int var3 = var0.length(); - int var4 = var1.length(); - int var5 = 0; - int var6 = 0; - byte var7 = 0; - byte var8 = 0; - - while (var5 - var7 < var3 || var6 - var8 < var4) { - if (var5 - var7 >= var3) { - return -1; - } - - if (var6 - var8 >= var4) { - return 1; - } - - char var9; - if (var7 != 0) { - var9 = (char)var7; - boolean var14 = false; - } else { - var9 = var0.charAt(var5++); - } - - char var10; - if (var8 != 0) { - var10 = (char)var8; - boolean var15 = false; - } else { - var10 = var1.charAt(var6++); - } - - byte var11; - if (var9 == 198) { - var11 = 69; - } else if (var9 == 230) { - var11 = 101; - } else if (var9 == 223) { - var11 = 115; - } else if (var9 == 338) { - var11 = 69; - } else if (var9 == 339) { - var11 = 101; - } else { - var11 = 0; - } - - var7 = var11; - byte var12; - if (var10 == 198) { - var12 = 69; - } else if (var10 == 230) { - var12 = 101; - } else if (var10 == 223) { - var12 = 115; - } else if (var10 == 338) { - var12 = 69; - } else if (var10 == 339) { - var12 = 101; - } else { - var12 = 0; - } - - var8 = var12; - var9 = ScriptEvent.standardizeChar(var9, var2); - var10 = ScriptEvent.standardizeChar(var10, var2); - if (var9 != var10 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { - var9 = Character.toLowerCase(var9); - var10 = Character.toLowerCase(var10); - if (var9 != var10) { - return class286.lowercaseChar(var9, var2) - class286.lowercaseChar(var10, var2); - } - } - } - - int var16 = Math.min(var3, var4); - - int var17; - char var20; - for (var17 = 0; var17 < var16; ++var17) { - if (var2 == Language.Language_FR) { - var5 = var3 - 1 - var17; - var6 = var4 - 1 - var17; - } else { - var6 = var17; - var5 = var17; - } - - char var18 = var0.charAt(var5); - var20 = var1.charAt(var6); - if (var18 != var20 && Character.toUpperCase(var18) != Character.toUpperCase(var20)) { - var18 = Character.toLowerCase(var18); - var20 = Character.toLowerCase(var20); - if (var18 != var20) { - return class286.lowercaseChar(var18, var2) - class286.lowercaseChar(var20, var2); - } - } - } - - var17 = var3 - var4; - if (var17 != 0) { - return var17; - } else { - for (int var19 = 0; var19 < var16; ++var19) { - var20 = var0.charAt(var19); - char var13 = var1.charAt(var19); - if (var13 != var20) { - return class286.lowercaseChar(var20, var2) - class286.lowercaseChar(var13, var2); - } - } - - return 0; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lgw;Lld;I)Lgj;", - garbageValue = "-1868071262" - ) - @Export("getPacketBufferNode") - public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) { - PacketBufferNode var2 = Skills.method4100(); - var2.clientPacket = var0; - var2.clientPacketLength = var0.length; - if (var2.clientPacketLength == -1) { - var2.packetBuffer = new PacketBuffer(260); - } else if (var2.clientPacketLength == -2) { - var2.packetBuffer = new PacketBuffer(10000); - } else if (var2.clientPacketLength <= 18) { - var2.packetBuffer = new PacketBuffer(20); - } else if (var2.clientPacketLength <= 98) { - var2.packetBuffer = new PacketBuffer(100); - } else { - var2.packetBuffer = new PacketBuffer(260); - } - - var2.packetBuffer.setIsaacCipher(var1); - var2.packetBuffer.writeByteIsaac(var2.clientPacket.id); - var2.index = 0; - return var2; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1306167256" - ) - static void method2034() { - try { - File var0 = new File(Message.userHomeDirectory, "random.dat"); - int var2; - if (var0.exists()) { - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); - } else { - label39: - for (int var1 = 0; var1 < NetFileRequest.field3096.length; ++var1) { - for (var2 = 0; var2 < GrandExchangeOfferWorldComparator.field30.length; ++var2) { - File var3 = new File(GrandExchangeOfferWorldComparator.field30[var2] + NetFileRequest.field3096[var1] + File.separatorChar + "random.dat"); - if (var3.exists()) { - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0); - break label39; - } - } - } - } - - 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) { - } - - } -} +import java.io.IOException; +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("cs") +@Implements("MenuAction") +public class MenuAction { + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 237272937 + ) + @Export("PcmPlayer_count") + public static int PcmPlayer_count; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1746809863 + ) + @Export("opcode") + int opcode; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -950426859 + ) + @Export("argument1") + int argument1; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -290789191 + ) + @Export("argument2") + int argument2; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1009688897 + ) + @Export("argument0") + int argument0; + @ObfuscatedName("r") + @Export("action") + String action; + + MenuAction() { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lky;ZS)V", + garbageValue = "-32250" + ) + public static void method2063(AbstractSocket var0, boolean var1) { + if (NetCache.NetCache_socket != null) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var6) { + } + + NetCache.NetCache_socket = null; + } + + NetCache.NetCache_socket = var0; + DirectByteArrayCopier.method3915(var1); + NetCache.NetCache_responseHeaderBuffer.offset = 0; + WorldMapEvent.NetCache_currentResponse = null; + FaceNormal.NetCache_responseArchiveBuffer = null; + NetCache.field3140 = 0; + + while (true) { + NetFileRequest var2 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); + if (var2 == null) { + while (true) { + var2 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); + if (var2 == null) { + if (NetCache.field3156 != 0) { + try { + Buffer var7 = new Buffer(4); + var7.writeByte(4); + var7.writeByte(NetCache.field3156); + var7.writeShort(0); + NetCache.NetCache_socket.write(var7.array, 0, 4); + } catch (IOException var5) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var4) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + } + } + + NetCache.NetCache_loadTime = 0; + NetCache.field3142 = class30.method566(); + return; + } + + NetCache.NetCache_pendingWritesQueue.addLast(var2); + NetCache.NetCache_pendingWrites.put(var2, var2.key); + ++NetCache.NetCache_pendingWritesCount; + --NetCache.NetCache_pendingResponsesCount; + } + } + + NetCache.NetCache_pendingPriorityWrites.put(var2, var2.key); + ++NetCache.NetCache_pendingPriorityWritesCount; + --NetCache.NetCache_pendingPriorityResponsesCount; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1201643852" + ) + public static final void method2062() { + ViewportMouse.ViewportMouse_isInViewport = false; + ViewportMouse.ViewportMouse_entityCount = 0; + } +} diff --git a/runescape-client/src/main/java/Message.java b/runescape-client/src/main/java/Message.java index 4241476f08..6faa303109 100644 --- a/runescape-client/src/main/java/Message.java +++ b/runescape-client/src/main/java/Message.java @@ -1,583 +1,201 @@ -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("bj") -@Implements("Message") -public class Message extends DualNode { - @ObfuscatedName("m") - @Export("userHomeDirectory") - static String userHomeDirectory; - @ObfuscatedName("du") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive12") - static Archive archive12; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 849621615 - ) - @Export("count") - int count; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 416570399 - ) - @Export("cycle") - int cycle; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1614999863 - ) - @Export("type") - int type; - @ObfuscatedName("g") - @Export("sender") - String sender; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Ljt;" - ) - @Export("senderUsername") - Username senderUsername; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("isFromFriend0") - TriBool isFromFriend0; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("isFromIgnored0") - TriBool isFromIgnored0; - @ObfuscatedName("v") - @Export("prefix") - String prefix; - @ObfuscatedName("d") - @Export("text") - String text; - - Message(int var1, String var2, String var3, String var4) { - this.isFromFriend0 = TriBool.TriBool_unknown; - this.isFromIgnored0 = TriBool.TriBool_unknown; - this.set(var1, var2, var3, var4); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "1266691950" - ) - @Export("set") - void set(int var1, String var2, String var3, String var4) { - this.count = WorldMapCacheName.method594(); - this.cycle = Client.cycle; - this.type = var1; - this.sender = var2; - this.fillSenderUsername(); - this.prefix = var3; - this.text = var4; - this.clearIsFromFriend(); - this.clearIsFromIgnored(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-886481837" - ) - @Export("clearIsFromFriend") - void clearIsFromFriend() { - this.isFromFriend0 = TriBool.TriBool_unknown; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-475593576" - ) - @Export("isFromFriend") - final boolean isFromFriend() { - if (this.isFromFriend0 == TriBool.TriBool_unknown) { - this.fillIsFromFriend(); - } - - return this.isFromFriend0 == TriBool.TriBool_true; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2097510211" - ) - @Export("fillIsFromFriend") - void fillIsFromFriend() { - this.isFromFriend0 = class218.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-116" - ) - @Export("clearIsFromIgnored") - void clearIsFromIgnored() { - this.isFromIgnored0 = TriBool.TriBool_unknown; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "471055582" - ) - @Export("isFromIgnored") - final boolean isFromIgnored() { - if (this.isFromIgnored0 == TriBool.TriBool_unknown) { - this.fillIsFromIgnored(); - } - - return this.isFromIgnored0 == TriBool.TriBool_true; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "206412484" - ) - @Export("fillIsFromIgnored") - void fillIsFromIgnored() { - this.isFromIgnored0 = class218.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "361058639" - ) - @Export("fillSenderUsername") - final void fillSenderUsername() { - if (this.sender != null) { - this.senderUsername = new Username(GrandExchangeEvents.method68(this.sender), class4.loginType); - } else { - this.senderUsername = null; - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkt;II)Z", - garbageValue = "-693352027" - ) - @Export("updateExternalPlayer") - static boolean updateExternalPlayer(PacketBuffer var0, int var1) { - int var2 = var0.readBits(2); - int var3; - int var4; - int var7; - int var8; - int var9; - int var10; - if (var2 == 0) { - if (var0.readBits(1) != 0) { - updateExternalPlayer(var0, var1); - } - - var3 = var0.readBits(13); - var4 = var0.readBits(13); - boolean var12 = var0.readBits(1) == 1; - if (var12) { - Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; - } - - if (Client.players[var1] != null) { - throw new RuntimeException(); - } else { - Player var6 = Client.players[var1] = new Player(); - var6.index = var1; - if (Players.field1221[var1] != null) { - var6.read(Players.field1221[var1]); - } - - var6.orientation = Players.Players_orientations[var1]; - var6.targetIndex = Players.Players_targetIndices[var1]; - var7 = Players.Players_regions[var1]; - var8 = var7 >> 28; - var9 = var7 >> 14 & 255; - var10 = var7 & 255; - var6.pathTraversed[0] = Players.field1220[var1]; - var6.plane = (byte)var8; - var6.resetPath((var9 << 13) + var3 - class4.baseX * 64, (var10 << 13) + var4 - ScriptEvent.baseY); - var6.field607 = false; - return true; - } - } else if (var2 == 1) { - var3 = var0.readBits(2); - var4 = Players.Players_regions[var1]; - Players.Players_regions[var1] = (((var4 >> 28) + var3 & 3) << 28) + (var4 & 268435455); - return false; - } else { - int var5; - int var11; - if (var2 == 2) { - var3 = var0.readBits(5); - var4 = var3 >> 3; - var5 = var3 & 7; - var11 = Players.Players_regions[var1]; - var7 = (var11 >> 28) + var4 & 3; - var8 = var11 >> 14 & 255; - var9 = var11 & 255; - if (var5 == 0) { - --var8; - --var9; - } - - if (var5 == 1) { - --var9; - } - - if (var5 == 2) { - ++var8; - --var9; - } - - if (var5 == 3) { - --var8; - } - - if (var5 == 4) { - ++var8; - } - - if (var5 == 5) { - --var8; - ++var9; - } - - if (var5 == 6) { - ++var9; - } - - if (var5 == 7) { - ++var8; - ++var9; - } - - Players.Players_regions[var1] = (var8 << 14) + var9 + (var7 << 28); - return false; - } else { - var3 = var0.readBits(18); - var4 = var3 >> 16; - var5 = var3 >> 8 & 255; - var11 = var3 & 255; - var7 = Players.Players_regions[var1]; - var8 = (var7 >> 28) + var4 & 3; - var9 = var5 + (var7 >> 14) & 255; - var10 = var7 + var11 & 255; - Players.Players_regions[var1] = (var9 << 14) + var10 + (var8 << 28); - return false; - } - } - } - - @ObfuscatedName("hq") - @ObfuscatedSignature( - signature = "(IIIIIIII)V", - garbageValue = "1478792847" - ) - @Export("addPendingSpawnToScene") - static final void addPendingSpawnToScene(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (var2 >= 1 && var3 >= 1 && var2 <= 102 && var3 <= 102) { - if (Client.isLowDetail && var0 != MouseRecorder.plane) { - return; - } - - long var7 = 0L; - boolean var9 = true; - boolean var10 = false; - boolean var11 = false; - if (var1 == 0) { - var7 = WorldMapIcon_1.scene.getBoundaryObjectTag(var0, var2, var3); - } - - if (var1 == 1) { - var7 = WorldMapIcon_1.scene.getWallDecorationTag(var0, var2, var3); - } - - if (var1 == 2) { - var7 = WorldMapIcon_1.scene.getGameObjectTag(var0, var2, var3); - } - - if (var1 == 3) { - var7 = WorldMapIcon_1.scene.getFloorDecorationTag(var0, var2, var3); - } - - int var12; - if (0L != var7) { - var12 = WorldMapIcon_1.scene.getObjectFlags(var0, var2, var3, var7); - int var39 = SecureRandomFuture.Entity_unpackID(var7); - int var40 = var12 & 31; - int var41 = var12 >> 6 & 3; - ObjectDefinition var13; - if (var1 == 0) { - WorldMapIcon_1.scene.removeBoundaryObject(var0, var2, var3); - var13 = WallDecoration.getObjectDefinition(var39); - if (var13.interactType != 0) { - Client.collisionMaps[var0].method3536(var2, var3, var40, var41, var13.boolean1); - } - } - - if (var1 == 1) { - WorldMapIcon_1.scene.removeWallDecoration(var0, var2, var3); - } - - if (var1 == 2) { - WorldMapIcon_1.scene.removeGameObject(var0, var2, var3); - var13 = WallDecoration.getObjectDefinition(var39); - if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) { - return; - } - - if (var13.interactType != 0) { - Client.collisionMaps[var0].setFlagOffNonSquare(var2, var3, var13.sizeX, var13.sizeY, var41, var13.boolean1); - } - } - - if (var1 == 3) { - WorldMapIcon_1.scene.removeFloorDecoration(var0, var2, var3); - var13 = WallDecoration.getObjectDefinition(var39); - if (var13.interactType == 1) { - Client.collisionMaps[var0].method3541(var2, var3); - } - } - } - - if (var4 >= 0) { - var12 = var0; - if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { - var12 = var0 + 1; - } - - Scene var42 = WorldMapIcon_1.scene; - CollisionMap var14 = Client.collisionMaps[var0]; - ObjectDefinition var15 = WallDecoration.getObjectDefinition(var4); - int var16; - int var17; - if (var5 != 1 && var5 != 3) { - var16 = var15.sizeX; - var17 = var15.sizeY; - } else { - var16 = var15.sizeY; - var17 = var15.sizeX; - } - - int var18; - int var19; - if (var16 + var2 <= 104) { - var18 = (var16 >> 1) + var2; - var19 = var2 + (var16 + 1 >> 1); - } else { - var18 = var2; - var19 = var2 + 1; - } - - int var20; - int var21; - if (var3 + var17 <= 104) { - var20 = var3 + (var17 >> 1); - var21 = var3 + (var17 + 1 >> 1); - } else { - var20 = var3; - var21 = var3 + 1; - } - - int[][] var22 = Tiles.Tiles_heights[var12]; - int var23 = var22[var18][var21] + var22[var18][var20] + var22[var19][var20] + var22[var19][var21] >> 2; - int var24 = (var2 << 7) + (var16 << 6); - int var25 = (var3 << 7) + (var17 << 6); - long var26 = WorldMapIcon_1.calculateTag(var2, var3, 2, var15.int1 == 0, var4); - int var28 = (var5 << 6) + var6; - if (var15.int3 == 1) { - var28 += 256; - } - - Object var29; - if (var6 == 22) { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(22, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, 22, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newFloorDecoration(var0, var2, var3, var23, (Entity)var29, var26, var28); - if (var15.interactType == 1) { - var14.setBlockedByFloorDec(var2, var3); - } - } else if (var6 != 10 && var6 != 11) { - if (var6 >= 12) { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(var6, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.method3051(var0, var2, var3, var23, 1, 1, (Entity)var29, 0, var26, var28); - if (var15.interactType != 0) { - var14.addGameObject(var2, var3, var16, var17, var15.boolean1); - } - } else if (var6 == 0) { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(0, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, 0, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field480[var5], 0, var26, var28); - if (var15.interactType != 0) { - var14.method3534(var2, var3, var6, var5, var15.boolean1); - } - } else if (var6 == 1) { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(1, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, 1, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field481[var5], 0, var26, var28); - if (var15.interactType != 0) { - var14.method3534(var2, var3, var6, var5, var15.boolean1); - } - } else { - int var35; - if (var6 == 2) { - var35 = var5 + 1 & 3; - Object var30; - Object var31; - if (var15.animationId == -1 && var15.transforms == null) { - var30 = var15.getModel(2, var5 + 4, var22, var24, var23, var25); - var31 = var15.getModel(2, var35, var22, var24, var23, var25); - } else { - var30 = new DynamicObject(var4, 2, var5 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); - var31 = new DynamicObject(var4, 2, var35, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var30, (Entity)var31, Tiles.field480[var5], Tiles.field480[var35], var26, var28); - if (var15.interactType != 0) { - var14.method3534(var2, var3, var6, var5, var15.boolean1); - } - } else if (var6 == 3) { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(3, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, 3, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field481[var5], 0, var26, var28); - if (var15.interactType != 0) { - var14.method3534(var2, var3, var6, var5, var15.boolean1); - } - } else if (var6 == 9) { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(var6, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.method3051(var0, var2, var3, var23, 1, 1, (Entity)var29, 0, var26, var28); - if (var15.interactType != 0) { - var14.addGameObject(var2, var3, var16, var17, var15.boolean1); - } - } else if (var6 == 4) { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(4, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, 4, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newWallDecoration(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field480[var5], 0, 0, 0, var26, var28); - } else { - Object var32; - long var36; - if (var6 == 5) { - var35 = 16; - var36 = var42.getBoundaryObjectTag(var0, var2, var3); - if (0L != var36) { - var35 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var36)).int2; - } - - if (var15.animationId == -1 && var15.transforms == null) { - var32 = var15.getModel(4, var5, var22, var24, var23, var25); - } else { - var32 = new DynamicObject(var4, 4, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)null, Tiles.field480[var5], 0, var35 * Tiles.field482[var5], var35 * Tiles.field487[var5], var26, var28); - } else if (var6 == 6) { - var35 = 8; - var36 = var42.getBoundaryObjectTag(var0, var2, var3); - if (var36 != 0L) { - var35 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var36)).int2 / 2; - } - - if (var15.animationId == -1 && var15.transforms == null) { - var32 = var15.getModel(4, var5 + 4, var22, var24, var23, var25); - } else { - var32 = new DynamicObject(var4, 4, var5 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)null, 256, var5, var35 * Tiles.field484[var5], var35 * Tiles.field485[var5], var26, var28); - } else if (var6 == 7) { - int var38 = var5 + 2 & 3; - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(4, var38 + 4, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, 4, var38 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newWallDecoration(var0, var2, var3, var23, (Entity)var29, (Entity)null, 256, var38, 0, 0, var26, var28); - } else if (var6 == 8) { - var35 = 8; - var36 = var42.getBoundaryObjectTag(var0, var2, var3); - if (0L != var36) { - var35 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var36)).int2 / 2; - } - - int var34 = var5 + 2 & 3; - Object var33; - if (var15.animationId == -1 && var15.transforms == null) { - var32 = var15.getModel(4, var5 + 4, var22, var24, var23, var25); - var33 = var15.getModel(4, var34 + 4, var22, var24, var23, var25); - } else { - var32 = new DynamicObject(var4, 4, var5 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); - var33 = new DynamicObject(var4, 4, var34 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)var33, 256, var5, var35 * Tiles.field484[var5], var35 * Tiles.field485[var5], var26, var28); - } - } - } - } else { - if (var15.animationId == -1 && var15.transforms == null) { - var29 = var15.getModel(10, var5, var22, var24, var23, var25); - } else { - var29 = new DynamicObject(var4, 10, var5, var12, var2, var3, var15.animationId, true, (Entity)null); - } - - if (var29 != null) { - var42.method3051(var0, var2, var3, var23, var16, var17, (Entity)var29, var6 == 11 ? 256 : 0, var26, var28); - } - - if (var15.interactType != 0) { - var14.addGameObject(var2, var3, var16, var17, var15.boolean1); - } - } - } - } - - } -} +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("be") +@Implements("Message") +public class Message extends DualNode { + @ObfuscatedName("eh") + @ObfuscatedGetter( + intValue = -1928576619 + ) + static int field592; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 36313413 + ) + @Export("count") + int count; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1483460383 + ) + @Export("cycle") + int cycle; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -991694021 + ) + @Export("type") + int type; + @ObfuscatedName("u") + @Export("sender") + String sender; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Ljq;" + ) + @Export("senderUsername") + Username senderUsername; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("isFromFriend0") + TriBool isFromFriend0; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("isFromIgnored0") + TriBool isFromIgnored0; + @ObfuscatedName("m") + @Export("prefix") + String prefix; + @ObfuscatedName("y") + @Export("text") + String text; + + Message(int var1, String var2, String var3, String var4) { + this.isFromFriend0 = TriBool.TriBool_unknown; + this.isFromIgnored0 = TriBool.TriBool_unknown; + this.set(var1, var2, var3, var4); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)V", + garbageValue = "29" + ) + @Export("set") + void set(int var1, String var2, String var3, String var4) { + int var5 = ++Messages.Messages_count - 1; + this.count = var5; + this.cycle = Client.cycle; + this.type = var1; + this.sender = var2; + this.fillSenderUsername(); + this.prefix = var3; + this.text = var4; + this.clearIsFromFriend(); + this.clearIsFromIgnored(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "10" + ) + @Export("clearIsFromFriend") + void clearIsFromFriend() { + this.isFromFriend0 = TriBool.TriBool_unknown; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1794465193" + ) + @Export("isFromFriend") + final boolean isFromFriend() { + if (this.isFromFriend0 == TriBool.TriBool_unknown) { + this.fillIsFromFriend(); + } + + return this.isFromFriend0 == TriBool.TriBool_true; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1169950855" + ) + @Export("fillIsFromFriend") + void fillIsFromFriend() { + this.isFromFriend0 = Tiles.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1690653176" + ) + @Export("clearIsFromIgnored") + void clearIsFromIgnored() { + this.isFromIgnored0 = TriBool.TriBool_unknown; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-759719202" + ) + @Export("isFromIgnored") + final boolean isFromIgnored() { + if (this.isFromIgnored0 == TriBool.TriBool_unknown) { + this.fillIsFromIgnored(); + } + + return this.isFromIgnored0 == TriBool.TriBool_true; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1328990032" + ) + @Export("fillIsFromIgnored") + void fillIsFromIgnored() { + this.isFromIgnored0 = Tiles.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1885223886" + ) + @Export("fillSenderUsername") + final void fillSenderUsername() { + if (this.sender != null) { + this.senderUsername = new Username(WorldMapSectionType.method250(this.sender), WorldMapSection1.loginType); + } else { + this.senderUsername = null; + } + + } + + @ObfuscatedName("fk") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "2017032545" + ) + @Export("queueSoundEffect") + static void queueSoundEffect(int var0, int var1, int var2) { + if (Client.soundEffectVolume != 0 && var1 != 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var0; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var1; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var2; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = 0; + ++Client.soundEffectCount; + } + + } + + @ObfuscatedName("gi") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "200131202" + ) + static final void method1231(int var0, int var1) { + if (Client.hintArrowType == 2) { + PlayerAppearance.worldToScreen(Client.hintArrowSubX * 64 + (Client.hintArrowX - class223.baseX * 64 << 7), Client.hintArrowSubY * 64 + (Client.hintArrowY - class286.baseY * 64 << 7), Client.hintArrowHeight * 4); + if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { + ReflectionCheck.headIconHintSprites[0].drawTransBgAt(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); + } + + } + } +} diff --git a/runescape-client/src/main/java/Messages.java b/runescape-client/src/main/java/Messages.java index b644b46feb..2d3828d7d5 100644 --- a/runescape-client/src/main/java/Messages.java +++ b/runescape-client/src/main/java/Messages.java @@ -1,392 +1,397 @@ -import java.util.HashMap; -import java.util.Map; -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.ScriptOpcodes; - -@ObfuscatedName("cw") -@Implements("Messages") -public class Messages { - @ObfuscatedName("c") - @Export("Messages_channels") - static final Map Messages_channels; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("Messages_hashTable") - static final IterableNodeHashTable Messages_hashTable; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Ljn;" - ) - @Export("Messages_queue") - static final IterableDualNodeQueue Messages_queue; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1338946421 - ) - @Export("Messages_count") - static int Messages_count; - - static { - Messages_channels = new HashMap(); - Messages_hashTable = new IterableNodeHashTable(1024); - Messages_queue = new IterableDualNodeQueue(); - Messages_count = 0; - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "-1499618076" - ) - static int method2194(int var0, Script var1, boolean var2) { - String var3; - if (var0 == ScriptOpcodes.MES) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - WorldMapCacheName.addGameMessage(0, "", var3); - return 1; - } else if (var0 == ScriptOpcodes.ANIM) { - class160.Interpreter_intStackSize -= 2; - FloorUnderlayDefinition.performPlayerAnimation(Varps.localPlayer, Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize], Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - return 1; - } else if (var0 == ScriptOpcodes.IF_CLOSE) { - if (!Interpreter.field1068) { - Interpreter.field1067 = true; - } - - return 1; - } else { - int var10; - if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var10 = 0; - if (DynamicObject.isNumber(var3)) { - var10 = IgnoreList.parseInt(var3); - } - - PacketBufferNode var12 = MenuAction.getPacketBufferNode(ClientPacket.field2239, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeInt(var10); - Client.packetWriter.addNode(var12); - return 1; - } else { - PacketBufferNode var14; - if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2201, Client.packetWriter.isaacCipher); - var14.packetBuffer.writeByte(var3.length() + 1); - var14.packetBuffer.writeStringCp1252NullTerminated(var3); - Client.packetWriter.addNode(var14); - return 1; - } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2257, Client.packetWriter.isaacCipher); - var14.packetBuffer.writeByte(var3.length() + 1); - var14.packetBuffer.writeStringCp1252NullTerminated(var3); - Client.packetWriter.addNode(var14); - return 1; - } else { - String var7; - int var15; - if (var0 == ScriptOpcodes.OPPLAYER) { - var15 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class60.method1122(var15, var7); - return 1; - } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { - class160.Interpreter_intStackSize -= 3; - var15 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var10 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - int var9 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - Widget var13 = Player.getWidget(var9); - class83.clickWidget(var13, var15, var10); - return 1; - } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { - class160.Interpreter_intStackSize -= 2; - var15 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var10 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Widget var11 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - class83.clickWidget(var11, var15, var10); - return 1; - } else if (var0 == ScriptOpcodes.MOUSECAM) { - WorldMapSection1.mouseCam = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Actor.clientPreferences.roofsHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { - Actor.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class296.savePreferences(); - return 1; - } else if (var0 == ScriptOpcodes.OPENURL) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - boolean var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - WorldMapIcon_0.openURL(var3, var4, false); - return 1; - } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { - var15 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var14 = MenuAction.getPacketBufferNode(ClientPacket.field2222, Client.packetWriter.isaacCipher); - var14.packetBuffer.writeShort(var15); - Client.packetWriter.addNode(var14); - return 1; - } else if (var0 == ScriptOpcodes.BUG_REPORT) { - var15 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - TextureProvider.Interpreter_stringStackSize -= 2; - var7 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize]; - String var5 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize + 1]; - if (var7.length() > 500) { - return 1; - } else if (var5.length() > 500) { - return 1; - } else { - PacketBufferNode var6 = MenuAction.getPacketBufferNode(ClientPacket.field2236, Client.packetWriter.isaacCipher); - var6.packetBuffer.writeShort(1 + Varcs.stringCp1252NullTerminatedByteSize(var7) + Varcs.stringCp1252NullTerminatedByteSize(var5)); - var6.packetBuffer.writeStringCp1252NullTerminated(var7); - var6.packetBuffer.method5491(var15); - var6.packetBuffer.writeStringCp1252NullTerminated(var5); - Client.packetWriter.addNode(var6); - return 1; - } - } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { - Client.shiftClickDrop = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { - Client.showMouseOverText = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.RENDERSELF) { - Client.renderSelf = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == 3120) { - if (Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 1; - } else { - Client.drawPlayerNames &= -2; - } - - return 1; - } else if (var0 == 3121) { - if (Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 2; - } else { - Client.drawPlayerNames &= -3; - } - - return 1; - } else if (var0 == 3122) { - if (Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 4; - } else { - Client.drawPlayerNames &= -5; - } - - return 1; - } else if (var0 == 3123) { - if (Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1) { - Client.drawPlayerNames |= 8; - } else { - Client.drawPlayerNames &= -9; - } - - return 1; - } else if (var0 == 3124) { - Client.drawPlayerNames = 0; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { - Client.showMouseCross = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { - Client.showLoadingMessages = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.SETTAPTODROP) { - FriendSystem.setTapToDrop(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1); - return 1; - } else if (var0 == ScriptOpcodes.GETTAPTODROP) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = ItemContainer.getTapToDrop() ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETOCULUSORBSPEED) { - class160.Interpreter_intStackSize -= 2; - Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - return 1; - } else if (var0 == 3130) { - class160.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3131) { - --class160.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GraphicsDefaults.canvasWidth; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GameShell.canvasHeight; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { - --class160.Interpreter_intStackSize; - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { - return 1; - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { - class160.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3136) { - Client.field784 = 3; - Client.field785 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - return 1; - } else if (var0 == 3137) { - Client.field784 = 2; - Client.field785 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - return 1; - } else if (var0 == 3138) { - Client.field784 = 0; - return 1; - } else if (var0 == 3139) { - Client.field784 = 1; - return 1; - } else if (var0 == 3140) { - Client.field784 = 3; - Client.field785 = var2 ? UserComparator9.field1941.id : MidiPcmStream.field2410.id; - return 1; - } else { - boolean var8; - if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { - var8 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - Actor.clientPreferences.hideUsername = var8; - class296.savePreferences(); - return 1; - } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Actor.clientPreferences.hideUsername ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { - var8 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - Client.Login_isUsernameRemembered = var8; - if (!var8) { - Actor.clientPreferences.rememberedUsername = ""; - class296.savePreferences(); - } - - return 1; - } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.Login_isUsernameRemembered ? 1 : 0; - return 1; - } else if (var0 == 3145) { - return 1; - } else if (var0 == ScriptOpcodes.SETTITLEMUSICENABLED) { - var8 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (var8 == Actor.clientPreferences.titleMusicDisabled) { - Actor.clientPreferences.titleMusicDisabled = !var8; - class296.savePreferences(); - } - - return 1; - } else if (var0 == ScriptOpcodes.GETTITLEMUSICENABLED) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Actor.clientPreferences.titleMusicDisabled ? 0 : 1; - return 1; - } else if (var0 == 3148) { - return 1; - } else if (var0 == 3149) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3150) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3151) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3152) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3153) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; - return 1; - } else if (var0 == 3154) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class189.method3626(); - return 1; - } else if (var0 == 3155) { - --TextureProvider.Interpreter_stringStackSize; - return 1; - } else if (var0 == 3156) { - return 1; - } else if (var0 == 3157) { - class160.Interpreter_intStackSize -= 2; - return 1; - } else if (var0 == 3158) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3159) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3160) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3161) { - --class160.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3162) { - --class160.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3163) { - --TextureProvider.Interpreter_stringStackSize; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3164) { - --class160.Interpreter_intStackSize; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 == 3165) { - --class160.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3166) { - class160.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3167) { - class160.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3168) { - class160.Interpreter_intStackSize -= 2; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - return 1; - } else if (var0 == 3169) { - return 1; - } else if (var0 == 3170) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3171) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3172) { - --class160.Interpreter_intStackSize; - return 1; - } else if (var0 == 3173) { - --class160.Interpreter_intStackSize; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else if (var0 == 3174) { - --class160.Interpreter_intStackSize; - return 1; - } else if (var0 == 3175) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - return var0 == 3176 ? 1 : 2; - } - } - } - } - } - } -} +import java.util.HashMap; +import java.util.Map; +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.ScriptOpcodes; + +@ObfuscatedName("ci") +@Implements("Messages") +public class Messages { + @ObfuscatedName("qu") + @ObfuscatedGetter( + intValue = -859114081 + ) + static int field1262; + @ObfuscatedName("z") + @Export("Messages_channels") + static final Map Messages_channels; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("Messages_hashTable") + static final IterableNodeHashTable Messages_hashTable; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lji;" + ) + @Export("Messages_queue") + static final IterableDualNodeQueue Messages_queue; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 229573181 + ) + @Export("Messages_count") + static int Messages_count; + + static { + Messages_channels = new HashMap(); + Messages_hashTable = new IterableNodeHashTable(1024); + Messages_queue = new IterableDualNodeQueue(); + Messages_count = 0; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1500079981" + ) + static int method2207(int var0, Script var1, boolean var2) { + String var3; + if (var0 == ScriptOpcodes.MES) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + class210.addGameMessage(0, "", var3); + return 1; + } else if (var0 == ScriptOpcodes.ANIM) { + Interpreter.Interpreter_intStackSize -= 2; + LoginPacket.performPlayerAnimation(class223.localPlayer, Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + return 1; + } else if (var0 == ScriptOpcodes.IF_CLOSE) { + if (!Interpreter.field1075) { + Interpreter.field1074 = true; + } + + return 1; + } else { + int var10; + if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var10 = 0; + if (NetSocket.isNumber(var3)) { + var10 = TilePaint.parseInt(var3); + } + + PacketBufferNode var12 = InterfaceParent.getPacketBufferNode(ClientPacket.field2238, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeInt(var10); + Client.packetWriter.addNode(var12); + return 1; + } else { + PacketBufferNode var14; + if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2284, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeByte(var3.length() + 1); + var14.packetBuffer.writeStringCp1252NullTerminated(var3); + Client.packetWriter.addNode(var14); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2202, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeByte(var3.length() + 1); + var14.packetBuffer.writeStringCp1252NullTerminated(var3); + Client.packetWriter.addNode(var14); + return 1; + } else { + String var7; + int var15; + if (var0 == ScriptOpcodes.OPPLAYER) { + var15 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + WorldMapLabelSize.method201(var15, var7); + return 1; + } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { + Interpreter.Interpreter_intStackSize -= 3; + var15 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + Widget var13 = Canvas.getWidget(var9); + class227.clickWidget(var13, var15, var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { + Interpreter.Interpreter_intStackSize -= 2; + var15 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Widget var11 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + class227.clickWidget(var11, var15, var10); + return 1; + } else if (var0 == ScriptOpcodes.MOUSECAM) { + WorldMapIcon_1.mouseCam = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = AbstractArchive.clientPreferences.roofsHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { + AbstractArchive.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Language.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.OPENURL) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + boolean var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + ArchiveDiskActionHandler.openURL(var3, var4, false); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { + var15 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var14 = InterfaceParent.getPacketBufferNode(ClientPacket.field2245, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeShort(var15); + Client.packetWriter.addNode(var14); + return 1; + } else if (var0 == ScriptOpcodes.BUG_REPORT) { + var15 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStackSize -= 2; + var7 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + String var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + if (var7.length() > 500) { + return 1; + } else if (var5.length() > 500) { + return 1; + } else { + PacketBufferNode var6 = InterfaceParent.getPacketBufferNode(ClientPacket.field2270, Client.packetWriter.isaacCipher); + var6.packetBuffer.writeShort(1 + class268.stringCp1252NullTerminatedByteSize(var7) + class268.stringCp1252NullTerminatedByteSize(var5)); + var6.packetBuffer.writeStringCp1252NullTerminated(var7); + var6.packetBuffer.writeStringCp1252NullTerminated(var5); + var6.packetBuffer.method5453(var15); + Client.packetWriter.addNode(var6); + return 1; + } + } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { + Client.shiftClickDrop = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { + Client.showMouseOverText = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.RENDERSELF) { + Client.renderSelf = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == 3120) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 1; + } else { + Client.drawPlayerNames &= -2; + } + + return 1; + } else if (var0 == 3121) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 2; + } else { + Client.drawPlayerNames &= -3; + } + + return 1; + } else if (var0 == 3122) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 4; + } else { + Client.drawPlayerNames &= -5; + } + + return 1; + } else if (var0 == 3123) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 8; + } else { + Client.drawPlayerNames &= -9; + } + + return 1; + } else if (var0 == 3124) { + Client.drawPlayerNames = 0; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { + Client.showMouseCross = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { + Client.showLoadingMessages = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETTAPTODROP) { + ScriptEvent.setTapToDrop(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1); + return 1; + } else if (var0 == ScriptOpcodes.GETTAPTODROP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSprite.getTapToDrop() ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETOCULUSORBSPEED) { + Interpreter.Interpreter_intStackSize -= 2; + Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + return 1; + } else if (var0 == 3130) { + Interpreter.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3131) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FloorDecoration.canvasWidth; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WallDecoration.canvasHeight; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { + Interpreter.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3136) { + Client.field798 = 3; + Client.field824 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3137) { + Client.field798 = 2; + Client.field824 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3138) { + Client.field798 = 0; + return 1; + } else if (var0 == 3139) { + Client.field798 = 1; + return 1; + } else if (var0 == 3140) { + Client.field798 = 3; + Client.field824 = var2 ? GrandExchangeOfferAgeComparator.field76.id : KitDefinition.field3252.id; + return 1; + } else { + boolean var8; + if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { + var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + AbstractArchive.clientPreferences.hideUsername = var8; + Language.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = AbstractArchive.clientPreferences.hideUsername ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { + var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Client.Login_isUsernameRemembered = var8; + if (!var8) { + AbstractArchive.clientPreferences.rememberedUsername = ""; + Language.savePreferences(); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.Login_isUsernameRemembered ? 1 : 0; + return 1; + } else if (var0 == 3145) { + return 1; + } else if (var0 == ScriptOpcodes.SETTITLEMUSICENABLED) { + var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (var8 == AbstractArchive.clientPreferences.titleMusicDisabled) { + AbstractArchive.clientPreferences.titleMusicDisabled = !var8; + Language.savePreferences(); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETTITLEMUSICENABLED) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = AbstractArchive.clientPreferences.titleMusicDisabled ? 0 : 1; + return 1; + } else if (var0 == 3148) { + return 1; + } else if (var0 == 3149) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3150) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3151) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3152) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3153) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; + return 1; + } else if (var0 == 3154) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOfferTotalQuantityComparator.method100(); + return 1; + } else if (var0 == 3155) { + --Interpreter.Interpreter_stringStackSize; + return 1; + } else if (var0 == 3156) { + return 1; + } else if (var0 == 3157) { + Interpreter.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3158) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3159) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3160) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3161) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3162) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3163) { + --Interpreter.Interpreter_stringStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3164) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 == 3165) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3166) { + Interpreter.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3167) { + Interpreter.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3168) { + Interpreter.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 == 3169) { + return 1; + } else if (var0 == 3170) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3171) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3172) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == 3173) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3174) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == 3175) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + return var0 == 3176 ? 1 : 2; + } + } + } + } + } + } +} diff --git a/runescape-client/src/main/java/MidiFileReader.java b/runescape-client/src/main/java/MidiFileReader.java index 24ae35e5ba..eba75f7596 100644 --- a/runescape-client/src/main/java/MidiFileReader.java +++ b/runescape-client/src/main/java/MidiFileReader.java @@ -1,262 +1,262 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gp") -@Implements("MidiFileReader") -public class MidiFileReader { - @ObfuscatedName("z") - static final byte[] field2434; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lkz;" - ) - @Export("buffer") - Buffer buffer; - @ObfuscatedName("x") - @Export("division") - int division; - @ObfuscatedName("t") - @Export("trackStarts") - int[] trackStarts; - @ObfuscatedName("g") - @Export("trackPositions") - int[] trackPositions; - @ObfuscatedName("l") - @Export("trackLengths") - int[] trackLengths; - @ObfuscatedName("u") - int[] field2443; - @ObfuscatedName("j") - int field2435; - @ObfuscatedName("d") - long field2442; - - static { - field2434 = new byte[]{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - } - - MidiFileReader(byte[] var1) { - this.buffer = new Buffer((byte[])null); - this.parse(var1); - } - - MidiFileReader() { - this.buffer = new Buffer((byte[])null); - } - - @ObfuscatedName("c") - @Export("parse") - void parse(byte[] var1) { - this.buffer.array = var1; - this.buffer.offset = 10; - int var2 = this.buffer.readUnsignedShort(); - this.division = this.buffer.readUnsignedShort(); - this.field2435 = 500000; - this.trackStarts = new int[var2]; - - Buffer var10000; - int var3; - int var5; - for (var3 = 0; var3 < var2; var10000.offset += var5) { - int var4 = this.buffer.readInt(); - var5 = this.buffer.readInt(); - if (var4 == 1297379947) { - this.trackStarts[var3] = this.buffer.offset; - ++var3; - } - - var10000 = this.buffer; - } - - this.field2442 = 0L; - this.trackPositions = new int[var2]; - - for (var3 = 0; var3 < var2; ++var3) { - this.trackPositions[var3] = this.trackStarts[var3]; - } - - this.trackLengths = new int[var2]; - this.field2443 = new int[var2]; - } - - @ObfuscatedName("x") - @Export("clear") - void clear() { - this.buffer.array = null; - this.trackStarts = null; - this.trackPositions = null; - this.trackLengths = null; - this.field2443 = null; - } - - @ObfuscatedName("t") - @Export("isReady") - boolean isReady() { - return this.buffer.array != null; - } - - @ObfuscatedName("g") - @Export("trackCount") - int trackCount() { - return this.trackPositions.length; - } - - @ObfuscatedName("l") - @Export("gotoTrack") - void gotoTrack(int var1) { - this.buffer.offset = this.trackPositions[var1]; - } - - @ObfuscatedName("u") - @Export("markTrackPosition") - void markTrackPosition(int var1) { - this.trackPositions[var1] = this.buffer.offset; - } - - @ObfuscatedName("j") - @Export("setTrackDone") - void setTrackDone() { - this.buffer.offset = -1; - } - - @ObfuscatedName("v") - @Export("readTrackLength") - void readTrackLength(int var1) { - int var2 = this.buffer.readVarInt(); - int[] var10000 = this.trackLengths; - var10000[var1] += var2; - } - - @ObfuscatedName("d") - @Export("readMessage") - int readMessage(int var1) { - int var2 = this.readMessage0(var1); - return var2; - } - - @ObfuscatedName("z") - @Export("readMessage0") - int readMessage0(int var1) { - byte var2 = this.buffer.array[this.buffer.offset]; - int var5; - if (var2 < 0) { - var5 = var2 & 255; - this.field2443[var1] = var5; - ++this.buffer.offset; - } else { - var5 = this.field2443[var1]; - } - - if (var5 != 240 && var5 != 247) { - return this.method3825(var1, var5); - } else { - int var3 = this.buffer.readVarInt(); - if (var5 == 247 && var3 > 0) { - int var4 = this.buffer.array[this.buffer.offset] & 255; - if (var4 >= 241 && var4 <= 243 || var4 == 246 || var4 == 248 || var4 >= 250 && var4 <= 252 || var4 == 254) { - ++this.buffer.offset; - this.field2443[var1] = var4; - return this.method3825(var1, var4); - } - } - - Buffer var10000 = this.buffer; - var10000.offset += var3; - return 0; - } - } - - @ObfuscatedName("s") - int method3825(int var1, int var2) { - int var4; - if (var2 == 255) { - int var7 = this.buffer.readUnsignedByte(); - var4 = this.buffer.readVarInt(); - Buffer var10000; - if (var7 == 47) { - var10000 = this.buffer; - var10000.offset += var4; - return 1; - } else if (var7 == 81) { - int var5 = this.buffer.readMedium(); - var4 -= 3; - int var6 = this.trackLengths[var1]; - this.field2442 += (long)var6 * (long)(this.field2435 - var5); - this.field2435 = var5; - var10000 = this.buffer; - var10000.offset += var4; - return 2; - } else { - var10000 = this.buffer; - var10000.offset += var4; - return 3; - } - } else { - byte var3 = field2434[var2 - 128]; - var4 = var2; - if (var3 >= 1) { - var4 = var2 | this.buffer.readUnsignedByte() << 8; - } - - if (var3 >= 2) { - var4 |= this.buffer.readUnsignedByte() << 16; - } - - return var4; - } - } - - @ObfuscatedName("p") - long method3857(int var1) { - return this.field2442 + (long)var1 * (long)this.field2435; - } - - @ObfuscatedName("e") - @Export("getPrioritizedTrack") - int getPrioritizedTrack() { - int var1 = this.trackPositions.length; - int var2 = -1; - int var3 = Integer.MAX_VALUE; - - for (int var4 = 0; var4 < var1; ++var4) { - if (this.trackPositions[var4] >= 0 && this.trackLengths[var4] < var3) { - var2 = var4; - var3 = this.trackLengths[var4]; - } - } - - return var2; - } - - @ObfuscatedName("i") - @Export("isDone") - boolean isDone() { - int var1 = this.trackPositions.length; - - for (int var2 = 0; var2 < var1; ++var2) { - if (this.trackPositions[var2] >= 0) { - return false; - } - } - - return true; - } - - @ObfuscatedName("q") - @Export("reset") - void reset(long var1) { - this.field2442 = var1; - int var3 = this.trackPositions.length; - - for (int var4 = 0; var4 < var3; ++var4) { - this.trackLengths[var4] = 0; - this.field2443[var4] = 0; - this.buffer.offset = this.trackStarts[var4]; - this.readTrackLength(var4); - this.trackPositions[var4] = this.buffer.offset; - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gc") +@Implements("MidiFileReader") +public class MidiFileReader { + @ObfuscatedName("i") + static final byte[] field2447; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lkl;" + ) + @Export("buffer") + Buffer buffer; + @ObfuscatedName("n") + @Export("division") + int division; + @ObfuscatedName("v") + @Export("trackStarts") + int[] trackStarts; + @ObfuscatedName("u") + @Export("trackPositions") + int[] trackPositions; + @ObfuscatedName("r") + @Export("trackLengths") + int[] trackLengths; + @ObfuscatedName("p") + int[] field2453; + @ObfuscatedName("q") + int field2442; + @ObfuscatedName("y") + long field2450; + + static { + field2447 = new byte[]{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + } + + MidiFileReader(byte[] var1) { + this.buffer = new Buffer((byte[])null); + this.parse(var1); + } + + MidiFileReader() { + this.buffer = new Buffer((byte[])null); + } + + @ObfuscatedName("z") + @Export("parse") + void parse(byte[] var1) { + this.buffer.array = var1; + this.buffer.offset = 10; + int var2 = this.buffer.readUnsignedShort(); + this.division = this.buffer.readUnsignedShort(); + this.field2442 = 500000; + this.trackStarts = new int[var2]; + + Buffer var10000; + int var3; + int var5; + for (var3 = 0; var3 < var2; var10000.offset += var5) { + int var4 = this.buffer.readInt(); + var5 = this.buffer.readInt(); + if (var4 == 1297379947) { + this.trackStarts[var3] = this.buffer.offset; + ++var3; + } + + var10000 = this.buffer; + } + + this.field2450 = 0L; + this.trackPositions = new int[var2]; + + for (var3 = 0; var3 < var2; ++var3) { + this.trackPositions[var3] = this.trackStarts[var3]; + } + + this.trackLengths = new int[var2]; + this.field2453 = new int[var2]; + } + + @ObfuscatedName("n") + @Export("clear") + void clear() { + this.buffer.array = null; + this.trackStarts = null; + this.trackPositions = null; + this.trackLengths = null; + this.field2453 = null; + } + + @ObfuscatedName("v") + @Export("isReady") + boolean isReady() { + return this.buffer.array != null; + } + + @ObfuscatedName("u") + @Export("trackCount") + int trackCount() { + return this.trackPositions.length; + } + + @ObfuscatedName("r") + @Export("gotoTrack") + void gotoTrack(int var1) { + this.buffer.offset = this.trackPositions[var1]; + } + + @ObfuscatedName("p") + @Export("markTrackPosition") + void markTrackPosition(int var1) { + this.trackPositions[var1] = this.buffer.offset; + } + + @ObfuscatedName("q") + @Export("setTrackDone") + void setTrackDone() { + this.buffer.offset = -1; + } + + @ObfuscatedName("m") + @Export("readTrackLength") + void readTrackLength(int var1) { + int var2 = this.buffer.readVarInt(); + int[] var10000 = this.trackLengths; + var10000[var1] += var2; + } + + @ObfuscatedName("y") + @Export("readMessage") + int readMessage(int var1) { + int var2 = this.readMessage0(var1); + return var2; + } + + @ObfuscatedName("i") + @Export("readMessage0") + int readMessage0(int var1) { + byte var2 = this.buffer.array[this.buffer.offset]; + int var5; + if (var2 < 0) { + var5 = var2 & 255; + this.field2453[var1] = var5; + ++this.buffer.offset; + } else { + var5 = this.field2453[var1]; + } + + if (var5 != 240 && var5 != 247) { + return this.method3803(var1, var5); + } else { + int var3 = this.buffer.readVarInt(); + if (var5 == 247 && var3 > 0) { + int var4 = this.buffer.array[this.buffer.offset] & 255; + if (var4 >= 241 && var4 <= 243 || var4 == 246 || var4 == 248 || var4 >= 250 && var4 <= 252 || var4 == 254) { + ++this.buffer.offset; + this.field2453[var1] = var4; + return this.method3803(var1, var4); + } + } + + Buffer var10000 = this.buffer; + var10000.offset += var3; + return 0; + } + } + + @ObfuscatedName("c") + int method3803(int var1, int var2) { + int var4; + if (var2 == 255) { + int var7 = this.buffer.readUnsignedByte(); + var4 = this.buffer.readVarInt(); + Buffer var10000; + if (var7 == 47) { + var10000 = this.buffer; + var10000.offset += var4; + return 1; + } else if (var7 == 81) { + int var5 = this.buffer.readMedium(); + var4 -= 3; + int var6 = this.trackLengths[var1]; + this.field2450 += (long)var6 * (long)(this.field2442 - var5); + this.field2442 = var5; + var10000 = this.buffer; + var10000.offset += var4; + return 2; + } else { + var10000 = this.buffer; + var10000.offset += var4; + return 3; + } + } else { + byte var3 = field2447[var2 - 128]; + var4 = var2; + if (var3 >= 1) { + var4 = var2 | this.buffer.readUnsignedByte() << 8; + } + + if (var3 >= 2) { + var4 |= this.buffer.readUnsignedByte() << 16; + } + + return var4; + } + } + + @ObfuscatedName("b") + long method3804(int var1) { + return this.field2450 + (long)var1 * (long)this.field2442; + } + + @ObfuscatedName("o") + @Export("getPrioritizedTrack") + int getPrioritizedTrack() { + int var1 = this.trackPositions.length; + int var2 = -1; + int var3 = Integer.MAX_VALUE; + + for (int var4 = 0; var4 < var1; ++var4) { + if (this.trackPositions[var4] >= 0 && this.trackLengths[var4] < var3) { + var2 = var4; + var3 = this.trackLengths[var4]; + } + } + + return var2; + } + + @ObfuscatedName("a") + @Export("isDone") + boolean isDone() { + int var1 = this.trackPositions.length; + + for (int var2 = 0; var2 < var1; ++var2) { + if (this.trackPositions[var2] >= 0) { + return false; + } + } + + return true; + } + + @ObfuscatedName("e") + @Export("reset") + void reset(long var1) { + this.field2450 = var1; + int var3 = this.trackPositions.length; + + for (int var4 = 0; var4 < var3; ++var4) { + this.trackLengths[var4] = 0; + this.field2453[var4] = 0; + this.buffer.offset = this.trackStarts[var4]; + this.readTrackLength(var4); + this.trackPositions[var4] = this.buffer.offset; + } + + } +} diff --git a/runescape-client/src/main/java/MidiPcmStream.java b/runescape-client/src/main/java/MidiPcmStream.java index d0ede642c0..ca64708fb1 100644 --- a/runescape-client/src/main/java/MidiPcmStream.java +++ b/runescape-client/src/main/java/MidiPcmStream.java @@ -1,1111 +1,1077 @@ -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("gt") -@Implements("MidiPcmStream") -public class MidiPcmStream extends PcmStream { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lhy;" - ) - static Widget field2410; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("musicPatches") - NodeHashTable musicPatches; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1414585865 - ) - int field2394; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1090700352 - ) - int field2401; - @ObfuscatedName("g") - int[] field2385; - @ObfuscatedName("l") - int[] field2386; - @ObfuscatedName("u") - int[] field2387; - @ObfuscatedName("j") - int[] field2388; - @ObfuscatedName("v") - int[] field2389; - @ObfuscatedName("d") - int[] field2390; - @ObfuscatedName("z") - int[] field2384; - @ObfuscatedName("n") - int[] field2392; - @ObfuscatedName("h") - int[] field2393; - @ObfuscatedName("r") - int[] field2395; - @ObfuscatedName("k") - int[] field2406; - @ObfuscatedName("w") - int[] field2405; - @ObfuscatedName("m") - int[] field2398; - @ObfuscatedName("o") - int[] field2383; - @ObfuscatedName("a") - int[] field2400; - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "[[Lgs;" - ) - MusicPatchNode[][] field2391; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "[[Lgs;" - ) - MusicPatchNode[][] field2402; - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "Lgp;" - ) - @Export("midiFile") - MidiFileReader midiFile; - @ObfuscatedName("ao") - boolean field2404; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 1796077515 - ) - @Export("track") - int track; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 376067527 - ) - @Export("trackLength") - int trackLength; - @ObfuscatedName("al") - @ObfuscatedGetter( - longValue = 3263394730300168849L - ) - long field2407; - @ObfuscatedName("as") - @ObfuscatedGetter( - longValue = 3131582790426546053L - ) - long field2408; - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "Lgd;" - ) - @Export("patchStream") - MusicPatchPcmStream patchStream; - - public MidiPcmStream() { - this.field2394 = 256; - this.field2401 = -727379968; - this.field2385 = new int[16]; - this.field2386 = new int[16]; - this.field2387 = new int[16]; - this.field2388 = new int[16]; - this.field2389 = new int[16]; - this.field2390 = new int[16]; - this.field2384 = new int[16]; - this.field2392 = new int[16]; - this.field2393 = new int[16]; - this.field2395 = new int[16]; - this.field2406 = new int[16]; - this.field2405 = new int[16]; - this.field2398 = new int[16]; - this.field2383 = new int[16]; - this.field2400 = new int[16]; - this.field2391 = new MusicPatchNode[16][128]; - this.field2402 = new MusicPatchNode[16][128]; - this.midiFile = new MidiFileReader(); - this.patchStream = new MusicPatchPcmStream(this); - this.musicPatches = new NodeHashTable(128); - this.method3706(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "12" - ) - public synchronized void method3686(int var1) { - this.field2394 = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2102647071" - ) - public int method3687() { - return this.field2394; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lgy;Lhz;Ldy;IB)Z", - garbageValue = "-18" - ) - @Export("loadMusicTrack") - public synchronized boolean loadMusicTrack(MusicTrack var1, AbstractArchive var2, SoundCache var3, int var4) { - var1.method3902(); - boolean var5 = true; - int[] var6 = null; - if (var4 > 0) { - var6 = new int[]{var4}; - } - - for (ByteArrayNode var7 = (ByteArrayNode)var1.table.first(); var7 != null; var7 = (ByteArrayNode)var1.table.next()) { - int var8 = (int)var7.key; - MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)var8); - if (var9 == null) { - var9 = class4.method47(var2, var8); - if (var9 == null) { - var5 = false; - continue; - } - - this.musicPatches.put(var9, (long)var8); - } - - if (!var9.method3868(var3, var7.byteArray, var6)) { - var5 = false; - } - } - - if (var5) { - var1.clear(); - } - - return var5; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "114" - ) - @Export("clearAll") - public synchronized void clearAll() { - for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { - var1.clear(); - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-1" - ) - @Export("removeAll") - public synchronized void removeAll() { - for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { - var1.remove(); - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("firstSubStream") - protected synchronized PcmStream firstSubStream() { - return this.patchStream; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("nextSubStream") - protected synchronized PcmStream nextSubStream() { - return null; - } - - @ObfuscatedName("v") - protected synchronized int vmethod3881() { - return 0; - } - - @ObfuscatedName("d") - @Export("fill") - protected synchronized void fill(int[] var1, int var2, int var3) { - if (this.midiFile.isReady()) { - int var4 = this.midiFile.division * this.field2401 * 1000000 / GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate; - - do { - long var5 = this.field2407 + (long)var3 * (long)var4; - if (this.field2408 - var5 >= 0L) { - this.field2407 = var5; - break; - } - - int var7 = (int)((this.field2408 - this.field2407 + (long)var4 - 1L) / (long)var4); - this.field2407 += (long)var4 * (long)var7; - this.patchStream.fill(var1, var2, var7); - var2 += var7; - var3 -= var7; - this.method3719(); - } while(this.midiFile.isReady()); - } - - this.patchStream.fill(var1, var2, var3); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(Lgy;ZI)V", - garbageValue = "-1993702143" - ) - @Export("setMusicTrack") - public synchronized void setMusicTrack(MusicTrack var1, boolean var2) { - this.clear(); - this.midiFile.parse(var1.midi); - this.field2404 = var2; - this.field2407 = 0L; - int var3 = this.midiFile.trackCount(); - - for (int var4 = 0; var4 < var3; ++var4) { - this.midiFile.gotoTrack(var4); - this.midiFile.readTrackLength(var4); - this.midiFile.markTrackPosition(var4); - } - - this.track = this.midiFile.getPrioritizedTrack(); - this.trackLength = this.midiFile.trackLengths[this.track]; - this.field2408 = this.midiFile.method3857(this.trackLength); - } - - @ObfuscatedName("s") - @Export("skip") - protected synchronized void skip(int var1) { - if (this.midiFile.isReady()) { - int var2 = this.midiFile.division * this.field2401 * 1000000 / GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate; - - do { - long var3 = (long)var2 * (long)var1 + this.field2407; - if (this.field2408 - var3 >= 0L) { - this.field2407 = var3; - break; - } - - int var5 = (int)(((long)var2 + (this.field2408 - this.field2407) - 1L) / (long)var2); - this.field2407 += (long)var2 * (long)var5; - this.patchStream.skip(var5); - var1 -= var5; - this.method3719(); - } while(this.midiFile.isReady()); - } - - this.patchStream.skip(var1); - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "41" - ) - @Export("clear") - public synchronized void clear() { - this.midiFile.clear(); - this.method3706(); - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1707602739" - ) - @Export("isReady") - public synchronized boolean isReady() { - return this.midiFile.isReady(); - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-319046618" - ) - public synchronized void method3732(int var1, int var2) { - this.method3695(var1, var2); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "2" - ) - void method3695(int var1, int var2) { - this.field2388[var1] = var2; - this.field2390[var1] = var2 & -128; - this.method3709(var1, var2); - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1562201672" - ) - void method3709(int var1, int var2) { - if (var2 != this.field2389[var1]) { - this.field2389[var1] = var2; - - for (int var3 = 0; var3 < 128; ++var3) { - this.field2402[var1][var3] = null; - } - } - - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(IIIB)V", - garbageValue = "-37" - ) - void method3697(int var1, int var2, int var3) { - this.method3699(var1, var2, 64); - if ((this.field2395[var1] & 2) != 0) { - for (MusicPatchNode var4 = (MusicPatchNode)this.patchStream.queue.first(); var4 != null; var4 = (MusicPatchNode)this.patchStream.queue.next()) { - if (var4.field2431 == var1 && var4.field2425 < 0) { - this.field2391[var1][var4.field2413] = null; - this.field2391[var1][var2] = var4; - int var5 = (var4.field2420 * var4.field2433 >> 12) + var4.field2419; - var4.field2419 += var2 - var4.field2413 << 8; - var4.field2420 = var5 - var4.field2419; - var4.field2433 = 4096; - var4.field2413 = var2; - return; - } - } - } - - MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)this.field2389[var1]); - if (var9 != null) { - RawSound var8 = var9.rawSounds[var2]; - if (var8 != null) { - MusicPatchNode var6 = new MusicPatchNode(); - var6.field2431 = var1; - var6.patch = var9; - var6.rawSound = var8; - var6.field2415 = var9.field2449[var2]; - var6.field2426 = var9.field2454[var2]; - var6.field2413 = var2; - var6.field2417 = var3 * var3 * var9.field2451[var2] * var9.field2453 + 1024 >> 11; - var6.field2418 = var9.field2452[var2] & 255; - var6.field2419 = (var2 << 8) - (var9.field2450[var2] & 32767); - var6.field2414 = 0; - var6.field2423 = 0; - var6.field2424 = 0; - var6.field2425 = -1; - var6.field2416 = 0; - if (this.field2398[var1] == 0) { - var6.stream = RawPcmStream.method2511(var8, this.method3788(var6), this.method3786(var6), this.method3768(var6)); - } else { - var6.stream = RawPcmStream.method2511(var8, this.method3788(var6), 0, this.method3768(var6)); - this.method3698(var6, var9.field2450[var2] < 0); - } - - if (var9.field2450[var2] < 0) { - var6.stream.setNumLoops(-1); - } - - if (var6.field2426 >= 0) { - MusicPatchNode var7 = this.field2402[var1][var6.field2426]; - if (var7 != null && var7.field2425 < 0) { - this.field2391[var1][var7.field2413] = null; - var7.field2425 = 0; - } - - this.field2402[var1][var6.field2426] = var6; - } - - this.patchStream.queue.addFirst(var6); - this.field2391[var1][var2] = var6; - } - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lgs;ZI)V", - garbageValue = "751548044" - ) - void method3698(MusicPatchNode var1, boolean var2) { - int var3 = var1.rawSound.samples.length; - int var4; - if (var2 && var1.rawSound.field1358) { - int var5 = var3 + var3 - var1.rawSound.start; - var4 = (int)((long)var5 * (long)this.field2398[var1.field2431] >> 6); - var3 <<= 8; - if (var4 >= var3) { - var4 = var3 + var3 - 1 - var4; - var1.stream.method2548(); - } - } else { - var4 = (int)((long)this.field2398[var1.field2431] * (long)var3 >> 6); - } - - var1.stream.method2569(var4); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "722715254" - ) - void method3699(int var1, int var2, int var3) { - MusicPatchNode var4 = this.field2391[var1][var2]; - if (var4 != null) { - this.field2391[var1][var2] = null; - if ((this.field2395[var1] & 2) != 0) { - for (MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var4.field2431 == var5.field2431 && var5.field2425 < 0 && var4 != var5) { - var4.field2425 = 0; - break; - } - } - } else { - var4.field2425 = 0; - } - - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "-17345247" - ) - void method3700(int var1, int var2, int var3) { - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "197246641" - ) - void method3701(int var1, int var2) { - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1303532041" - ) - void method3800(int var1, int var2) { - this.field2384[var1] = var2; - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-5696967" - ) - void method3741(int var1) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var1 < 0 || var2.field2431 == var1) { - if (var2.stream != null) { - var2.stream.method2541(GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate / 100); - if (var2.stream.method2606()) { - this.patchStream.mixer.addSubStream(var2.stream); - } - - var2.method3810(); - } - - if (var2.field2425 < 0) { - this.field2391[var2.field2431][var2.field2413] = null; - } - - var2.remove(); - } - } - - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(IS)V", - garbageValue = "256" - ) - void method3763(int var1) { - if (var1 >= 0) { - this.field2385[var1] = 12800; - this.field2386[var1] = 8192; - this.field2387[var1] = 16383; - this.field2384[var1] = 8192; - this.field2392[var1] = 0; - this.field2393[var1] = 8192; - this.method3707(var1); - this.method3708(var1); - this.field2395[var1] = 0; - this.field2406[var1] = 32767; - this.field2405[var1] = 256; - this.field2398[var1] = 0; - this.method3793(var1, 8192); - } else { - for (var1 = 0; var1 < 16; ++var1) { - this.method3763(var1); - } - - } - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "53" - ) - void method3702(int var1) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if ((var1 < 0 || var2.field2431 == var1) && var2.field2425 < 0) { - this.field2391[var2.field2431][var2.field2413] = null; - var2.field2425 = 0; - } - } - - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-454562685" - ) - void method3706() { - this.method3741(-1); - this.method3763(-1); - - int var1; - for (var1 = 0; var1 < 16; ++var1) { - this.field2389[var1] = this.field2388[var1]; - } - - for (var1 = 0; var1 < 16; ++var1) { - this.field2390[var1] = this.field2388[var1] & -128; - } - - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-114" - ) - void method3707(int var1) { - if ((this.field2395[var1] & 2) != 0) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var2.field2431 == var1 && this.field2391[var1][var2.field2413] == null && var2.field2425 < 0) { - var2.field2425 = 0; - } - } - } - - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1016524602" - ) - void method3708(int var1) { - if ((this.field2395[var1] & 4) != 0) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { - if (var2.field2431 == var1) { - var2.field2422 = 0; - } - } - } - - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1496359636" - ) - void method3735(int var1) { - int var2 = var1 & 240; - int var3; - int var4; - int var5; - if (var2 == 128) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - var5 = var1 >> 16 & 127; - this.method3699(var3, var4, var5); - } else if (var2 == 144) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - var5 = var1 >> 16 & 127; - if (var5 > 0) { - this.method3697(var3, var4, var5); - } else { - this.method3699(var3, var4, 64); - } - - } else if (var2 == 160) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - var5 = var1 >> 16 & 127; - this.method3700(var3, var4, var5); - } else if (var2 == 176) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - var5 = var1 >> 16 & 127; - if (var4 == 0) { - this.field2390[var3] = (var5 << 14) + (this.field2390[var3] & -2080769); - } - - if (var4 == 32) { - this.field2390[var3] = (var5 << 7) + (this.field2390[var3] & -16257); - } - - if (var4 == 1) { - this.field2392[var3] = (var5 << 7) + (this.field2392[var3] & -16257); - } - - if (var4 == 33) { - this.field2392[var3] = var5 + (this.field2392[var3] & -128); - } - - if (var4 == 5) { - this.field2393[var3] = (var5 << 7) + (this.field2393[var3] & -16257); - } - - if (var4 == 37) { - this.field2393[var3] = var5 + (this.field2393[var3] & -128); - } - - if (var4 == 7) { - this.field2385[var3] = (var5 << 7) + (this.field2385[var3] & -16257); - } - - if (var4 == 39) { - this.field2385[var3] = var5 + (this.field2385[var3] & -128); - } - - if (var4 == 10) { - this.field2386[var3] = (var5 << 7) + (this.field2386[var3] & -16257); - } - - if (var4 == 42) { - this.field2386[var3] = var5 + (this.field2386[var3] & -128); - } - - if (var4 == 11) { - this.field2387[var3] = (var5 << 7) + (this.field2387[var3] & -16257); - } - - if (var4 == 43) { - this.field2387[var3] = var5 + (this.field2387[var3] & -128); - } - - int[] var10000; - if (var4 == 64) { - if (var5 >= 64) { - var10000 = this.field2395; - var10000[var3] |= 1; - } else { - var10000 = this.field2395; - var10000[var3] &= -2; - } - } - - if (var4 == 65) { - if (var5 >= 64) { - var10000 = this.field2395; - var10000[var3] |= 2; - } else { - this.method3707(var3); - var10000 = this.field2395; - var10000[var3] &= -3; - } - } - - if (var4 == 99) { - this.field2406[var3] = (var5 << 7) + (this.field2406[var3] & 127); - } - - if (var4 == 98) { - this.field2406[var3] = (this.field2406[var3] & 16256) + var5; - } - - if (var4 == 101) { - this.field2406[var3] = (var5 << 7) + (this.field2406[var3] & 127) + 16384; - } - - if (var4 == 100) { - this.field2406[var3] = (this.field2406[var3] & 16256) + var5 + 16384; - } - - if (var4 == 120) { - this.method3741(var3); - } - - if (var4 == 121) { - this.method3763(var3); - } - - if (var4 == 123) { - this.method3702(var3); - } - - int var6; - if (var4 == 6) { - var6 = this.field2406[var3]; - if (var6 == 16384) { - this.field2405[var3] = (var5 << 7) + (this.field2405[var3] & -16257); - } - } - - if (var4 == 38) { - var6 = this.field2406[var3]; - if (var6 == 16384) { - this.field2405[var3] = var5 + (this.field2405[var3] & -128); - } - } - - if (var4 == 16) { - this.field2398[var3] = (var5 << 7) + (this.field2398[var3] & -16257); - } - - if (var4 == 48) { - this.field2398[var3] = var5 + (this.field2398[var3] & -128); - } - - if (var4 == 81) { - if (var5 >= 64) { - var10000 = this.field2395; - var10000[var3] |= 4; - } else { - this.method3708(var3); - var10000 = this.field2395; - var10000[var3] &= -5; - } - } - - if (var4 == 17) { - this.method3793(var3, (var5 << 7) + (this.field2383[var3] & -16257)); - } - - if (var4 == 49) { - this.method3793(var3, var5 + (this.field2383[var3] & -128)); - } - - } else if (var2 == 192) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - this.method3709(var3, var4 + this.field2390[var3]); - } else if (var2 == 208) { - var3 = var1 & 15; - var4 = var1 >> 8 & 127; - this.method3701(var3, var4); - } else if (var2 == 224) { - var3 = var1 & 15; - var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); - this.method3800(var3, var4); - } else { - var2 = var1 & 255; - if (var2 == 255) { - this.method3706(); - } - } - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "631223088" - ) - void method3793(int var1, int var2) { - this.field2383[var1] = var2; - this.field2400[var1] = (int)(2097152.0D * Math.pow(2.0D, (double)var2 * 5.4931640625E-4D) + 0.5D); - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(Lgs;B)I", - garbageValue = "-78" - ) - int method3788(MusicPatchNode var1) { - int var2 = (var1.field2420 * var1.field2433 >> 12) + var1.field2419; - var2 += (this.field2384[var1.field2431] - 8192) * this.field2405[var1.field2431] >> 12; - MusicPatchNode2 var3 = var1.field2415; - int var4; - if (var3.field2367 > 0 && (var3.field2366 > 0 || this.field2392[var1.field2431] > 0)) { - var4 = var3.field2366 << 2; - int var5 = var3.field2370 << 1; - if (var1.field2427 < var5) { - var4 = var4 * var1.field2427 / var5; - } - - var4 += this.field2392[var1.field2431] >> 7; - double var6 = Math.sin(0.01227184630308513D * (double)(var1.field2428 & 511)); - var2 += (int)(var6 * (double)var4); - } - - var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, (double)var2 * 3.255208333333333E-4D) / (double)GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate + 0.5D); - return var4 < 1 ? 1 : var4; - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(Lgs;I)I", - garbageValue = "1409927700" - ) - int method3786(MusicPatchNode var1) { - MusicPatchNode2 var2 = var1.field2415; - int var3 = this.field2385[var1.field2431] * this.field2387[var1.field2431] + 4096 >> 13; - var3 = var3 * var3 + 16384 >> 15; - var3 = var3 * var1.field2417 + 16384 >> 15; - var3 = var3 * this.field2394 + 128 >> 8; - if (var2.field2368 > 0) { - var3 = (int)((double)var3 * Math.pow(0.5D, (double)var2.field2368 * 1.953125E-5D * (double)var1.field2414) + 0.5D); - } - - int var4; - int var5; - int var6; - int var7; - if (var2.field2365 != null) { - var4 = var1.field2423; - var5 = var2.field2365[var1.field2424 * 4 + 1]; - if (var1.field2424 * 4 < var2.field2365.length - 2) { - var6 = (var2.field2365[var1.field2424 * 4] & 255) << 8; - var7 = (var2.field2365[var1.field2424 * 4 + 2] & 255) << 8; - var5 += (var2.field2365[var1.field2424 * 4 + 3] - var5) * (var4 - var6) / (var7 - var6); - } - - var3 = var3 * var5 + 32 >> 6; - } - - if (var1.field2425 > 0 && var2.field2361 != null) { - var4 = var1.field2425; - var5 = var2.field2361[var1.field2416 * 4 + 1]; - if (var1.field2416 * 4 < var2.field2361.length - 2) { - var6 = (var2.field2361[var1.field2416 * 4] & 255) << 8; - var7 = (var2.field2361[var1.field2416 * 4 + 2] & 255) << 8; - var5 += (var4 - var6) * (var2.field2361[var1.field2416 * 4 + 3] - var5) / (var7 - var6); - } - - var3 = var3 * var5 + 32 >> 6; - } - - return var3; - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(Lgs;B)I", - garbageValue = "-84" - ) - int method3768(MusicPatchNode var1) { - int var2 = this.field2386[var1.field2431]; - return var2 < 8192 ? var2 * var1.field2418 + 32 >> 6 : 16384 - ((128 - var1.field2418) * (16384 - var2) + 32 >> 6); - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1899484159" - ) - void method3719() { - int var1 = this.track; - int var2 = this.trackLength; - - long var3; - for (var3 = this.field2408; var2 == this.trackLength; var3 = this.midiFile.method3857(var2)) { - while (var2 == this.midiFile.trackLengths[var1]) { - this.midiFile.gotoTrack(var1); - int var5 = this.midiFile.readMessage(var1); - if (var5 == 1) { - this.midiFile.setTrackDone(); - this.midiFile.markTrackPosition(var1); - if (this.midiFile.isDone()) { - if (!this.field2404 || var2 == 0) { - this.method3706(); - this.midiFile.clear(); - return; - } - - this.midiFile.reset(var3); - } - break; - } - - if ((var5 & 128) != 0) { - this.method3735(var5); - } - - this.midiFile.readTrackLength(var1); - this.midiFile.markTrackPosition(var1); - } - - var1 = this.midiFile.getPrioritizedTrack(); - var2 = this.midiFile.trackLengths[var1]; - } - - this.track = var1; - this.trackLength = var2; - this.field2408 = var3; - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(Lgs;I)Z", - garbageValue = "559345997" - ) - boolean method3720(MusicPatchNode var1) { - if (var1.stream == null) { - if (var1.field2425 >= 0) { - var1.remove(); - if (var1.field2426 > 0 && var1 == this.field2402[var1.field2431][var1.field2426]) { - this.field2402[var1.field2431][var1.field2426] = null; - } - } - - return true; - } else { - return false; - } - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(Lgs;[IIII)Z", - garbageValue = "-647308789" - ) - boolean method3721(MusicPatchNode var1, int[] var2, int var3, int var4) { - var1.field2430 = GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate / 100; - if (var1.field2425 < 0 || var1.stream != null && !var1.stream.method2583()) { - int var5 = var1.field2433; - if (var5 > 0) { - var5 -= (int)(16.0D * Math.pow(2.0D, (double)this.field2393[var1.field2431] * 4.921259842519685E-4D) + 0.5D); - if (var5 < 0) { - var5 = 0; - } - - var1.field2433 = var5; - } - - var1.stream.method2525(this.method3788(var1)); - MusicPatchNode2 var6 = var1.field2415; - boolean var7 = false; - ++var1.field2427; - var1.field2428 += var6.field2367; - double var8 = (double)((var1.field2413 - 60 << 8) + (var1.field2433 * var1.field2420 >> 12)) * 5.086263020833333E-6D; - if (var6.field2368 > 0) { - if (var6.field2363 > 0) { - var1.field2414 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2363 * var8) + 0.5D); - } else { - var1.field2414 += 128; - } - } - - if (var6.field2365 != null) { - if (var6.field2360 > 0) { - var1.field2423 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2360) + 0.5D); - } else { - var1.field2423 += 128; - } - - while (var1.field2424 * 4 < var6.field2365.length - 2 && var1.field2423 > (var6.field2365[var1.field2424 * 4 + 2] & 255) << 8) { - var1.field2424 = var1.field2424 * 4 + 2; - } - - if (var1.field2424 * 4 == var6.field2365.length - 2 && var6.field2365[var1.field2424 * 4 + 1] == 0) { - var7 = true; - } - } - - if (var1.field2425 >= 0 && var6.field2361 != null && (this.field2395[var1.field2431] & 1) == 0 && (var1.field2426 < 0 || var1 != this.field2402[var1.field2431][var1.field2426])) { - if (var6.field2364 > 0) { - var1.field2425 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2364) + 0.5D); - } else { - var1.field2425 += 128; - } - - while (var1.field2416 * 4 < var6.field2361.length - 2 && var1.field2425 > (var6.field2361[var1.field2416 * 4 + 2] & 255) << 8) { - var1.field2416 = var1.field2416 * 4 + 2; - } - - if (var1.field2416 * 4 == var6.field2361.length - 2) { - var7 = true; - } - } - - if (var7) { - var1.stream.method2541(var1.field2430); - if (var2 != null) { - var1.stream.fill(var2, var3, var4); - } else { - var1.stream.skip(var4); - } - - if (var1.stream.method2606()) { - this.patchStream.mixer.addSubStream(var1.stream); - } - - var1.method3810(); - if (var1.field2425 >= 0) { - var1.remove(); - if (var1.field2426 > 0 && var1 == this.field2402[var1.field2431][var1.field2426]) { - this.field2402[var1.field2431][var1.field2426] = null; - } - } - - return true; - } else { - var1.stream.method2523(var1.field2430, this.method3786(var1), this.method3768(var1)); - return false; - } - } else { - var1.method3810(); - var1.remove(); - if (var1.field2426 > 0 && var1 == this.field2402[var1.field2431][var1.field2426]) { - this.field2402[var1.field2431][var1.field2426] = null; - } - - return true; - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1312373259" - ) - static void method3769() { - GrandExchangeOffer.field67 = new int[2000]; - int var0 = 0; - int var1 = 240; - - int var3; - for (byte var2 = 12; var0 < 16; var1 -= var2) { - var3 = FontName.method5287((double)((float)var1 / 360.0F), 0.9998999834060669D, (double)(0.425F * (float)var0 / 16.0F + 0.075F)); - GrandExchangeOffer.field67[var0] = var3; - ++var0; - } - - var1 = 48; - - for (int var5 = var1 / 6; var0 < GrandExchangeOffer.field67.length; var1 -= var5) { - var3 = var0 * 2; - - for (int var4 = FontName.method5287((double)((float)var1 / 360.0F), 0.9998999834060669D, 0.5D); var0 < var3 && var0 < GrandExchangeOffer.field67.length; ++var0) { - GrandExchangeOffer.field67[var0] = var4; - } - } - - } -} +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("gb") +@Implements("MidiPcmStream") +public class MidiPcmStream extends PcmStream { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("musicPatches") + NodeHashTable musicPatches; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1432283379 + ) + int field2393; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 621704105 + ) + int field2394; + @ObfuscatedName("u") + int[] field2409; + @ObfuscatedName("r") + int[] field2405; + @ObfuscatedName("p") + int[] field2407; + @ObfuscatedName("q") + int[] field2398; + @ObfuscatedName("m") + int[] field2395; + @ObfuscatedName("y") + int[] field2400; + @ObfuscatedName("i") + int[] field2399; + @ObfuscatedName("c") + int[] field2402; + @ObfuscatedName("b") + int[] field2403; + @ObfuscatedName("h") + int[] field2404; + @ObfuscatedName("s") + int[] field2392; + @ObfuscatedName("f") + int[] field2418; + @ObfuscatedName("j") + int[] field2408; + @ObfuscatedName("d") + int[] field2406; + @ObfuscatedName("l") + int[] field2401; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "[[Lgu;" + ) + MusicPatchNode[][] field2410; + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "[[Lgu;" + ) + MusicPatchNode[][] field2411; + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "Lgc;" + ) + @Export("midiFile") + MidiFileReader midiFile; + @ObfuscatedName("aw") + boolean field2413; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 442651773 + ) + @Export("track") + int track; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = -532588397 + ) + @Export("trackLength") + int trackLength; + @ObfuscatedName("ar") + @ObfuscatedGetter( + longValue = -7808892689914607303L + ) + long field2416; + @ObfuscatedName("ab") + @ObfuscatedGetter( + longValue = -2211095128418699139L + ) + long field2417; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "Lgp;" + ) + @Export("patchStream") + MusicPatchPcmStream patchStream; + + public MidiPcmStream() { + this.field2393 = 256; + this.field2394 = 1000000; + this.field2409 = new int[16]; + this.field2405 = new int[16]; + this.field2407 = new int[16]; + this.field2398 = new int[16]; + this.field2395 = new int[16]; + this.field2400 = new int[16]; + this.field2399 = new int[16]; + this.field2402 = new int[16]; + this.field2403 = new int[16]; + this.field2404 = new int[16]; + this.field2392 = new int[16]; + this.field2418 = new int[16]; + this.field2408 = new int[16]; + this.field2406 = new int[16]; + this.field2401 = new int[16]; + this.field2410 = new MusicPatchNode[16][128]; + this.field2411 = new MusicPatchNode[16][128]; + this.midiFile = new MidiFileReader(); + this.patchStream = new MusicPatchPcmStream(this); + this.musicPatches = new NodeHashTable(128); + this.method3681(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1812413582" + ) + public synchronized void method3751(int var1) { + this.field2393 = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1892008992" + ) + public int method3736() { + return this.field2393; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lgh;Lhp;Ldq;II)Z", + garbageValue = "-1805357835" + ) + @Export("loadMusicTrack") + public synchronized boolean loadMusicTrack(MusicTrack var1, AbstractArchive var2, SoundCache var3, int var4) { + var1.method3886(); + boolean var5 = true; + int[] var6 = null; + if (var4 > 0) { + var6 = new int[]{var4}; + } + + for (ByteArrayNode var7 = (ByteArrayNode)var1.table.first(); var7 != null; var7 = (ByteArrayNode)var1.table.next()) { + int var8 = (int)var7.key; + MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)var8); + if (var9 == null) { + var9 = WorldMapRegion.method519(var2, var8); + if (var9 == null) { + var5 = false; + continue; + } + + this.musicPatches.put(var9, (long)var8); + } + + if (!var9.method3847(var3, var7.byteArray, var6)) { + var5 = false; + } + } + + if (var5) { + var1.clear(); + } + + return var5; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1194981634" + ) + @Export("clearAll") + public synchronized void clearAll() { + for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { + var1.clear(); + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1548831069" + ) + @Export("removeAll") + public synchronized void removeAll() { + for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { + var1.remove(); + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("firstSubStream") + protected synchronized PcmStream firstSubStream() { + return this.patchStream; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("nextSubStream") + protected synchronized PcmStream nextSubStream() { + return null; + } + + @ObfuscatedName("m") + protected synchronized int vmethod3873() { + return 0; + } + + @ObfuscatedName("y") + @Export("fill") + protected synchronized void fill(int[] var1, int var2, int var3) { + if (this.midiFile.isReady()) { + int var4 = this.midiFile.division * this.field2394 * -727379968 / UrlRequest.PcmPlayer_sampleRate; + + do { + long var5 = this.field2416 + (long)var4 * (long)var3; + if (this.field2417 - var5 >= 0L) { + this.field2416 = var5; + break; + } + + int var7 = (int)((this.field2417 - this.field2416 + (long)var4 - 1L) / (long)var4); + this.field2416 += (long)var7 * (long)var4; + this.patchStream.fill(var1, var2, var7); + var2 += var7; + var3 -= var7; + this.method3731(); + } while(this.midiFile.isReady()); + } + + this.patchStream.fill(var1, var2, var3); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Lgh;ZI)V", + garbageValue = "1917268302" + ) + @Export("setMusicTrack") + public synchronized void setMusicTrack(MusicTrack var1, boolean var2) { + this.clear(); + this.midiFile.parse(var1.midi); + this.field2413 = var2; + this.field2416 = 0L; + int var3 = this.midiFile.trackCount(); + + for (int var4 = 0; var4 < var3; ++var4) { + this.midiFile.gotoTrack(var4); + this.midiFile.readTrackLength(var4); + this.midiFile.markTrackPosition(var4); + } + + this.track = this.midiFile.getPrioritizedTrack(); + this.trackLength = this.midiFile.trackLengths[this.track]; + this.field2417 = this.midiFile.method3804(this.trackLength); + } + + @ObfuscatedName("c") + @Export("skip") + protected synchronized void skip(int var1) { + if (this.midiFile.isReady()) { + int var2 = this.midiFile.division * this.field2394 * -727379968 / UrlRequest.PcmPlayer_sampleRate; + + do { + long var3 = this.field2416 + (long)var2 * (long)var1; + if (this.field2417 - var3 >= 0L) { + this.field2416 = var3; + break; + } + + int var5 = (int)((this.field2417 - this.field2416 + (long)var2 - 1L) / (long)var2); + this.field2416 += (long)var5 * (long)var2; + this.patchStream.skip(var5); + var1 -= var5; + this.method3731(); + } while(this.midiFile.isReady()); + } + + this.patchStream.skip(var1); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-36" + ) + @Export("clear") + public synchronized void clear() { + this.midiFile.clear(); + this.method3681(); + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-842698736" + ) + @Export("isReady") + public synchronized boolean isReady() { + return this.midiFile.isReady(); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-50" + ) + public synchronized void method3737(int var1, int var2) { + this.method3738(var1, var2); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "14" + ) + void method3738(int var1, int var2) { + this.field2398[var1] = var2; + this.field2400[var1] = var2 & -128; + this.method3671(var1, var2); + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1745754026" + ) + void method3671(int var1, int var2) { + if (var2 != this.field2395[var1]) { + this.field2395[var1] = var2; + + for (int var3 = 0; var3 < 128; ++var3) { + this.field2411[var1][var3] = null; + } + } + + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "828963250" + ) + void method3729(int var1, int var2, int var3) { + this.method3674(var1, var2, 64); + if ((this.field2404[var1] & 2) != 0) { + for (MusicPatchNode var4 = (MusicPatchNode)this.patchStream.queue.first(); var4 != null; var4 = (MusicPatchNode)this.patchStream.queue.next()) { + if (var4.field2420 == var1 && var4.field2433 < 0) { + this.field2410[var1][var4.field2424] = null; + this.field2410[var1][var2] = var4; + int var5 = (var4.field2429 * var4.field2441 >> 12) + var4.field2427; + var4.field2427 += var2 - var4.field2424 << 8; + var4.field2441 = var5 - var4.field2427; + var4.field2429 = 4096; + var4.field2424 = var2; + return; + } + } + } + + MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)this.field2395[var1]); + if (var9 != null) { + RawSound var8 = var9.rawSounds[var2]; + if (var8 != null) { + MusicPatchNode var6 = new MusicPatchNode(); + var6.field2420 = var1; + var6.patch = var9; + var6.rawSound = var8; + var6.field2435 = var9.field2462[var2]; + var6.field2423 = var9.field2460[var2]; + var6.field2424 = var2; + var6.field2425 = var3 * var3 * var9.field2459[var2] * var9.field2458 + 1024 >> 11; + var6.field2426 = var9.field2456[var2] & 255; + var6.field2427 = (var2 << 8) - (var9.field2457[var2] & 32767); + var6.field2428 = 0; + var6.field2431 = 0; + var6.field2432 = 0; + var6.field2433 = -1; + var6.field2434 = 0; + if (this.field2408[var1] == 0) { + var6.stream = RawPcmStream.method2544(var8, this.method3686(var6), this.method3687(var6), this.method3742(var6)); + } else { + var6.stream = RawPcmStream.method2544(var8, this.method3686(var6), 0, this.method3742(var6)); + this.method3673(var6, var9.field2457[var2] < 0); + } + + if (var9.field2457[var2] < 0) { + var6.stream.setNumLoops(-1); + } + + if (var6.field2423 >= 0) { + MusicPatchNode var7 = this.field2411[var1][var6.field2423]; + if (var7 != null && var7.field2433 < 0) { + this.field2410[var1][var7.field2424] = null; + var7.field2433 = 0; + } + + this.field2411[var1][var6.field2423] = var6; + } + + this.patchStream.queue.addFirst(var6); + this.field2410[var1][var2] = var6; + } + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(Lgu;ZB)V", + garbageValue = "-87" + ) + void method3673(MusicPatchNode var1, boolean var2) { + int var3 = var1.rawSound.samples.length; + int var4; + if (var2 && var1.rawSound.field1369) { + int var5 = var3 + var3 - var1.rawSound.start; + var4 = (int)((long)this.field2408[var1.field2420] * (long)var5 >> 6); + var3 <<= 8; + if (var4 >= var3) { + var4 = var3 + var3 - 1 - var4; + var1.stream.method2521(); + } + } else { + var4 = (int)((long)var3 * (long)this.field2408[var1.field2420] >> 6); + } + + var1.stream.method2577(var4); + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "97221829" + ) + void method3674(int var1, int var2, int var3) { + MusicPatchNode var4 = this.field2410[var1][var2]; + if (var4 != null) { + this.field2410[var1][var2] = null; + if ((this.field2404[var1] & 2) != 0) { + for (MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var4.field2420 == var5.field2420 && var5.field2433 < 0 && var4 != var5) { + var4.field2433 = 0; + break; + } + } + } else { + var4.field2433 = 0; + } + + } + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-1518043222" + ) + void method3675(int var1, int var2, int var3) { + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-752934894" + ) + void method3779(int var1, int var2) { + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "896514567" + ) + void method3677(int var1, int var2) { + this.field2399[var1] = var2; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1124863656" + ) + void method3678(int var1) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var1 < 0 || var2.field2420 == var1) { + if (var2.stream != null) { + var2.stream.method2525(UrlRequest.PcmPlayer_sampleRate / 100); + if (var2.stream.method2529()) { + this.patchStream.mixer.addSubStream(var2.stream); + } + + var2.method3785(); + } + + if (var2.field2433 < 0) { + this.field2410[var2.field2420][var2.field2424] = null; + } + + var2.remove(); + } + } + + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-61" + ) + void method3679(int var1) { + if (var1 >= 0) { + this.field2409[var1] = 12800; + this.field2405[var1] = 8192; + this.field2407[var1] = 16383; + this.field2399[var1] = 8192; + this.field2402[var1] = 0; + this.field2403[var1] = 8192; + this.method3682(var1); + this.method3683(var1); + this.field2404[var1] = 0; + this.field2392[var1] = 32767; + this.field2418[var1] = 256; + this.field2408[var1] = 0; + this.method3735(var1, 8192); + } else { + for (var1 = 0; var1 < 16; ++var1) { + this.method3679(var1); + } + + } + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-91" + ) + void method3776(int var1) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if ((var1 < 0 || var2.field2420 == var1) && var2.field2433 < 0) { + this.field2410[var2.field2420][var2.field2424] = null; + var2.field2433 = 0; + } + } + + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "997152444" + ) + void method3681() { + this.method3678(-1); + this.method3679(-1); + + int var1; + for (var1 = 0; var1 < 16; ++var1) { + this.field2395[var1] = this.field2398[var1]; + } + + for (var1 = 0; var1 < 16; ++var1) { + this.field2400[var1] = this.field2398[var1] & -128; + } + + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "91" + ) + void method3682(int var1) { + if ((this.field2404[var1] & 2) != 0) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var2.field2420 == var1 && this.field2410[var1][var2.field2424] == null && var2.field2433 < 0) { + var2.field2433 = 0; + } + } + } + + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1884831875" + ) + void method3683(int var1) { + if ((this.field2404[var1] & 4) != 0) { + for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var2.field2420 == var1) { + var2.field2419 = 0; + } + } + } + + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1837545367" + ) + void method3759(int var1) { + int var2 = var1 & 240; + int var3; + int var4; + int var5; + if (var2 == 128) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + this.method3674(var3, var4, var5); + } else if (var2 == 144) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + if (var5 > 0) { + this.method3729(var3, var4, var5); + } else { + this.method3674(var3, var4, 64); + } + + } else if (var2 == 160) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + this.method3675(var3, var4, var5); + } else if (var2 == 176) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + if (var4 == 0) { + this.field2400[var3] = (var5 << 14) + (this.field2400[var3] & -2080769); + } + + if (var4 == 32) { + this.field2400[var3] = (var5 << 7) + (this.field2400[var3] & -16257); + } + + if (var4 == 1) { + this.field2402[var3] = (var5 << 7) + (this.field2402[var3] & -16257); + } + + if (var4 == 33) { + this.field2402[var3] = var5 + (this.field2402[var3] & -128); + } + + if (var4 == 5) { + this.field2403[var3] = (var5 << 7) + (this.field2403[var3] & -16257); + } + + if (var4 == 37) { + this.field2403[var3] = var5 + (this.field2403[var3] & -128); + } + + if (var4 == 7) { + this.field2409[var3] = (var5 << 7) + (this.field2409[var3] & -16257); + } + + if (var4 == 39) { + this.field2409[var3] = var5 + (this.field2409[var3] & -128); + } + + if (var4 == 10) { + this.field2405[var3] = (var5 << 7) + (this.field2405[var3] & -16257); + } + + if (var4 == 42) { + this.field2405[var3] = var5 + (this.field2405[var3] & -128); + } + + if (var4 == 11) { + this.field2407[var3] = (var5 << 7) + (this.field2407[var3] & -16257); + } + + if (var4 == 43) { + this.field2407[var3] = var5 + (this.field2407[var3] & -128); + } + + int[] var10000; + if (var4 == 64) { + if (var5 >= 64) { + var10000 = this.field2404; + var10000[var3] |= 1; + } else { + var10000 = this.field2404; + var10000[var3] &= -2; + } + } + + if (var4 == 65) { + if (var5 >= 64) { + var10000 = this.field2404; + var10000[var3] |= 2; + } else { + this.method3682(var3); + var10000 = this.field2404; + var10000[var3] &= -3; + } + } + + if (var4 == 99) { + this.field2392[var3] = (var5 << 7) + (this.field2392[var3] & 127); + } + + if (var4 == 98) { + this.field2392[var3] = (this.field2392[var3] & 16256) + var5; + } + + if (var4 == 101) { + this.field2392[var3] = (var5 << 7) + (this.field2392[var3] & 127) + 16384; + } + + if (var4 == 100) { + this.field2392[var3] = (this.field2392[var3] & 16256) + var5 + 16384; + } + + if (var4 == 120) { + this.method3678(var3); + } + + if (var4 == 121) { + this.method3679(var3); + } + + if (var4 == 123) { + this.method3776(var3); + } + + int var6; + if (var4 == 6) { + var6 = this.field2392[var3]; + if (var6 == 16384) { + this.field2418[var3] = (var5 << 7) + (this.field2418[var3] & -16257); + } + } + + if (var4 == 38) { + var6 = this.field2392[var3]; + if (var6 == 16384) { + this.field2418[var3] = var5 + (this.field2418[var3] & -128); + } + } + + if (var4 == 16) { + this.field2408[var3] = (var5 << 7) + (this.field2408[var3] & -16257); + } + + if (var4 == 48) { + this.field2408[var3] = var5 + (this.field2408[var3] & -128); + } + + if (var4 == 81) { + if (var5 >= 64) { + var10000 = this.field2404; + var10000[var3] |= 4; + } else { + this.method3683(var3); + var10000 = this.field2404; + var10000[var3] &= -5; + } + } + + if (var4 == 17) { + this.method3735(var3, (var5 << 7) + (this.field2406[var3] & -16257)); + } + + if (var4 == 49) { + this.method3735(var3, var5 + (this.field2406[var3] & -128)); + } + + } else if (var2 == 192) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + this.method3671(var3, var4 + this.field2400[var3]); + } else if (var2 == 208) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + this.method3779(var3, var4); + } else if (var2 == 224) { + var3 = var1 & 15; + var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); + this.method3677(var3, var4); + } else { + var2 = var1 & 255; + if (var2 == 255) { + this.method3681(); + } + } + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1166869867" + ) + void method3735(int var1, int var2) { + this.field2406[var1] = var2; + this.field2401[var1] = (int)(2097152.0D * Math.pow(2.0D, 5.4931640625E-4D * (double)var2) + 0.5D); + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(Lgu;I)I", + garbageValue = "-1249853166" + ) + int method3686(MusicPatchNode var1) { + int var2 = (var1.field2441 * var1.field2429 >> 12) + var1.field2427; + var2 += (this.field2399[var1.field2420] - 8192) * this.field2418[var1.field2420] >> 12; + MusicPatchNode2 var3 = var1.field2435; + int var4; + if (var3.field2380 > 0 && (var3.field2379 > 0 || this.field2402[var1.field2420] > 0)) { + var4 = var3.field2379 << 2; + int var5 = var3.field2381 << 1; + if (var1.field2439 < var5) { + var4 = var4 * var1.field2439 / var5; + } + + var4 += this.field2402[var1.field2420] >> 7; + double var6 = Math.sin((double)(var1.field2436 & 511) * 0.01227184630308513D); + var2 += (int)((double)var4 * var6); + } + + var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, 3.255208333333333E-4D * (double)var2) / (double)UrlRequest.PcmPlayer_sampleRate + 0.5D); + return var4 < 1 ? 1 : var4; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "(Lgu;I)I", + garbageValue = "8582462" + ) + int method3687(MusicPatchNode var1) { + MusicPatchNode2 var2 = var1.field2435; + int var3 = this.field2409[var1.field2420] * this.field2407[var1.field2420] + 4096 >> 13; + var3 = var3 * var3 + 16384 >> 15; + var3 = var3 * var1.field2425 + 16384 >> 15; + var3 = var3 * this.field2393 + 128 >> 8; + if (var2.field2375 > 0) { + var3 = (int)((double)var3 * Math.pow(0.5D, (double)var1.field2428 * 1.953125E-5D * (double)var2.field2375) + 0.5D); + } + + int var4; + int var5; + int var6; + int var7; + if (var2.field2376 != null) { + var4 = var1.field2431; + var5 = var2.field2376[var1.field2432 * 4 + 1]; + if (var1.field2432 * 4 < var2.field2376.length - 2) { + var6 = (var2.field2376[var1.field2432 * 4] & 255) << 8; + var7 = (var2.field2376[var1.field2432 * 4 + 2] & 255) << 8; + var5 += (var4 - var6) * (var2.field2376[var1.field2432 * 4 + 3] - var5) / (var7 - var6); + } + + var3 = var5 * var3 + 32 >> 6; + } + + if (var1.field2433 > 0 && var2.field2374 != null) { + var4 = var1.field2433; + var5 = var2.field2374[var1.field2434 * 4 + 1]; + if (var1.field2434 * 4 < var2.field2374.length - 2) { + var6 = (var2.field2374[var1.field2434 * 4] & 255) << 8; + var7 = (var2.field2374[var1.field2434 * 4 + 2] & 255) << 8; + var5 += (var2.field2374[var1.field2434 * 4 + 3] - var5) * (var4 - var6) / (var7 - var6); + } + + var3 = var3 * var5 + 32 >> 6; + } + + return var3; + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "(Lgu;I)I", + garbageValue = "19850751" + ) + int method3742(MusicPatchNode var1) { + int var2 = this.field2405[var1.field2420]; + return var2 < 8192 ? var2 * var1.field2426 + 32 >> 6 : 16384 - ((128 - var1.field2426) * (16384 - var2) + 32 >> 6); + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1542890504" + ) + void method3731() { + int var1 = this.track; + int var2 = this.trackLength; + + long var3; + for (var3 = this.field2417; var2 == this.trackLength; var3 = this.midiFile.method3804(var2)) { + while (var2 == this.midiFile.trackLengths[var1]) { + this.midiFile.gotoTrack(var1); + int var5 = this.midiFile.readMessage(var1); + if (var5 == 1) { + this.midiFile.setTrackDone(); + this.midiFile.markTrackPosition(var1); + if (this.midiFile.isDone()) { + if (!this.field2413 || var2 == 0) { + this.method3681(); + this.midiFile.clear(); + return; + } + + this.midiFile.reset(var3); + } + break; + } + + if ((var5 & 128) != 0) { + this.method3759(var5); + } + + this.midiFile.readTrackLength(var1); + this.midiFile.markTrackPosition(var1); + } + + var1 = this.midiFile.getPrioritizedTrack(); + var2 = this.midiFile.trackLengths[var1]; + } + + this.track = var1; + this.trackLength = var2; + this.field2417 = var3; + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "(Lgu;I)Z", + garbageValue = "1629954628" + ) + boolean method3695(MusicPatchNode var1) { + if (var1.stream == null) { + if (var1.field2433 >= 0) { + var1.remove(); + if (var1.field2423 > 0 && var1 == this.field2411[var1.field2420][var1.field2423]) { + this.field2411[var1.field2420][var1.field2423] = null; + } + } + + return true; + } else { + return false; + } + } + + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "(Lgu;[IIII)Z", + garbageValue = "-1178188591" + ) + boolean method3696(MusicPatchNode var1, int[] var2, int var3, int var4) { + var1.field2438 = UrlRequest.PcmPlayer_sampleRate / 100; + if (var1.field2433 < 0 || var1.stream != null && !var1.stream.method2528()) { + int var5 = var1.field2429; + if (var5 > 0) { + var5 -= (int)(16.0D * Math.pow(2.0D, 4.921259842519685E-4D * (double)this.field2403[var1.field2420]) + 0.5D); + if (var5 < 0) { + var5 = 0; + } + + var1.field2429 = var5; + } + + var1.stream.method2526(this.method3686(var1)); + MusicPatchNode2 var6 = var1.field2435; + boolean var7 = false; + ++var1.field2439; + var1.field2436 += var6.field2380; + double var8 = 5.086263020833333E-6D * (double)((var1.field2424 - 60 << 8) + (var1.field2441 * var1.field2429 >> 12)); + if (var6.field2375 > 0) { + if (var6.field2378 > 0) { + var1.field2428 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2378 * var8) + 0.5D); + } else { + var1.field2428 += 128; + } + } + + if (var6.field2376 != null) { + if (var6.field2373 > 0) { + var1.field2431 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2373 * var8) + 0.5D); + } else { + var1.field2431 += 128; + } + + while (var1.field2432 * 4 < var6.field2376.length - 2 && var1.field2431 > (var6.field2376[var1.field2432 * 4 + 2] & 255) << 8) { + var1.field2432 = var1.field2432 * 4 + 2; + } + + if (var1.field2432 * 4 == var6.field2376.length - 2 && var6.field2376[var1.field2432 * 4 + 1] == 0) { + var7 = true; + } + } + + if (var1.field2433 >= 0 && var6.field2374 != null && (this.field2404[var1.field2420] & 1) == 0 && (var1.field2423 < 0 || var1 != this.field2411[var1.field2420][var1.field2423])) { + if (var6.field2377 > 0) { + var1.field2433 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2377 * var8) + 0.5D); + } else { + var1.field2433 += 128; + } + + while (var1.field2434 * 4 < var6.field2374.length - 2 && var1.field2433 > (var6.field2374[var1.field2434 * 4 + 2] & 255) << 8) { + var1.field2434 = var1.field2434 * 4 + 2; + } + + if (var1.field2434 * 4 == var6.field2374.length - 2) { + var7 = true; + } + } + + if (var7) { + var1.stream.method2525(var1.field2438); + if (var2 != null) { + var1.stream.fill(var2, var3, var4); + } else { + var1.stream.skip(var4); + } + + if (var1.stream.method2529()) { + this.patchStream.mixer.addSubStream(var1.stream); + } + + var1.method3785(); + if (var1.field2433 >= 0) { + var1.remove(); + if (var1.field2423 > 0 && var1 == this.field2411[var1.field2420][var1.field2423]) { + this.field2411[var1.field2420][var1.field2423] = null; + } + } + + return true; + } else { + var1.stream.method2524(var1.field2438, this.method3687(var1), this.method3742(var1)); + return false; + } + } else { + var1.method3785(); + var1.remove(); + if (var1.field2423 > 0 && var1 == this.field2411[var1.field2420][var1.field2423]) { + this.field2411[var1.field2420][var1.field2423] = null; + } + + return true; + } + } +} diff --git a/runescape-client/src/main/java/MilliClock.java b/runescape-client/src/main/java/MilliClock.java index 596e2438d1..7bb58ba842 100644 --- a/runescape-client/src/main/java/MilliClock.java +++ b/runescape-client/src/main/java/MilliClock.java @@ -1,161 +1,140 @@ -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("fs") -@Implements("MilliClock") -public class MilliClock extends Clock { - @ObfuscatedName("qb") - @ObfuscatedGetter( - intValue = -669204480 - ) - static int field1990; - @ObfuscatedName("c") - long[] field1982; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1242742979 - ) - int field1983; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1756511381 - ) - int field1991; - @ObfuscatedName("g") - @ObfuscatedGetter( - longValue = 2067357926353532881L - ) - long field1985; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1118758251 - ) - int field1986; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1868084299 - ) - int field1987; - - MilliClock() { - this.field1982 = new long[10]; - this.field1983 = 256; - this.field1991 = 1; - this.field1986 = 0; - this.field1985 = SoundCache.method2480(); - - for (int var1 = 0; var1 < 10; ++var1) { - this.field1982[var1] = this.field1985; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-250719361" - ) - @Export("mark") - public void mark() { - for (int var1 = 0; var1 < 10; ++var1) { - this.field1982[var1] = 0L; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1652957447" - ) - @Export("wait") - public int wait(int var1, int var2) { - int var3 = this.field1983; - int var4 = this.field1991; - this.field1983 = 300; - this.field1991 = 1; - this.field1985 = SoundCache.method2480(); - if (this.field1982[this.field1987] == 0L) { - this.field1983 = var3; - this.field1991 = var4; - } else if (this.field1985 > this.field1982[this.field1987]) { - this.field1983 = (int)((long)(var1 * 2560) / (this.field1985 - this.field1982[this.field1987])); - } - - if (this.field1983 < 25) { - this.field1983 = 25; - } - - if (this.field1983 > 256) { - this.field1983 = 256; - this.field1991 = (int)((long)var1 - (this.field1985 - this.field1982[this.field1987]) / 10L); - } - - if (this.field1991 > var1) { - this.field1991 = var1; - } - - this.field1982[this.field1987] = this.field1985; - this.field1987 = (this.field1987 + 1) % 10; - int var5; - if (this.field1991 > 1) { - for (var5 = 0; var5 < 10; ++var5) { - if (0L != this.field1982[var5]) { - this.field1982[var5] += (long)this.field1991; - } - } - } - - if (this.field1991 < var2) { - this.field1991 = var2; - } - - FriendsList.sleepMillis((long)this.field1991); - - for (var5 = 0; this.field1986 < 256; this.field1986 += this.field1983) { - ++var5; - } - - this.field1986 &= 255; - return var5; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;ZB)[B", - garbageValue = "-72" - ) - @Export("serialize") - public static byte[] serialize(Object var0, boolean var1) { - if (var0 == null) { - return null; - } else if (var0 instanceof byte[]) { - byte[] var6 = (byte[])((byte[])var0); - if (var1) { - int var4 = var6.length; - byte[] var5 = new byte[var4]; - System.arraycopy(var6, 0, var5, 0, var4); - return var5; - } else { - return var6; - } - } else if (var0 instanceof AbstractByteArrayCopier) { - AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; - return var2.get(); - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "578447595" - ) - public static boolean method3432(int var0) { - return (var0 >> 30 & 1) != 0; - } -} +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("fc") +@Implements("MilliClock") +public class MilliClock extends Clock { + @ObfuscatedName("z") + long[] field1993; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1174263325 + ) + int field1992; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -133065269 + ) + int field1994; + @ObfuscatedName("u") + @ObfuscatedGetter( + longValue = 4855142476282651555L + ) + long field1997; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -118742351 + ) + int field1996; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -432514755 + ) + int field1995; + + MilliClock() { + this.field1993 = new long[10]; + this.field1992 = 256; + this.field1994 = 1; + this.field1996 = 0; + this.field1997 = class30.method566(); + + for (int var1 = 0; var1 < 10; ++var1) { + this.field1993[var1] = this.field1997; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-54" + ) + @Export("mark") + public void mark() { + for (int var1 = 0; var1 < 10; ++var1) { + this.field1993[var1] = 0L; + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "569029249" + ) + @Export("wait") + public int wait(int var1, int var2) { + int var3 = this.field1992; + int var4 = this.field1994; + this.field1992 = 300; + this.field1994 = 1; + this.field1997 = class30.method566(); + if (0L == this.field1993[this.field1995]) { + this.field1992 = var3; + this.field1994 = var4; + } else if (this.field1997 > this.field1993[this.field1995]) { + this.field1992 = (int)((long)(var1 * 2560) / (this.field1997 - this.field1993[this.field1995])); + } + + if (this.field1992 < 25) { + this.field1992 = 25; + } + + if (this.field1992 > 256) { + this.field1992 = 256; + this.field1994 = (int)((long)var1 - (this.field1997 - this.field1993[this.field1995]) / 10L); + } + + if (this.field1994 > var1) { + this.field1994 = var1; + } + + this.field1993[this.field1995] = this.field1997; + this.field1995 = (this.field1995 + 1) % 10; + if (this.field1994 > 1) { + for (int var5 = 0; var5 < 10; ++var5) { + if (0L != this.field1993[var5]) { + this.field1993[var5] += (long)this.field1994; + } + } + } + + if (this.field1994 < var2) { + this.field1994 = var2; + } + + long var10 = (long)this.field1994; + if (var10 > 0L) { + if (var10 % 10L == 0L) { + long var7 = var10 - 1L; + + try { + Thread.sleep(var7); + } catch (InterruptedException var16) { + } + + try { + Thread.sleep(1L); + } catch (InterruptedException var15) { + } + } else { + try { + Thread.sleep(var10); + } catch (InterruptedException var14) { + } + } + } + + int var13; + for (var13 = 0; this.field1996 < 256; this.field1996 += this.field1992) { + ++var13; + } + + this.field1996 &= 255; + return var13; + } +} diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java index e9d797eb16..47341a4b13 100644 --- a/runescape-client/src/main/java/Model.java +++ b/runescape-client/src/main/java/Model.java @@ -1,1744 +1,1732 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dr") -@Implements("Model") -public class Model extends Entity { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ldr;" - ) - @Export("Model_sharedSequenceModel") - static Model Model_sharedSequenceModel; - @ObfuscatedName("x") - @Export("Model_sharedSequenceModelFaceAlphas") - static byte[] Model_sharedSequenceModelFaceAlphas; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Ldr;" - ) - @Export("Model_sharedSpotAnimationModel") - static Model Model_sharedSpotAnimationModel; - @ObfuscatedName("g") - @Export("Model_sharedSpotAnimationModelFaceAlphas") - static byte[] Model_sharedSpotAnimationModelFaceAlphas; - @ObfuscatedName("ak") - static boolean[] field1697; - @ObfuscatedName("ay") - static boolean[] field1685; - @ObfuscatedName("ae") - @Export("modelViewportXs") - static int[] modelViewportXs; - @ObfuscatedName("ah") - @Export("modelViewportYs") - static int[] modelViewportYs; - @ObfuscatedName("aa") - static int[] field1680; - @ObfuscatedName("aq") - static int[] field1669; - @ObfuscatedName("ar") - static int[] field1654; - @ObfuscatedName("ac") - static int[] field1683; - @ObfuscatedName("ai") - static int[] field1692; - @ObfuscatedName("am") - static int[][] field1678; - @ObfuscatedName("aw") - static int[] field1687; - @ObfuscatedName("au") - static int[][] field1688; - @ObfuscatedName("bg") - static int[] field1689; - @ObfuscatedName("bn") - static int[] field1690; - @ObfuscatedName("bk") - static int[] field1691; - @ObfuscatedName("bp") - static int[] field1694; - @ObfuscatedName("bu") - static int[] field1693; - @ObfuscatedName("bi") - static int[] field1645; - @ObfuscatedName("bv") - @Export("Model_transformTempX") - static int Model_transformTempX; - @ObfuscatedName("bf") - @Export("Model_transformTempY") - static int Model_transformTempY; - @ObfuscatedName("bm") - @Export("Model_transformTempZ") - static int Model_transformTempZ; - @ObfuscatedName("bw") - static boolean field1698; - @ObfuscatedName("bj") - @Export("Model_sine") - static int[] Model_sine; - @ObfuscatedName("bd") - @Export("Model_cosine") - static int[] Model_cosine; - @ObfuscatedName("by") - static int[] field1703; - @ObfuscatedName("bh") - static int[] field1704; - @ObfuscatedName("l") - @Export("verticesCount") - int verticesCount; - @ObfuscatedName("u") - @Export("verticesX") - int[] verticesX; - @ObfuscatedName("j") - @Export("verticesY") - int[] verticesY; - @ObfuscatedName("v") - @Export("verticesZ") - int[] verticesZ; - @ObfuscatedName("d") - @Export("indicesCount") - int indicesCount; - @ObfuscatedName("z") - @Export("indices1") - int[] indices1; - @ObfuscatedName("n") - @Export("indices2") - int[] indices2; - @ObfuscatedName("h") - @Export("indices3") - int[] indices3; - @ObfuscatedName("f") - @Export("faceColors1") - int[] faceColors1; - @ObfuscatedName("s") - @Export("faceColors2") - int[] faceColors2; - @ObfuscatedName("p") - @Export("faceColors3") - int[] faceColors3; - @ObfuscatedName("e") - @Export("faceRenderPriorities") - byte[] faceRenderPriorities; - @ObfuscatedName("i") - @Export("faceAlphas") - byte[] faceAlphas; - @ObfuscatedName("q") - byte[] field1701; - @ObfuscatedName("y") - @Export("faceTextures") - short[] faceTextures; - @ObfuscatedName("r") - byte field1656; - @ObfuscatedName("k") - int field1657; - @ObfuscatedName("w") - int[] field1658; - @ObfuscatedName("m") - int[] field1659; - @ObfuscatedName("o") - int[] field1660; - @ObfuscatedName("a") - @Export("vertexLabels") - int[][] vertexLabels; - @ObfuscatedName("b") - @Export("faceLabelsAlpha") - int[][] faceLabelsAlpha; - @ObfuscatedName("ag") - @Export("isSingleTile") - public boolean isSingleTile; - @ObfuscatedName("at") - @Export("boundsType") - int boundsType; - @ObfuscatedName("ao") - @Export("bottomY") - int bottomY; - @ObfuscatedName("av") - @Export("xzRadius") - int xzRadius; - @ObfuscatedName("an") - @Export("diameter") - int diameter; - @ObfuscatedName("al") - @Export("radius") - int radius; - @ObfuscatedName("as") - @Export("xMid") - int xMid; - @ObfuscatedName("ad") - @Export("yMid") - int yMid; - @ObfuscatedName("ap") - @Export("zMid") - int zMid; - @ObfuscatedName("ax") - @Export("xMidOffset") - int xMidOffset; - @ObfuscatedName("aj") - @Export("yMidOffset") - int yMidOffset; - @ObfuscatedName("ab") - @Export("zMidOffset") - int zMidOffset; - - static { - Model_sharedSequenceModel = new Model(); - Model_sharedSequenceModelFaceAlphas = new byte[1]; - Model_sharedSpotAnimationModel = new Model(); - Model_sharedSpotAnimationModelFaceAlphas = new byte[1]; - field1697 = new boolean[4700]; - field1685 = new boolean[4700]; - modelViewportXs = new int[4700]; - modelViewportYs = new int[4700]; - field1680 = new int[4700]; - field1669 = new int[4700]; - field1654 = new int[4700]; - field1683 = new int[4700]; - field1692 = new int[1600]; - field1678 = new int[1600][512]; - field1687 = new int[12]; - field1688 = new int[12][2000]; - field1689 = new int[2000]; - field1690 = new int[2000]; - field1691 = new int[12]; - field1694 = new int[10]; - field1693 = new int[10]; - field1645 = new int[10]; - field1698 = true; - Model_sine = Rasterizer3D.Rasterizer3D_sine; - Model_cosine = Rasterizer3D.Rasterizer3D_cosine; - field1703 = Rasterizer3D.Rasterizer3D_colorPalette; - field1704 = Rasterizer3D.field1752; - } - - Model() { - this.verticesCount = 0; - this.indicesCount = 0; - this.field1656 = 0; - this.field1657 = 0; - this.isSingleTile = false; - this.xMidOffset = -1; - this.yMidOffset = -1; - this.zMidOffset = -1; - } - - @ObfuscatedSignature( - signature = "([Ldr;I)V" - ) - public Model(Model[] var1, int var2) { - this.verticesCount = 0; - this.indicesCount = 0; - this.field1656 = 0; - this.field1657 = 0; - this.isSingleTile = false; - this.xMidOffset = -1; - this.yMidOffset = -1; - this.zMidOffset = -1; - boolean var3 = false; - boolean var4 = false; - boolean var5 = false; - boolean var6 = false; - this.verticesCount = 0; - this.indicesCount = 0; - this.field1657 = 0; - this.field1656 = -1; - - int var7; - Model var8; - for (var7 = 0; var7 < var2; ++var7) { - var8 = var1[var7]; - if (var8 != null) { - this.verticesCount += var8.verticesCount; - this.indicesCount += var8.indicesCount; - this.field1657 += var8.field1657; - if (var8.faceRenderPriorities != null) { - var3 = true; - } else { - if (this.field1656 == -1) { - this.field1656 = var8.field1656; - } - - if (this.field1656 != var8.field1656) { - var3 = true; - } - } - - var4 |= var8.faceAlphas != null; - var5 |= var8.faceTextures != null; - var6 |= var8.field1701 != null; - } - } - - this.verticesX = new int[this.verticesCount]; - this.verticesY = new int[this.verticesCount]; - this.verticesZ = new int[this.verticesCount]; - this.indices1 = new int[this.indicesCount]; - this.indices2 = new int[this.indicesCount]; - this.indices3 = new int[this.indicesCount]; - this.faceColors1 = new int[this.indicesCount]; - this.faceColors2 = new int[this.indicesCount]; - this.faceColors3 = new int[this.indicesCount]; - if (var3) { - this.faceRenderPriorities = new byte[this.indicesCount]; - } - - if (var4) { - this.faceAlphas = new byte[this.indicesCount]; - } - - if (var5) { - this.faceTextures = new short[this.indicesCount]; - } - - if (var6) { - this.field1701 = new byte[this.indicesCount]; - } - - if (this.field1657 > 0) { - this.field1658 = new int[this.field1657]; - this.field1659 = new int[this.field1657]; - this.field1660 = new int[this.field1657]; - } - - this.verticesCount = 0; - this.indicesCount = 0; - this.field1657 = 0; - - for (var7 = 0; var7 < var2; ++var7) { - var8 = var1[var7]; - if (var8 != null) { - int var9; - for (var9 = 0; var9 < var8.indicesCount; ++var9) { - this.indices1[this.indicesCount] = this.verticesCount + var8.indices1[var9]; - this.indices2[this.indicesCount] = this.verticesCount + var8.indices2[var9]; - this.indices3[this.indicesCount] = this.verticesCount + var8.indices3[var9]; - this.faceColors1[this.indicesCount] = var8.faceColors1[var9]; - this.faceColors2[this.indicesCount] = var8.faceColors2[var9]; - this.faceColors3[this.indicesCount] = var8.faceColors3[var9]; - if (var3) { - if (var8.faceRenderPriorities != null) { - this.faceRenderPriorities[this.indicesCount] = var8.faceRenderPriorities[var9]; - } else { - this.faceRenderPriorities[this.indicesCount] = var8.field1656; - } - } - - if (var4 && var8.faceAlphas != null) { - this.faceAlphas[this.indicesCount] = var8.faceAlphas[var9]; - } - - if (var5) { - if (var8.faceTextures != null) { - this.faceTextures[this.indicesCount] = var8.faceTextures[var9]; - } else { - this.faceTextures[this.indicesCount] = -1; - } - } - - if (var6) { - if (var8.field1701 != null && var8.field1701[var9] != -1) { - this.field1701[this.indicesCount] = (byte)(this.field1657 + var8.field1701[var9]); - } else { - this.field1701[this.indicesCount] = -1; - } - } - - ++this.indicesCount; - } - - for (var9 = 0; var9 < var8.field1657; ++var9) { - this.field1658[this.field1657] = this.verticesCount + var8.field1658[var9]; - this.field1659[this.field1657] = this.verticesCount + var8.field1659[var9]; - this.field1660[this.field1657] = this.verticesCount + var8.field1660[var9]; - ++this.field1657; - } - - for (var9 = 0; var9 < var8.verticesCount; ++var9) { - this.verticesX[this.verticesCount] = var8.verticesX[var9]; - this.verticesY[this.verticesCount] = var8.verticesY[var9]; - this.verticesZ[this.verticesCount] = var8.verticesZ[var9]; - ++this.verticesCount; - } - } - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([[IIIIZI)Ldr;" - ) - @Export("contourGround") - public Model contourGround(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { - this.calculateBoundsCylinder(); - int var7 = var2 - this.xzRadius; - int var8 = var2 + this.xzRadius; - int var9 = var4 - this.xzRadius; - int var10 = var4 + this.xzRadius; - if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { - var7 >>= 7; - var8 = var8 + 127 >> 7; - var9 >>= 7; - var10 = var10 + 127 >> 7; - if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { - return this; - } else { - Model var11; - if (var5) { - var11 = new Model(); - var11.verticesCount = this.verticesCount; - var11.indicesCount = this.indicesCount; - var11.field1657 = this.field1657; - var11.verticesX = this.verticesX; - var11.verticesZ = this.verticesZ; - var11.indices1 = this.indices1; - var11.indices2 = this.indices2; - var11.indices3 = this.indices3; - var11.faceColors1 = this.faceColors1; - var11.faceColors2 = this.faceColors2; - var11.faceColors3 = this.faceColors3; - var11.faceRenderPriorities = this.faceRenderPriorities; - var11.faceAlphas = this.faceAlphas; - var11.field1701 = this.field1701; - var11.faceTextures = this.faceTextures; - var11.field1656 = this.field1656; - var11.field1658 = this.field1658; - var11.field1659 = this.field1659; - var11.field1660 = this.field1660; - var11.vertexLabels = this.vertexLabels; - var11.faceLabelsAlpha = this.faceLabelsAlpha; - var11.isSingleTile = this.isSingleTile; - var11.verticesY = new int[var11.verticesCount]; - } else { - var11 = this; - } - - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - int var18; - int var19; - int var20; - int var21; - if (var6 == 0) { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { - var13 = var2 + this.verticesX[var12]; - var14 = var4 + this.verticesZ[var12]; - var15 = var13 & 127; - var16 = var14 & 127; - var17 = var13 >> 7; - var18 = var14 >> 7; - var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; - var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; - var21 = var19 * (128 - var16) + var20 * var16 >> 7; - var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; - } - } else { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { - var13 = (-this.verticesY[var12] << 16) / super.height; - if (var13 < var6) { - var14 = var2 + this.verticesX[var12]; - var15 = var4 + this.verticesZ[var12]; - var16 = var14 & 127; - var17 = var15 & 127; - var18 = var14 >> 7; - var19 = var15 >> 7; - var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; - var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; - int var22 = var20 * (128 - var17) + var21 * var17 >> 7; - var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; - } - } - } - - var11.resetBounds(); - return var11; - } - } else { - return this; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Z)Ldr;" - ) - @Export("toSharedSequenceModel") - public Model toSharedSequenceModel(boolean var1) { - if (!var1 && Model_sharedSequenceModelFaceAlphas.length < this.indicesCount) { - Model_sharedSequenceModelFaceAlphas = new byte[this.indicesCount + 100]; - } - - return this.buildSharedModel(var1, Model_sharedSequenceModel, Model_sharedSequenceModelFaceAlphas); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Z)Ldr;" - ) - @Export("toSharedSpotAnimationModel") - public Model toSharedSpotAnimationModel(boolean var1) { - if (!var1 && Model_sharedSpotAnimationModelFaceAlphas.length < this.indicesCount) { - Model_sharedSpotAnimationModelFaceAlphas = new byte[this.indicesCount + 100]; - } - - return this.buildSharedModel(var1, Model_sharedSpotAnimationModel, Model_sharedSpotAnimationModelFaceAlphas); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(ZLdr;[B)Ldr;" - ) - @Export("buildSharedModel") - Model buildSharedModel(boolean var1, Model var2, byte[] var3) { - var2.verticesCount = this.verticesCount; - var2.indicesCount = this.indicesCount; - var2.field1657 = this.field1657; - if (var2.verticesX == null || var2.verticesX.length < this.verticesCount) { - var2.verticesX = new int[this.verticesCount + 100]; - var2.verticesY = new int[this.verticesCount + 100]; - var2.verticesZ = new int[this.verticesCount + 100]; - } - - int var4; - for (var4 = 0; var4 < this.verticesCount; ++var4) { - var2.verticesX[var4] = this.verticesX[var4]; - var2.verticesY[var4] = this.verticesY[var4]; - var2.verticesZ[var4] = this.verticesZ[var4]; - } - - if (var1) { - var2.faceAlphas = this.faceAlphas; - } else { - var2.faceAlphas = var3; - if (this.faceAlphas == null) { - for (var4 = 0; var4 < this.indicesCount; ++var4) { - var2.faceAlphas[var4] = 0; - } - } else { - for (var4 = 0; var4 < this.indicesCount; ++var4) { - var2.faceAlphas[var4] = this.faceAlphas[var4]; - } - } - } - - var2.indices1 = this.indices1; - var2.indices2 = this.indices2; - var2.indices3 = this.indices3; - var2.faceColors1 = this.faceColors1; - var2.faceColors2 = this.faceColors2; - var2.faceColors3 = this.faceColors3; - var2.faceRenderPriorities = this.faceRenderPriorities; - var2.field1701 = this.field1701; - var2.faceTextures = this.faceTextures; - var2.field1656 = this.field1656; - var2.field1658 = this.field1658; - var2.field1659 = this.field1659; - var2.field1660 = this.field1660; - var2.vertexLabels = this.vertexLabels; - var2.faceLabelsAlpha = this.faceLabelsAlpha; - var2.isSingleTile = this.isSingleTile; - var2.resetBounds(); - return var2; - } - - @ObfuscatedName("l") - @Export("calculateBoundingBox") - void calculateBoundingBox(int var1) { - if (this.xMidOffset == -1) { - int var2 = 0; - int var3 = 0; - int var4 = 0; - int var5 = 0; - int var6 = 0; - int var7 = 0; - int var8 = Model_cosine[var1]; - int var9 = Model_sine[var1]; - - for (int var10 = 0; var10 < this.verticesCount; ++var10) { - int var11 = Rasterizer3D.method2980(this.verticesX[var10], this.verticesZ[var10], var8, var9); - int var12 = this.verticesY[var10]; - int var13 = Rasterizer3D.method2981(this.verticesX[var10], this.verticesZ[var10], var8, var9); - if (var11 < var2) { - var2 = var11; - } - - if (var11 > var5) { - var5 = var11; - } - - if (var12 < var3) { - var3 = var12; - } - - if (var12 > var6) { - var6 = var12; - } - - if (var13 < var4) { - var4 = var13; - } - - if (var13 > var7) { - var7 = var13; - } - } - - this.xMid = (var5 + var2) / 2; - this.yMid = (var6 + var3) / 2; - this.zMid = (var7 + var4) / 2; - this.xMidOffset = (var5 - var2 + 1) / 2; - this.yMidOffset = (var6 - var3 + 1) / 2; - this.zMidOffset = (var7 - var4 + 1) / 2; - if (this.xMidOffset < 32) { - this.xMidOffset = 32; - } - - if (this.zMidOffset < 32) { - this.zMidOffset = 32; - } - - if (this.isSingleTile) { - this.xMidOffset += 8; - this.zMidOffset += 8; - } - - } - } - - @ObfuscatedName("u") - @Export("calculateBoundsCylinder") - public void calculateBoundsCylinder() { - if (this.boundsType != 1) { - this.boundsType = 1; - super.height = 0; - this.bottomY = 0; - this.xzRadius = 0; - - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesX[var1]; - int var3 = this.verticesY[var1]; - int var4 = this.verticesZ[var1]; - if (-var3 > super.height) { - super.height = -var3; - } - - if (var3 > this.bottomY) { - this.bottomY = var3; - } - - int var5 = var2 * var2 + var4 * var4; - if (var5 > this.xzRadius) { - this.xzRadius = var5; - } - } - - this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); - this.radius = (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + super.height * super.height)) + 0.99D); - this.diameter = this.radius + (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + this.bottomY * this.bottomY)) + 0.99D); - } - } - - @ObfuscatedName("j") - void method2838() { - if (this.boundsType != 2) { - this.boundsType = 2; - this.xzRadius = 0; - - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesX[var1]; - int var3 = this.verticesY[var1]; - int var4 = this.verticesZ[var1]; - int var5 = var2 * var2 + var4 * var4 + var3 * var3; - if (var5 > this.xzRadius) { - this.xzRadius = var5; - } - } - - this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); - this.radius = this.xzRadius; - this.diameter = this.xzRadius + this.xzRadius; - } - } - - @ObfuscatedName("v") - public int method2849() { - this.calculateBoundsCylinder(); - return this.xzRadius; - } - - @ObfuscatedName("z") - @Export("resetBounds") - void resetBounds() { - this.boundsType = 0; - this.xMidOffset = -1; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(Lev;I)V" - ) - @Export("animate") - public void animate(Frames var1, int var2) { - if (this.vertexLabels != null) { - if (var2 != -1) { - Animation var3 = var1.frames[var2]; - Skeleton var4 = var3.skeleton; - Model_transformTempX = 0; - Model_transformTempY = 0; - Model_transformTempZ = 0; - - for (int var5 = 0; var5 < var3.transformCount; ++var5) { - int var6 = var3.transformSkeletonLabels[var5]; - this.transform(var4.transformTypes[var6], var4.labels[var6], var3.transformXs[var5], var3.transformYs[var5], var3.transformZs[var5]); - } - - this.resetBounds(); - } - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(Lev;ILev;I[I)V" - ) - @Export("animate2") - public void animate2(Frames var1, int var2, Frames var3, int var4, int[] var5) { - if (var2 != -1) { - if (var5 != null && var4 != -1) { - Animation var6 = var1.frames[var2]; - Animation var7 = var3.frames[var4]; - Skeleton var8 = var6.skeleton; - Model_transformTempX = 0; - Model_transformTempY = 0; - Model_transformTempZ = 0; - byte var9 = 0; - int var13 = var9 + 1; - int var10 = var5[var9]; - - int var11; - int var12; - for (var11 = 0; var11 < var6.transformCount; ++var11) { - for (var12 = var6.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { - } - - if (var12 != var10 || var8.transformTypes[var12] == 0) { - this.transform(var8.transformTypes[var12], var8.labels[var12], var6.transformXs[var11], var6.transformYs[var11], var6.transformZs[var11]); - } - } - - Model_transformTempX = 0; - Model_transformTempY = 0; - Model_transformTempZ = 0; - var9 = 0; - var13 = var9 + 1; - var10 = var5[var9]; - - for (var11 = 0; var11 < var7.transformCount; ++var11) { - for (var12 = var7.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { - } - - if (var12 == var10 || var8.transformTypes[var12] == 0) { - this.transform(var8.transformTypes[var12], var8.labels[var12], var7.transformXs[var11], var7.transformYs[var11], var7.transformZs[var11]); - } - } - - this.resetBounds(); - } else { - this.animate(var1, var2); - } - } - } - - @ObfuscatedName("e") - @Export("transform") - void transform(int var1, int[] var2, int var3, int var4, int var5) { - int var6 = var2.length; - int var7; - int var8; - int var11; - int var12; - if (var1 == 0) { - var7 = 0; - Model_transformTempX = 0; - Model_transformTempY = 0; - Model_transformTempZ = 0; - - for (var8 = 0; var8 < var6; ++var8) { - int var9 = var2[var8]; - if (var9 < this.vertexLabels.length) { - int[] var10 = this.vertexLabels[var9]; - - for (var11 = 0; var11 < var10.length; ++var11) { - var12 = var10[var11]; - Model_transformTempX += this.verticesX[var12]; - Model_transformTempY += this.verticesY[var12]; - Model_transformTempZ += this.verticesZ[var12]; - ++var7; - } - } - } - - if (var7 > 0) { - Model_transformTempX = var3 + Model_transformTempX / var7; - Model_transformTempY = var4 + Model_transformTempY / var7; - Model_transformTempZ = var5 + Model_transformTempZ / var7; - } else { - Model_transformTempX = var3; - Model_transformTempY = var4; - Model_transformTempZ = var5; - } - - } else { - int[] var10000; - int[] var18; - int var19; - if (var1 == 1) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = var2[var7]; - if (var8 < this.vertexLabels.length) { - var18 = this.vertexLabels[var8]; - - for (var19 = 0; var19 < var18.length; ++var19) { - var11 = var18[var19]; - var10000 = this.verticesX; - var10000[var11] += var3; - var10000 = this.verticesY; - var10000[var11] += var4; - var10000 = this.verticesZ; - var10000[var11] += var5; - } - } - } - - } else if (var1 == 2) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = var2[var7]; - if (var8 < this.vertexLabels.length) { - var18 = this.vertexLabels[var8]; - - for (var19 = 0; var19 < var18.length; ++var19) { - var11 = var18[var19]; - var10000 = this.verticesX; - var10000[var11] -= Model_transformTempX; - var10000 = this.verticesY; - var10000[var11] -= Model_transformTempY; - var10000 = this.verticesZ; - var10000[var11] -= Model_transformTempZ; - var12 = (var3 & 255) * 8; - int var13 = (var4 & 255) * 8; - int var14 = (var5 & 255) * 8; - int var15; - int var16; - int var17; - if (var14 != 0) { - var15 = Model_sine[var14]; - var16 = Model_cosine[var14]; - var17 = var15 * this.verticesY[var11] + var16 * this.verticesX[var11] >> 16; - this.verticesY[var11] = var16 * this.verticesY[var11] - var15 * this.verticesX[var11] >> 16; - this.verticesX[var11] = var17; - } - - if (var12 != 0) { - var15 = Model_sine[var12]; - var16 = Model_cosine[var12]; - var17 = var16 * this.verticesY[var11] - var15 * this.verticesZ[var11] >> 16; - this.verticesZ[var11] = var15 * this.verticesY[var11] + var16 * this.verticesZ[var11] >> 16; - this.verticesY[var11] = var17; - } - - if (var13 != 0) { - var15 = Model_sine[var13]; - var16 = Model_cosine[var13]; - var17 = var15 * this.verticesZ[var11] + var16 * this.verticesX[var11] >> 16; - this.verticesZ[var11] = var16 * this.verticesZ[var11] - var15 * this.verticesX[var11] >> 16; - this.verticesX[var11] = var17; - } - - var10000 = this.verticesX; - var10000[var11] += Model_transformTempX; - var10000 = this.verticesY; - var10000[var11] += Model_transformTempY; - var10000 = this.verticesZ; - var10000[var11] += Model_transformTempZ; - } - } - } - - } else if (var1 == 3) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = var2[var7]; - if (var8 < this.vertexLabels.length) { - var18 = this.vertexLabels[var8]; - - for (var19 = 0; var19 < var18.length; ++var19) { - var11 = var18[var19]; - var10000 = this.verticesX; - var10000[var11] -= Model_transformTempX; - var10000 = this.verticesY; - var10000[var11] -= Model_transformTempY; - var10000 = this.verticesZ; - var10000[var11] -= Model_transformTempZ; - this.verticesX[var11] = var3 * this.verticesX[var11] / 128; - this.verticesY[var11] = var4 * this.verticesY[var11] / 128; - this.verticesZ[var11] = var5 * this.verticesZ[var11] / 128; - var10000 = this.verticesX; - var10000[var11] += Model_transformTempX; - var10000 = this.verticesY; - var10000[var11] += Model_transformTempY; - var10000 = this.verticesZ; - var10000[var11] += Model_transformTempZ; - } - } - } - - } else if (var1 == 5) { - if (this.faceLabelsAlpha != null && this.faceAlphas != null) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = var2[var7]; - if (var8 < this.faceLabelsAlpha.length) { - var18 = this.faceLabelsAlpha[var8]; - - for (var19 = 0; var19 < var18.length; ++var19) { - var11 = var18[var19]; - var12 = (this.faceAlphas[var11] & 255) + var3 * 8; - if (var12 < 0) { - var12 = 0; - } else if (var12 > 255) { - var12 = 255; - } - - this.faceAlphas[var11] = (byte)var12; - } - } - } - } - - } - } - } - - @ObfuscatedName("i") - @Export("rotateY90Ccw") - public void rotateY90Ccw() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesX[var1]; - this.verticesX[var1] = this.verticesZ[var1]; - this.verticesZ[var1] = -var2; - } - - this.resetBounds(); - } - - @ObfuscatedName("q") - @Export("rotateY180") - public void rotateY180() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - this.verticesX[var1] = -this.verticesX[var1]; - this.verticesZ[var1] = -this.verticesZ[var1]; - } - - this.resetBounds(); - } - - @ObfuscatedName("r") - @Export("rotateY270Ccw") - public void rotateY270Ccw() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesZ[var1]; - this.verticesZ[var1] = this.verticesX[var1]; - this.verticesX[var1] = -var2; - } - - this.resetBounds(); - } - - @ObfuscatedName("k") - @Export("rotateZ") - public void rotateZ(int var1) { - int var2 = Model_sine[var1]; - int var3 = Model_cosine[var1]; - - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - int var5 = var3 * this.verticesY[var4] - var2 * this.verticesZ[var4] >> 16; - this.verticesZ[var4] = var2 * this.verticesY[var4] + var3 * this.verticesZ[var4] >> 16; - this.verticesY[var4] = var5; - } - - this.resetBounds(); - } - - @ObfuscatedName("w") - @Export("offsetBy") - public void offsetBy(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - int[] var10000 = this.verticesX; - var10000[var4] += var1; - var10000 = this.verticesY; - var10000[var4] += var2; - var10000 = this.verticesZ; - var10000[var4] += var3; - } - - this.resetBounds(); - } - - @ObfuscatedName("m") - @Export("scale") - public void scale(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - this.verticesX[var4] = this.verticesX[var4] * var1 / 128; - this.verticesY[var4] = var2 * this.verticesY[var4] / 128; - this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; - } - - this.resetBounds(); - } - - @ObfuscatedName("o") - public final void method2854(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - field1692[0] = -1; - if (this.boundsType != 2 && this.boundsType != 1) { - this.method2838(); - } - - int var8 = Rasterizer3D.Rasterizer3D_clipMidX; - int var9 = Rasterizer3D.Rasterizer3D_clipMidY; - int var10 = Model_sine[var1]; - int var11 = Model_cosine[var1]; - int var12 = Model_sine[var2]; - int var13 = Model_cosine[var2]; - int var14 = Model_sine[var3]; - int var15 = Model_cosine[var3]; - int var16 = Model_sine[var4]; - int var17 = Model_cosine[var4]; - int var18 = var16 * var6 + var17 * var7 >> 16; - - for (int var19 = 0; var19 < this.verticesCount; ++var19) { - int var20 = this.verticesX[var19]; - int var21 = this.verticesY[var19]; - int var22 = this.verticesZ[var19]; - int var23; - if (var3 != 0) { - var23 = var21 * var14 + var20 * var15 >> 16; - var21 = var21 * var15 - var20 * var14 >> 16; - var20 = var23; - } - - if (var1 != 0) { - var23 = var21 * var11 - var22 * var10 >> 16; - var22 = var21 * var10 + var22 * var11 >> 16; - var21 = var23; - } - - if (var2 != 0) { - var23 = var22 * var12 + var20 * var13 >> 16; - var22 = var22 * var13 - var20 * var12 >> 16; - var20 = var23; - } - - var20 += var5; - var21 += var6; - var22 += var7; - var23 = var21 * var17 - var22 * var16 >> 16; - var22 = var21 * var16 + var22 * var17 >> 16; - field1680[var19] = var22 - var18; - modelViewportXs[var19] = var20 * Rasterizer3D.Rasterizer3D_zoom / var22 + var8; - modelViewportYs[var19] = var23 * Rasterizer3D.Rasterizer3D_zoom / var22 + var9; - if (this.field1657 > 0) { - field1669[var19] = var20; - field1654[var19] = var23; - field1683[var19] = var22; - } - } - - try { - this.draw0(false, false, false, 0L); - } catch (Exception var25) { - } - - } - - @ObfuscatedName("a") - public final void method2921(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - field1692[0] = -1; - if (this.boundsType != 2 && this.boundsType != 1) { - this.method2838(); - } - - int var9 = Rasterizer3D.Rasterizer3D_clipMidX; - int var10 = Rasterizer3D.Rasterizer3D_clipMidY; - int var11 = Model_sine[var1]; - int var12 = Model_cosine[var1]; - int var13 = Model_sine[var2]; - int var14 = Model_cosine[var2]; - int var15 = Model_sine[var3]; - int var16 = Model_cosine[var3]; - int var17 = Model_sine[var4]; - int var18 = Model_cosine[var4]; - int var19 = var17 * var6 + var18 * var7 >> 16; - - for (int var20 = 0; var20 < this.verticesCount; ++var20) { - int var21 = this.verticesX[var20]; - int var22 = this.verticesY[var20]; - int var23 = this.verticesZ[var20]; - int var24; - if (var3 != 0) { - var24 = var22 * var15 + var21 * var16 >> 16; - var22 = var22 * var16 - var21 * var15 >> 16; - var21 = var24; - } - - if (var1 != 0) { - var24 = var22 * var12 - var23 * var11 >> 16; - var23 = var22 * var11 + var23 * var12 >> 16; - var22 = var24; - } - - if (var2 != 0) { - var24 = var23 * var13 + var21 * var14 >> 16; - var23 = var23 * var14 - var21 * var13 >> 16; - var21 = var24; - } - - var21 += var5; - var22 += var6; - var23 += var7; - var24 = var22 * var18 - var23 * var17 >> 16; - var23 = var22 * var17 + var23 * var18 >> 16; - field1680[var20] = var23 - var19; - modelViewportXs[var20] = var9 + var21 * Rasterizer3D.Rasterizer3D_zoom / var8; - modelViewportYs[var20] = var10 + var24 * Rasterizer3D.Rasterizer3D_zoom / var8; - if (this.field1657 > 0) { - field1669[var20] = var21; - field1654[var20] = var24; - field1683[var20] = var23; - } - } - - try { - this.draw0(false, false, false, 0L); - } catch (Exception var26) { - } - - } - - @ObfuscatedName("b") - @Export("draw0") - final void draw0(boolean var1, boolean var2, boolean var3, long var4) { - if (this.diameter < 1600) { - int var6; - for (var6 = 0; var6 < this.diameter; ++var6) { - field1692[var6] = 0; - } - - var6 = var3 ? 20 : 5; - - int var7; - int var8; - int var10; - int var11; - int var12; - int var13; - int var15; - int var16; - int var18; - int var27; - for (var7 = 0; var7 < this.indicesCount; ++var7) { - if (this.faceColors3[var7] != -2) { - var8 = this.indices1[var7]; - var27 = this.indices2[var7]; - var10 = this.indices3[var7]; - var11 = modelViewportXs[var8]; - var12 = modelViewportXs[var27]; - var13 = modelViewportXs[var10]; - int var14; - if (var1 && (var11 == -5000 || var12 == -5000 || var13 == -5000)) { - var14 = field1669[var8]; - var15 = field1669[var27]; - var16 = field1669[var10]; - int var17 = field1654[var8]; - var18 = field1654[var27]; - int var19 = field1654[var10]; - int var20 = field1683[var8]; - int var21 = field1683[var27]; - int var22 = field1683[var10]; - var14 -= var15; - var16 -= var15; - var17 -= var18; - var19 -= var18; - var20 -= var21; - var22 -= var21; - int var23 = var17 * var22 - var20 * var19; - int var24 = var20 * var16 - var14 * var22; - int var25 = var14 * var19 - var17 * var16; - if (var15 * var23 + var18 * var24 + var21 * var25 > 0) { - field1685[var7] = true; - int var26 = (field1680[var8] + field1680[var27] + field1680[var10]) / 3 + this.radius; - field1678[var26][field1692[var26]++] = var7; - } - } else { - if (var2 && WorldMapAreaData.method671(modelViewportYs[var8], modelViewportYs[var27], modelViewportYs[var10], var11, var12, var13, var6)) { - DirectByteArrayCopier.method3932(var4); - var2 = false; - } - - if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var27]) - (var13 - var12) * (modelViewportYs[var8] - modelViewportYs[var27]) > 0) { - field1685[var7] = false; - if (var11 >= 0 && var12 >= 0 && var13 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var13 <= Rasterizer3D.Rasterizer3D_clipWidth) { - field1697[var7] = false; - } else { - field1697[var7] = true; - } - - var14 = (field1680[var8] + field1680[var27] + field1680[var10]) / 3 + this.radius; - field1678[var14][field1692[var14]++] = var7; - } - } - } - } - - int[] var9; - if (this.faceRenderPriorities == null) { - for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field1692[var7]; - if (var8 > 0) { - var9 = field1678[var7]; - - for (var10 = 0; var10 < var8; ++var10) { - this.method2858(var9[var10]); - } - } - } - - } else { - for (var7 = 0; var7 < 12; ++var7) { - field1687[var7] = 0; - field1691[var7] = 0; - } - - for (var7 = this.diameter - 1; var7 >= 0; --var7) { - var8 = field1692[var7]; - if (var8 > 0) { - var9 = field1678[var7]; - - for (var10 = 0; var10 < var8; ++var10) { - var11 = var9[var10]; - byte var31 = this.faceRenderPriorities[var11]; - var13 = field1687[var31]++; - field1688[var31][var13] = var11; - if (var31 < 10) { - int[] var10000 = field1691; - var10000[var31] += var7; - } else if (var31 == 10) { - field1689[var13] = var7; - } else { - field1690[var13] = var7; - } - } - } - } - - var7 = 0; - if (field1687[1] > 0 || field1687[2] > 0) { - var7 = (field1691[1] + field1691[2]) / (field1687[1] + field1687[2]); - } - - var8 = 0; - if (field1687[3] > 0 || field1687[4] > 0) { - var8 = (field1691[3] + field1691[4]) / (field1687[3] + field1687[4]); - } - - var27 = 0; - if (field1687[6] > 0 || field1687[8] > 0) { - var27 = (field1691[8] + field1691[6]) / (field1687[8] + field1687[6]); - } - - var11 = 0; - var12 = field1687[10]; - int[] var28 = field1688[10]; - int[] var29 = field1689; - if (var11 == var12) { - var11 = 0; - var12 = field1687[11]; - var28 = field1688[11]; - var29 = field1690; - } - - if (var11 < var12) { - var10 = var29[var11]; - } else { - var10 = -1000; - } - - for (var15 = 0; var15 < 10; ++var15) { - while (var15 == 0 && var10 > var7) { - this.method2858(var28[var11++]); - if (var11 == var12 && var28 != field1688[11]) { - var11 = 0; - var12 = field1687[11]; - var28 = field1688[11]; - var29 = field1690; - } - - if (var11 < var12) { - var10 = var29[var11]; - } else { - var10 = -1000; - } - } - - while (var15 == 3 && var10 > var8) { - this.method2858(var28[var11++]); - if (var11 == var12 && var28 != field1688[11]) { - var11 = 0; - var12 = field1687[11]; - var28 = field1688[11]; - var29 = field1690; - } - - if (var11 < var12) { - var10 = var29[var11]; - } else { - var10 = -1000; - } - } - - while (var15 == 5 && var10 > var27) { - this.method2858(var28[var11++]); - if (var11 == var12 && var28 != field1688[11]) { - var11 = 0; - var12 = field1687[11]; - var28 = field1688[11]; - var29 = field1690; - } - - if (var11 < var12) { - var10 = var29[var11]; - } else { - var10 = -1000; - } - } - - var16 = field1687[var15]; - int[] var30 = field1688[var15]; - - for (var18 = 0; var18 < var16; ++var18) { - this.method2858(var30[var18]); - } - } - - while (var10 != -1000) { - this.method2858(var28[var11++]); - if (var11 == var12 && var28 != field1688[11]) { - var11 = 0; - var28 = field1688[11]; - var12 = field1687[11]; - var29 = field1690; - } - - if (var11 < var12) { - var10 = var29[var11]; - } else { - var10 = -1000; - } - } - - } - } - } - - @ObfuscatedName("ag") - final void method2858(int var1) { - if (field1685[var1]) { - this.method2859(var1); - } else { - int var2 = this.indices1[var1]; - int var3 = this.indices2[var1]; - int var4 = this.indices3[var1]; - Rasterizer3D.field1735 = field1697[var1]; - if (this.faceAlphas == null) { - Rasterizer3D.Rasterizer3D_alpha = 0; - } else { - Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { - int var5; - int var6; - int var7; - if (this.field1701 != null && this.field1701[var1] != -1) { - int var8 = this.field1701[var1] & 255; - var5 = this.field1658[var8]; - var6 = this.field1659[var8]; - var7 = this.field1660[var8]; - } else { - var5 = var2; - var6 = var3; - var7 = var4; - } - - if (this.faceColors3[var1] == -1) { - Rasterizer3D.method3020(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1669[var5], field1669[var6], field1669[var7], field1654[var5], field1654[var6], field1654[var7], field1683[var5], field1683[var6], field1683[var7], this.faceTextures[var1]); - } else { - Rasterizer3D.method3020(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field1669[var5], field1669[var6], field1669[var7], field1654[var5], field1654[var6], field1654[var7], field1683[var5], field1683[var6], field1683[var7], this.faceTextures[var1]); - } - } else if (this.faceColors3[var1] == -1) { - Rasterizer3D.method2990(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field1703[this.faceColors1[var1]]); - } else { - Rasterizer3D.method2971(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]); - } - - } - } - - @ObfuscatedName("at") - final void method2859(int var1) { - int var2 = Rasterizer3D.Rasterizer3D_clipMidX; - int var3 = Rasterizer3D.Rasterizer3D_clipMidY; - int var4 = 0; - int var5 = this.indices1[var1]; - int var6 = this.indices2[var1]; - int var7 = this.indices3[var1]; - int var8 = field1683[var5]; - int var9 = field1683[var6]; - int var10 = field1683[var7]; - if (this.faceAlphas == null) { - Rasterizer3D.Rasterizer3D_alpha = 0; - } else { - Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; - } - - int var11; - int var12; - int var13; - int var14; - if (var8 >= 50) { - field1694[var4] = modelViewportXs[var5]; - field1693[var4] = modelViewportYs[var5]; - field1645[var4++] = this.faceColors1[var1]; - } else { - var11 = field1669[var5]; - var12 = field1654[var5]; - var13 = this.faceColors1[var1]; - if (var10 >= 50) { - var14 = field1704[var10 - var8] * (50 - var8); - field1694[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1669[var7] - var11) * var14 >> 16)) / 50; - field1693[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1654[var7] - var12) * var14 >> 16)) / 50; - field1645[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); - } - - if (var9 >= 50) { - var14 = field1704[var9 - var8] * (50 - var8); - field1694[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1669[var6] - var11) * var14 >> 16)) / 50; - field1693[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1654[var6] - var12) * var14 >> 16)) / 50; - field1645[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); - } - } - - if (var9 >= 50) { - field1694[var4] = modelViewportXs[var6]; - field1693[var4] = modelViewportYs[var6]; - field1645[var4++] = this.faceColors2[var1]; - } else { - var11 = field1669[var6]; - var12 = field1654[var6]; - var13 = this.faceColors2[var1]; - if (var8 >= 50) { - var14 = field1704[var8 - var9] * (50 - var9); - field1694[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1669[var5] - var11) * var14 >> 16)) / 50; - field1693[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1654[var5] - var12) * var14 >> 16)) / 50; - field1645[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); - } - - if (var10 >= 50) { - var14 = field1704[var10 - var9] * (50 - var9); - field1694[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1669[var7] - var11) * var14 >> 16)) / 50; - field1693[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1654[var7] - var12) * var14 >> 16)) / 50; - field1645[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); - } - } - - if (var10 >= 50) { - field1694[var4] = modelViewportXs[var7]; - field1693[var4] = modelViewportYs[var7]; - field1645[var4++] = this.faceColors3[var1]; - } else { - var11 = field1669[var7]; - var12 = field1654[var7]; - var13 = this.faceColors3[var1]; - if (var9 >= 50) { - var14 = field1704[var9 - var10] * (50 - var10); - field1694[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1669[var6] - var11) * var14 >> 16)) / 50; - field1693[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1654[var6] - var12) * var14 >> 16)) / 50; - field1645[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); - } - - if (var8 >= 50) { - var14 = field1704[var8 - var10] * (50 - var10); - field1694[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1669[var5] - var11) * var14 >> 16)) / 50; - field1693[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1654[var5] - var12) * var14 >> 16)) / 50; - field1645[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); - } - } - - var11 = field1694[0]; - var12 = field1694[1]; - var13 = field1694[2]; - var14 = field1693[0]; - int var15 = field1693[1]; - int var16 = field1693[2]; - Rasterizer3D.field1735 = false; - int var17; - int var18; - int var19; - int var20; - if (var4 == 3) { - if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field1735 = true; - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { - if (this.field1701 != null && this.field1701[var1] != -1) { - var20 = this.field1701[var1] & 255; - var17 = this.field1658[var20]; - var18 = this.field1659[var20]; - var19 = this.field1660[var20]; - } else { - var17 = var5; - var18 = var6; - var19 = var7; - } - - if (this.faceColors3[var1] == -1) { - Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1669[var17], field1669[var18], field1669[var19], field1654[var17], field1654[var18], field1654[var19], field1683[var17], field1683[var18], field1683[var19], this.faceTextures[var1]); - } else { - Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, field1645[0], field1645[1], field1645[2], field1669[var17], field1669[var18], field1669[var19], field1654[var17], field1654[var18], field1654[var19], field1683[var17], field1683[var18], field1683[var19], this.faceTextures[var1]); - } - } else if (this.faceColors3[var1] == -1) { - Rasterizer3D.method2990(var14, var15, var16, var11, var12, var13, field1703[this.faceColors1[var1]]); - } else { - Rasterizer3D.method2971(var14, var15, var16, var11, var12, var13, field1645[0], field1645[1], field1645[2]); - } - } - - if (var4 == 4) { - if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field1694[3] < 0 || field1694[3] > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field1735 = true; - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { - if (this.field1701 != null && this.field1701[var1] != -1) { - var20 = this.field1701[var1] & 255; - var17 = this.field1658[var20]; - var18 = this.field1659[var20]; - var19 = this.field1660[var20]; - } else { - var17 = var5; - var18 = var6; - var19 = var7; - } - - short var21 = this.faceTextures[var1]; - if (this.faceColors3[var1] == -1) { - Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1669[var17], field1669[var18], field1669[var19], field1654[var17], field1654[var18], field1654[var19], field1683[var17], field1683[var18], field1683[var19], var21); - Rasterizer3D.method3020(var14, var16, field1693[3], var11, var13, field1694[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1669[var17], field1669[var18], field1669[var19], field1654[var17], field1654[var18], field1654[var19], field1683[var17], field1683[var18], field1683[var19], var21); - } else { - Rasterizer3D.method3020(var14, var15, var16, var11, var12, var13, field1645[0], field1645[1], field1645[2], field1669[var17], field1669[var18], field1669[var19], field1654[var17], field1654[var18], field1654[var19], field1683[var17], field1683[var18], field1683[var19], var21); - Rasterizer3D.method3020(var14, var16, field1693[3], var11, var13, field1694[3], field1645[0], field1645[2], field1645[3], field1669[var17], field1669[var18], field1669[var19], field1654[var17], field1654[var18], field1654[var19], field1683[var17], field1683[var18], field1683[var19], var21); - } - } else if (this.faceColors3[var1] == -1) { - var17 = field1703[this.faceColors1[var1]]; - Rasterizer3D.method2990(var14, var15, var16, var11, var12, var13, var17); - Rasterizer3D.method2990(var14, var16, field1693[3], var11, var13, field1694[3], var17); - } else { - Rasterizer3D.method2971(var14, var15, var16, var11, var12, var13, field1645[0], field1645[1], field1645[2]); - Rasterizer3D.method2971(var14, var16, field1693[3], var11, var13, field1694[3], field1645[0], field1645[2], field1645[3]); - } - } - - } - - @ObfuscatedName("cm") - @Export("draw") - void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { - field1692[0] = -1; - if (this.boundsType != 1) { - this.calculateBoundsCylinder(); - } - - this.calculateBoundingBox(var1); - int var11 = var5 * var8 - var4 * var6 >> 16; - int var12 = var2 * var7 + var3 * var11 >> 16; - int var13 = var3 * this.xzRadius >> 16; - int var14 = var12 + var13; - if (var14 > 50 && var12 < 3500) { - int var15 = var8 * var4 + var5 * var6 >> 16; - int var16 = (var15 - this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; - if (var16 / var14 < Rasterizer3D.Rasterizer3D_clipMidX2) { - int var17 = (var15 + this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; - if (var17 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidX) { - int var18 = var3 * var7 - var11 * var2 >> 16; - int var19 = var2 * this.xzRadius >> 16; - int var20 = (var18 + var19) * Rasterizer3D.Rasterizer3D_zoom; - if (var20 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidY) { - int var21 = (var3 * super.height >> 16) + var19; - int var22 = (var18 - var21) * Rasterizer3D.Rasterizer3D_zoom; - if (var22 / var14 < Rasterizer3D.Rasterizer3D_clipMidY2) { - int var23 = var13 + (var2 * super.height >> 16); - boolean var24 = false; - boolean var25 = false; - if (var12 - var23 <= 50) { - var25 = true; - } - - boolean var26 = var25 || this.field1657 > 0; - int var27 = SoundCache.method2479(); - int var28 = ViewportMouse.ViewportMouse_y; - boolean var30 = ArchiveLoader.method1099(); - boolean var32 = var9 != 0L; - boolean var33; - if (var32) { - var33 = (int)(var9 >>> 16 & 1L) == 1; - var32 = !var33; - } - - var33 = false; - int var37; - int var38; - int var39; - int var40; - int var41; - int var42; - int var46; - int var50; - if (var32 && var30) { - boolean var34 = false; - if (field1698) { - boolean var35; - if (!ArchiveLoader.method1099()) { - var35 = false; - } else { - class225.method4105(); - var37 = this.xMid + var6; - var38 = var7 + this.yMid; - var39 = var8 + this.zMid; - var40 = this.xMidOffset; - var41 = this.yMidOffset; - var42 = this.zMidOffset; - int var43 = ViewportMouse.field1711 - var37; - int var44 = Ignored.field3577 - var38; - int var45 = class222.field2726 - var39; - if (Math.abs(var43) > var40 + ArchiveLoader.field510) { - var35 = false; - } else if (Math.abs(var44) > var41 + GrandExchangeOfferUnitPriceComparator.field75) { - var35 = false; - } else if (Math.abs(var45) > var42 + class222.field2724) { - var35 = false; - } else if (Math.abs(var45 * ViewportMouse.field1712 - var44 * ServerBuild.field3079) > var41 * class222.field2724 + var42 * GrandExchangeOfferUnitPriceComparator.field75) { - var35 = false; - } else if (Math.abs(var43 * ServerBuild.field3079 - var45 * class4.field20) > var40 * class222.field2724 + var42 * ArchiveLoader.field510) { - var35 = false; - } else if (Math.abs(var44 * class4.field20 - var43 * ViewportMouse.field1712) > var40 * GrandExchangeOfferUnitPriceComparator.field75 + var41 * ArchiveLoader.field510) { - var35 = false; - } else { - var35 = true; - } - } - - var34 = var35; - } else { - var50 = var12 - var13; - if (var50 <= 50) { - var50 = 50; - } - - if (var15 > 0) { - var16 /= var14; - var17 /= var50; - } else { - var17 /= var14; - var16 /= var50; - } - - if (var18 > 0) { - var22 /= var14; - var20 /= var50; - } else { - var20 /= var14; - var22 /= var50; - } - - var46 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; - var37 = var28 - Rasterizer3D.Rasterizer3D_clipMidY; - if (var46 > var16 && var46 < var17 && var37 > var22 && var37 < var20) { - var34 = true; - } - } - - if (var34) { - if (this.isSingleTile) { - DirectByteArrayCopier.method3932(var9); - } else { - var33 = true; - } - } - } - - int var49 = Rasterizer3D.Rasterizer3D_clipMidX; - var50 = Rasterizer3D.Rasterizer3D_clipMidY; - var46 = 0; - var37 = 0; - if (var1 != 0) { - var46 = Model_sine[var1]; - var37 = Model_cosine[var1]; - } - - for (var38 = 0; var38 < this.verticesCount; ++var38) { - var39 = this.verticesX[var38]; - var40 = this.verticesY[var38]; - var41 = this.verticesZ[var38]; - if (var1 != 0) { - var42 = var41 * var46 + var39 * var37 >> 16; - var41 = var41 * var37 - var39 * var46 >> 16; - var39 = var42; - } - - var39 += var6; - var40 += var7; - var41 += var8; - var42 = var41 * var4 + var5 * var39 >> 16; - var41 = var5 * var41 - var39 * var4 >> 16; - var39 = var42; - var42 = var3 * var40 - var41 * var2 >> 16; - var41 = var40 * var2 + var3 * var41 >> 16; - field1680[var38] = var41 - var12; - if (var41 >= 50) { - modelViewportXs[var38] = var39 * Rasterizer3D.Rasterizer3D_zoom / var41 + var49; - modelViewportYs[var38] = var42 * Rasterizer3D.Rasterizer3D_zoom / var41 + var50; - } else { - modelViewportXs[var38] = -5000; - var24 = true; - } - - if (var26) { - field1669[var38] = var39; - field1654[var38] = var42; - field1683[var38] = var41; - } - } - - try { - this.draw0(var24, var33, this.isSingleTile, var9); - } catch (Exception var48) { - } - - } - } - } - } - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dh") +@Implements("Model") +public class Model extends Entity { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ldh;" + ) + @Export("Model_sharedSequenceModel") + static Model Model_sharedSequenceModel; + @ObfuscatedName("n") + @Export("Model_sharedSequenceModelFaceAlphas") + static byte[] Model_sharedSequenceModelFaceAlphas; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ldh;" + ) + @Export("Model_sharedSpotAnimationModel") + static Model Model_sharedSpotAnimationModel; + @ObfuscatedName("u") + @Export("Model_sharedSpotAnimationModelFaceAlphas") + static byte[] Model_sharedSpotAnimationModelFaceAlphas; + @ObfuscatedName("ai") + static boolean[] field1672; + @ObfuscatedName("ak") + static boolean[] field1673; + @ObfuscatedName("aq") + @Export("modelViewportXs") + static int[] modelViewportXs; + @ObfuscatedName("am") + @Export("modelViewportYs") + static int[] modelViewportYs; + @ObfuscatedName("ae") + static int[] field1656; + @ObfuscatedName("av") + static int[] field1677; + @ObfuscatedName("ah") + static int[] field1652; + @ObfuscatedName("ag") + static int[] field1679; + @ObfuscatedName("ay") + static int[] field1681; + @ObfuscatedName("au") + static int[][] field1682; + @ObfuscatedName("af") + static int[] field1683; + @ObfuscatedName("at") + static int[][] field1645; + @ObfuscatedName("bx") + static int[] field1697; + @ObfuscatedName("bh") + static int[] field1658; + @ObfuscatedName("bd") + static int[] field1687; + @ObfuscatedName("bm") + static int[] field1688; + @ObfuscatedName("bv") + static int[] field1676; + @ObfuscatedName("bj") + static int[] field1690; + @ObfuscatedName("bs") + @Export("Model_transformTempX") + static int Model_transformTempX; + @ObfuscatedName("bz") + @Export("Model_transformTempY") + static int Model_transformTempY; + @ObfuscatedName("bc") + @Export("Model_transformTempZ") + static int Model_transformTempZ; + @ObfuscatedName("bk") + static boolean field1694; + @ObfuscatedName("be") + @Export("Model_sine") + static int[] Model_sine; + @ObfuscatedName("bu") + @Export("Model_cosine") + static int[] Model_cosine; + @ObfuscatedName("bi") + static int[] field1699; + @ObfuscatedName("bb") + static int[] field1700; + @ObfuscatedName("r") + @Export("verticesCount") + int verticesCount; + @ObfuscatedName("p") + @Export("verticesX") + int[] verticesX; + @ObfuscatedName("q") + @Export("verticesY") + int[] verticesY; + @ObfuscatedName("m") + @Export("verticesZ") + int[] verticesZ; + @ObfuscatedName("y") + @Export("indicesCount") + int indicesCount; + @ObfuscatedName("i") + @Export("indices1") + int[] indices1; + @ObfuscatedName("c") + @Export("indices2") + int[] indices2; + @ObfuscatedName("b") + @Export("indices3") + int[] indices3; + @ObfuscatedName("o") + @Export("faceColors1") + int[] faceColors1; + @ObfuscatedName("a") + @Export("faceColors2") + int[] faceColors2; + @ObfuscatedName("e") + @Export("faceColors3") + int[] faceColors3; + @ObfuscatedName("w") + @Export("faceRenderPriorities") + byte[] faceRenderPriorities; + @ObfuscatedName("t") + @Export("faceAlphas") + byte[] faceAlphas; + @ObfuscatedName("g") + byte[] field1639; + @ObfuscatedName("x") + @Export("faceTextures") + short[] faceTextures; + @ObfuscatedName("h") + byte field1634; + @ObfuscatedName("s") + int field1685; + @ObfuscatedName("f") + int[] field1654; + @ObfuscatedName("j") + int[] field1655; + @ObfuscatedName("d") + int[] field1653; + @ObfuscatedName("l") + @Export("vertexLabels") + int[][] vertexLabels; + @ObfuscatedName("k") + @Export("faceLabelsAlpha") + int[][] faceLabelsAlpha; + @ObfuscatedName("ac") + @Export("isSingleTile") + public boolean isSingleTile; + @ObfuscatedName("az") + @Export("boundsType") + int boundsType; + @ObfuscatedName("aw") + @Export("bottomY") + int bottomY; + @ObfuscatedName("aa") + @Export("xzRadius") + int xzRadius; + @ObfuscatedName("ap") + @Export("diameter") + int diameter; + @ObfuscatedName("ar") + @Export("radius") + int radius; + @ObfuscatedName("ab") + @Export("xMid") + int xMid; + @ObfuscatedName("ax") + @Export("yMid") + int yMid; + @ObfuscatedName("as") + @Export("zMid") + int zMid; + @ObfuscatedName("ao") + @Export("xMidOffset") + int xMidOffset; + @ObfuscatedName("al") + @Export("yMidOffset") + int yMidOffset; + @ObfuscatedName("ad") + @Export("zMidOffset") + int zMidOffset; + + static { + Model_sharedSequenceModel = new Model(); + Model_sharedSequenceModelFaceAlphas = new byte[1]; + Model_sharedSpotAnimationModel = new Model(); + Model_sharedSpotAnimationModelFaceAlphas = new byte[1]; + field1672 = new boolean[4700]; + field1673 = new boolean[4700]; + modelViewportXs = new int[4700]; + modelViewportYs = new int[4700]; + field1656 = new int[4700]; + field1677 = new int[4700]; + field1652 = new int[4700]; + field1679 = new int[4700]; + field1681 = new int[1600]; + field1682 = new int[1600][512]; + field1683 = new int[12]; + field1645 = new int[12][2000]; + field1697 = new int[2000]; + field1658 = new int[2000]; + field1687 = new int[12]; + field1688 = new int[10]; + field1676 = new int[10]; + field1690 = new int[10]; + field1694 = true; + Model_sine = Rasterizer3D.Rasterizer3D_sine; + Model_cosine = Rasterizer3D.Rasterizer3D_cosine; + field1699 = Rasterizer3D.Rasterizer3D_colorPalette; + field1700 = Rasterizer3D.field1753; + } + + Model() { + this.verticesCount = 0; + this.indicesCount = 0; + this.field1634 = 0; + this.field1685 = 0; + this.isSingleTile = false; + this.xMidOffset = -1; + this.yMidOffset = -1; + this.zMidOffset = -1; + } + + @ObfuscatedSignature( + signature = "([Ldh;I)V" + ) + public Model(Model[] var1, int var2) { + this.verticesCount = 0; + this.indicesCount = 0; + this.field1634 = 0; + this.field1685 = 0; + this.isSingleTile = false; + this.xMidOffset = -1; + this.yMidOffset = -1; + this.zMidOffset = -1; + boolean var3 = false; + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + this.verticesCount = 0; + this.indicesCount = 0; + this.field1685 = 0; + this.field1634 = -1; + + int var7; + Model var8; + for (var7 = 0; var7 < var2; ++var7) { + var8 = var1[var7]; + if (var8 != null) { + this.verticesCount += var8.verticesCount; + this.indicesCount += var8.indicesCount; + this.field1685 += var8.field1685; + if (var8.faceRenderPriorities != null) { + var3 = true; + } else { + if (this.field1634 == -1) { + this.field1634 = var8.field1634; + } + + if (this.field1634 != var8.field1634) { + var3 = true; + } + } + + var4 |= var8.faceAlphas != null; + var5 |= var8.faceTextures != null; + var6 |= var8.field1639 != null; + } + } + + this.verticesX = new int[this.verticesCount]; + this.verticesY = new int[this.verticesCount]; + this.verticesZ = new int[this.verticesCount]; + this.indices1 = new int[this.indicesCount]; + this.indices2 = new int[this.indicesCount]; + this.indices3 = new int[this.indicesCount]; + this.faceColors1 = new int[this.indicesCount]; + this.faceColors2 = new int[this.indicesCount]; + this.faceColors3 = new int[this.indicesCount]; + if (var3) { + this.faceRenderPriorities = new byte[this.indicesCount]; + } + + if (var4) { + this.faceAlphas = new byte[this.indicesCount]; + } + + if (var5) { + this.faceTextures = new short[this.indicesCount]; + } + + if (var6) { + this.field1639 = new byte[this.indicesCount]; + } + + if (this.field1685 > 0) { + this.field1654 = new int[this.field1685]; + this.field1655 = new int[this.field1685]; + this.field1653 = new int[this.field1685]; + } + + this.verticesCount = 0; + this.indicesCount = 0; + this.field1685 = 0; + + for (var7 = 0; var7 < var2; ++var7) { + var8 = var1[var7]; + if (var8 != null) { + int var9; + for (var9 = 0; var9 < var8.indicesCount; ++var9) { + this.indices1[this.indicesCount] = this.verticesCount + var8.indices1[var9]; + this.indices2[this.indicesCount] = this.verticesCount + var8.indices2[var9]; + this.indices3[this.indicesCount] = this.verticesCount + var8.indices3[var9]; + this.faceColors1[this.indicesCount] = var8.faceColors1[var9]; + this.faceColors2[this.indicesCount] = var8.faceColors2[var9]; + this.faceColors3[this.indicesCount] = var8.faceColors3[var9]; + if (var3) { + if (var8.faceRenderPriorities != null) { + this.faceRenderPriorities[this.indicesCount] = var8.faceRenderPriorities[var9]; + } else { + this.faceRenderPriorities[this.indicesCount] = var8.field1634; + } + } + + if (var4 && var8.faceAlphas != null) { + this.faceAlphas[this.indicesCount] = var8.faceAlphas[var9]; + } + + if (var5) { + if (var8.faceTextures != null) { + this.faceTextures[this.indicesCount] = var8.faceTextures[var9]; + } else { + this.faceTextures[this.indicesCount] = -1; + } + } + + if (var6) { + if (var8.field1639 != null && var8.field1639[var9] != -1) { + this.field1639[this.indicesCount] = (byte)(this.field1685 + var8.field1639[var9]); + } else { + this.field1639[this.indicesCount] = -1; + } + } + + ++this.indicesCount; + } + + for (var9 = 0; var9 < var8.field1685; ++var9) { + this.field1654[this.field1685] = this.verticesCount + var8.field1654[var9]; + this.field1655[this.field1685] = this.verticesCount + var8.field1655[var9]; + this.field1653[this.field1685] = this.verticesCount + var8.field1653[var9]; + ++this.field1685; + } + + for (var9 = 0; var9 < var8.verticesCount; ++var9) { + this.verticesX[this.verticesCount] = var8.verticesX[var9]; + this.verticesY[this.verticesCount] = var8.verticesY[var9]; + this.verticesZ[this.verticesCount] = var8.verticesZ[var9]; + ++this.verticesCount; + } + } + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([[IIIIZI)Ldh;" + ) + @Export("contourGround") + public Model contourGround(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { + this.calculateBoundsCylinder(); + int var7 = var2 - this.xzRadius; + int var8 = var2 + this.xzRadius; + int var9 = var4 - this.xzRadius; + int var10 = var4 + this.xzRadius; + if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { + var7 >>= 7; + var8 = var8 + 127 >> 7; + var9 >>= 7; + var10 = var10 + 127 >> 7; + if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { + return this; + } else { + Model var11; + if (var5) { + var11 = new Model(); + var11.verticesCount = this.verticesCount; + var11.indicesCount = this.indicesCount; + var11.field1685 = this.field1685; + var11.verticesX = this.verticesX; + var11.verticesZ = this.verticesZ; + var11.indices1 = this.indices1; + var11.indices2 = this.indices2; + var11.indices3 = this.indices3; + var11.faceColors1 = this.faceColors1; + var11.faceColors2 = this.faceColors2; + var11.faceColors3 = this.faceColors3; + var11.faceRenderPriorities = this.faceRenderPriorities; + var11.faceAlphas = this.faceAlphas; + var11.field1639 = this.field1639; + var11.faceTextures = this.faceTextures; + var11.field1634 = this.field1634; + var11.field1654 = this.field1654; + var11.field1655 = this.field1655; + var11.field1653 = this.field1653; + var11.vertexLabels = this.vertexLabels; + var11.faceLabelsAlpha = this.faceLabelsAlpha; + var11.isSingleTile = this.isSingleTile; + var11.verticesY = new int[var11.verticesCount]; + } else { + var11 = this; + } + + int var12; + int var13; + int var14; + int var15; + int var16; + int var17; + int var18; + int var19; + int var20; + int var21; + if (var6 == 0) { + for (var12 = 0; var12 < var11.verticesCount; ++var12) { + var13 = var2 + this.verticesX[var12]; + var14 = var4 + this.verticesZ[var12]; + var15 = var13 & 127; + var16 = var14 & 127; + var17 = var13 >> 7; + var18 = var14 >> 7; + var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; + var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; + var21 = var19 * (128 - var16) + var20 * var16 >> 7; + var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; + } + } else { + for (var12 = 0; var12 < var11.verticesCount; ++var12) { + var13 = (-this.verticesY[var12] << 16) / super.height; + if (var13 < var6) { + var14 = var2 + this.verticesX[var12]; + var15 = var4 + this.verticesZ[var12]; + var16 = var14 & 127; + var17 = var15 & 127; + var18 = var14 >> 7; + var19 = var15 >> 7; + var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; + var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; + int var22 = var20 * (128 - var17) + var21 * var17 >> 7; + var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; + } + } + } + + var11.resetBounds(); + return var11; + } + } else { + return this; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Z)Ldh;" + ) + @Export("toSharedSequenceModel") + public Model toSharedSequenceModel(boolean var1) { + if (!var1 && Model_sharedSequenceModelFaceAlphas.length < this.indicesCount) { + Model_sharedSequenceModelFaceAlphas = new byte[this.indicesCount + 100]; + } + + return this.buildSharedModel(var1, Model_sharedSequenceModel, Model_sharedSequenceModelFaceAlphas); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Z)Ldh;" + ) + @Export("toSharedSpotAnimationModel") + public Model toSharedSpotAnimationModel(boolean var1) { + if (!var1 && Model_sharedSpotAnimationModelFaceAlphas.length < this.indicesCount) { + Model_sharedSpotAnimationModelFaceAlphas = new byte[this.indicesCount + 100]; + } + + return this.buildSharedModel(var1, Model_sharedSpotAnimationModel, Model_sharedSpotAnimationModelFaceAlphas); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(ZLdh;[B)Ldh;" + ) + @Export("buildSharedModel") + Model buildSharedModel(boolean var1, Model var2, byte[] var3) { + var2.verticesCount = this.verticesCount; + var2.indicesCount = this.indicesCount; + var2.field1685 = this.field1685; + if (var2.verticesX == null || var2.verticesX.length < this.verticesCount) { + var2.verticesX = new int[this.verticesCount + 100]; + var2.verticesY = new int[this.verticesCount + 100]; + var2.verticesZ = new int[this.verticesCount + 100]; + } + + int var4; + for (var4 = 0; var4 < this.verticesCount; ++var4) { + var2.verticesX[var4] = this.verticesX[var4]; + var2.verticesY[var4] = this.verticesY[var4]; + var2.verticesZ[var4] = this.verticesZ[var4]; + } + + if (var1) { + var2.faceAlphas = this.faceAlphas; + } else { + var2.faceAlphas = var3; + if (this.faceAlphas == null) { + for (var4 = 0; var4 < this.indicesCount; ++var4) { + var2.faceAlphas[var4] = 0; + } + } else { + for (var4 = 0; var4 < this.indicesCount; ++var4) { + var2.faceAlphas[var4] = this.faceAlphas[var4]; + } + } + } + + var2.indices1 = this.indices1; + var2.indices2 = this.indices2; + var2.indices3 = this.indices3; + var2.faceColors1 = this.faceColors1; + var2.faceColors2 = this.faceColors2; + var2.faceColors3 = this.faceColors3; + var2.faceRenderPriorities = this.faceRenderPriorities; + var2.field1639 = this.field1639; + var2.faceTextures = this.faceTextures; + var2.field1634 = this.field1634; + var2.field1654 = this.field1654; + var2.field1655 = this.field1655; + var2.field1653 = this.field1653; + var2.vertexLabels = this.vertexLabels; + var2.faceLabelsAlpha = this.faceLabelsAlpha; + var2.isSingleTile = this.isSingleTile; + var2.resetBounds(); + return var2; + } + + @ObfuscatedName("r") + @Export("calculateBoundingBox") + void calculateBoundingBox(int var1) { + if (this.xMidOffset == -1) { + int var2 = 0; + int var3 = 0; + int var4 = 0; + int var5 = 0; + int var6 = 0; + int var7 = 0; + int var8 = Model_cosine[var1]; + int var9 = Model_sine[var1]; + + for (int var10 = 0; var10 < this.verticesCount; ++var10) { + int var11 = Rasterizer3D.method2978(this.verticesX[var10], this.verticesZ[var10], var8, var9); + int var12 = this.verticesY[var10]; + int var13 = Rasterizer3D.method2979(this.verticesX[var10], this.verticesZ[var10], var8, var9); + if (var11 < var2) { + var2 = var11; + } + + if (var11 > var5) { + var5 = var11; + } + + if (var12 < var3) { + var3 = var12; + } + + if (var12 > var6) { + var6 = var12; + } + + if (var13 < var4) { + var4 = var13; + } + + if (var13 > var7) { + var7 = var13; + } + } + + this.xMid = (var5 + var2) / 2; + this.yMid = (var6 + var3) / 2; + this.zMid = (var7 + var4) / 2; + this.xMidOffset = (var5 - var2 + 1) / 2; + this.yMidOffset = (var6 - var3 + 1) / 2; + this.zMidOffset = (var7 - var4 + 1) / 2; + if (this.xMidOffset < 32) { + this.xMidOffset = 32; + } + + if (this.zMidOffset < 32) { + this.zMidOffset = 32; + } + + if (this.isSingleTile) { + this.xMidOffset += 8; + this.zMidOffset += 8; + } + + } + } + + @ObfuscatedName("p") + @Export("calculateBoundsCylinder") + public void calculateBoundsCylinder() { + if (this.boundsType != 1) { + this.boundsType = 1; + super.height = 0; + this.bottomY = 0; + this.xzRadius = 0; + + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + int var3 = this.verticesY[var1]; + int var4 = this.verticesZ[var1]; + if (-var3 > super.height) { + super.height = -var3; + } + + if (var3 > this.bottomY) { + this.bottomY = var3; + } + + int var5 = var2 * var2 + var4 * var4; + if (var5 > this.xzRadius) { + this.xzRadius = var5; + } + } + + this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); + this.radius = (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + super.height * super.height)) + 0.99D); + this.diameter = this.radius + (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + this.bottomY * this.bottomY)) + 0.99D); + } + } + + @ObfuscatedName("q") + void method2854() { + if (this.boundsType != 2) { + this.boundsType = 2; + this.xzRadius = 0; + + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + int var3 = this.verticesY[var1]; + int var4 = this.verticesZ[var1]; + int var5 = var2 * var2 + var4 * var4 + var3 * var3; + if (var5 > this.xzRadius) { + this.xzRadius = var5; + } + } + + this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); + this.radius = this.xzRadius; + this.diameter = this.xzRadius + this.xzRadius; + } + } + + @ObfuscatedName("m") + public int method2855() { + this.calculateBoundsCylinder(); + return this.xzRadius; + } + + @ObfuscatedName("i") + @Export("resetBounds") + void resetBounds() { + this.boundsType = 0; + this.xMidOffset = -1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Lep;I)V" + ) + @Export("animate") + public void animate(Frames var1, int var2) { + if (this.vertexLabels != null) { + if (var2 != -1) { + Animation var3 = var1.frames[var2]; + Skeleton var4 = var3.skeleton; + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + + for (int var5 = 0; var5 < var3.transformCount; ++var5) { + int var6 = var3.transformSkeletonLabels[var5]; + this.transform(var4.transformTypes[var6], var4.labels[var6], var3.transformXs[var5], var3.transformYs[var5], var3.transformZs[var5]); + } + + this.resetBounds(); + } + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(Lep;ILep;I[I)V" + ) + @Export("animate2") + public void animate2(Frames var1, int var2, Frames var3, int var4, int[] var5) { + if (var2 != -1) { + if (var5 != null && var4 != -1) { + Animation var6 = var1.frames[var2]; + Animation var7 = var3.frames[var4]; + Skeleton var8 = var6.skeleton; + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + byte var9 = 0; + int var13 = var9 + 1; + int var10 = var5[var9]; + + int var11; + int var12; + for (var11 = 0; var11 < var6.transformCount; ++var11) { + for (var12 = var6.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { + } + + if (var12 != var10 || var8.transformTypes[var12] == 0) { + this.transform(var8.transformTypes[var12], var8.labels[var12], var6.transformXs[var11], var6.transformYs[var11], var6.transformZs[var11]); + } + } + + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + var9 = 0; + var13 = var9 + 1; + var10 = var5[var9]; + + for (var11 = 0; var11 < var7.transformCount; ++var11) { + for (var12 = var7.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { + } + + if (var12 == var10 || var8.transformTypes[var12] == 0) { + this.transform(var8.transformTypes[var12], var8.labels[var12], var7.transformXs[var11], var7.transformYs[var11], var7.transformZs[var11]); + } + } + + this.resetBounds(); + } else { + this.animate(var1, var2); + } + } + } + + @ObfuscatedName("o") + @Export("transform") + void transform(int var1, int[] var2, int var3, int var4, int var5) { + int var6 = var2.length; + int var7; + int var8; + int var11; + int var12; + if (var1 == 0) { + var7 = 0; + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + + for (var8 = 0; var8 < var6; ++var8) { + int var9 = var2[var8]; + if (var9 < this.vertexLabels.length) { + int[] var10 = this.vertexLabels[var9]; + + for (var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + Model_transformTempX += this.verticesX[var12]; + Model_transformTempY += this.verticesY[var12]; + Model_transformTempZ += this.verticesZ[var12]; + ++var7; + } + } + } + + if (var7 > 0) { + Model_transformTempX = var3 + Model_transformTempX / var7; + Model_transformTempY = var4 + Model_transformTempY / var7; + Model_transformTempZ = var5 + Model_transformTempZ / var7; + } else { + Model_transformTempX = var3; + Model_transformTempY = var4; + Model_transformTempZ = var5; + } + + } else { + int[] var10000; + int[] var18; + int var19; + if (var1 == 1) { + for (var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.vertexLabels.length) { + var18 = this.vertexLabels[var8]; + + for (var19 = 0; var19 < var18.length; ++var19) { + var11 = var18[var19]; + var10000 = this.verticesX; + var10000[var11] += var3; + var10000 = this.verticesY; + var10000[var11] += var4; + var10000 = this.verticesZ; + var10000[var11] += var5; + } + } + } + + } else if (var1 == 2) { + for (var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.vertexLabels.length) { + var18 = this.vertexLabels[var8]; + + for (var19 = 0; var19 < var18.length; ++var19) { + var11 = var18[var19]; + var10000 = this.verticesX; + var10000[var11] -= Model_transformTempX; + var10000 = this.verticesY; + var10000[var11] -= Model_transformTempY; + var10000 = this.verticesZ; + var10000[var11] -= Model_transformTempZ; + var12 = (var3 & 255) * 8; + int var13 = (var4 & 255) * 8; + int var14 = (var5 & 255) * 8; + int var15; + int var16; + int var17; + if (var14 != 0) { + var15 = Model_sine[var14]; + var16 = Model_cosine[var14]; + var17 = var15 * this.verticesY[var11] + var16 * this.verticesX[var11] >> 16; + this.verticesY[var11] = var16 * this.verticesY[var11] - var15 * this.verticesX[var11] >> 16; + this.verticesX[var11] = var17; + } + + if (var12 != 0) { + var15 = Model_sine[var12]; + var16 = Model_cosine[var12]; + var17 = var16 * this.verticesY[var11] - var15 * this.verticesZ[var11] >> 16; + this.verticesZ[var11] = var15 * this.verticesY[var11] + var16 * this.verticesZ[var11] >> 16; + this.verticesY[var11] = var17; + } + + if (var13 != 0) { + var15 = Model_sine[var13]; + var16 = Model_cosine[var13]; + var17 = var15 * this.verticesZ[var11] + var16 * this.verticesX[var11] >> 16; + this.verticesZ[var11] = var16 * this.verticesZ[var11] - var15 * this.verticesX[var11] >> 16; + this.verticesX[var11] = var17; + } + + var10000 = this.verticesX; + var10000[var11] += Model_transformTempX; + var10000 = this.verticesY; + var10000[var11] += Model_transformTempY; + var10000 = this.verticesZ; + var10000[var11] += Model_transformTempZ; + } + } + } + + } else if (var1 == 3) { + for (var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.vertexLabels.length) { + var18 = this.vertexLabels[var8]; + + for (var19 = 0; var19 < var18.length; ++var19) { + var11 = var18[var19]; + var10000 = this.verticesX; + var10000[var11] -= Model_transformTempX; + var10000 = this.verticesY; + var10000[var11] -= Model_transformTempY; + var10000 = this.verticesZ; + var10000[var11] -= Model_transformTempZ; + this.verticesX[var11] = var3 * this.verticesX[var11] / 128; + this.verticesY[var11] = var4 * this.verticesY[var11] / 128; + this.verticesZ[var11] = var5 * this.verticesZ[var11] / 128; + var10000 = this.verticesX; + var10000[var11] += Model_transformTempX; + var10000 = this.verticesY; + var10000[var11] += Model_transformTempY; + var10000 = this.verticesZ; + var10000[var11] += Model_transformTempZ; + } + } + } + + } else if (var1 == 5) { + if (this.faceLabelsAlpha != null && this.faceAlphas != null) { + for (var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.faceLabelsAlpha.length) { + var18 = this.faceLabelsAlpha[var8]; + + for (var19 = 0; var19 < var18.length; ++var19) { + var11 = var18[var19]; + var12 = (this.faceAlphas[var11] & 255) + var3 * 8; + if (var12 < 0) { + var12 = 0; + } else if (var12 > 255) { + var12 = 255; + } + + this.faceAlphas[var11] = (byte)var12; + } + } + } + } + + } + } + } + + @ObfuscatedName("a") + @Export("rotateY90Ccw") + public void rotateY90Ccw() { + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + this.verticesX[var1] = this.verticesZ[var1]; + this.verticesZ[var1] = -var2; + } + + this.resetBounds(); + } + + @ObfuscatedName("e") + @Export("rotateY180") + public void rotateY180() { + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + this.verticesX[var1] = -this.verticesX[var1]; + this.verticesZ[var1] = -this.verticesZ[var1]; + } + + this.resetBounds(); + } + + @ObfuscatedName("x") + @Export("rotateY270Ccw") + public void rotateY270Ccw() { + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesZ[var1]; + this.verticesZ[var1] = this.verticesX[var1]; + this.verticesX[var1] = -var2; + } + + this.resetBounds(); + } + + @ObfuscatedName("h") + @Export("rotateZ") + public void rotateZ(int var1) { + int var2 = Model_sine[var1]; + int var3 = Model_cosine[var1]; + + for (int var4 = 0; var4 < this.verticesCount; ++var4) { + int var5 = var3 * this.verticesY[var4] - var2 * this.verticesZ[var4] >> 16; + this.verticesZ[var4] = var2 * this.verticesY[var4] + var3 * this.verticesZ[var4] >> 16; + this.verticesY[var4] = var5; + } + + this.resetBounds(); + } + + @ObfuscatedName("s") + @Export("offsetBy") + public void offsetBy(int var1, int var2, int var3) { + for (int var4 = 0; var4 < this.verticesCount; ++var4) { + int[] var10000 = this.verticesX; + var10000[var4] += var1; + var10000 = this.verticesY; + var10000[var4] += var2; + var10000 = this.verticesZ; + var10000[var4] += var3; + } + + this.resetBounds(); + } + + @ObfuscatedName("f") + @Export("scale") + public void scale(int var1, int var2, int var3) { + for (int var4 = 0; var4 < this.verticesCount; ++var4) { + this.verticesX[var4] = this.verticesX[var4] * var1 / 128; + this.verticesY[var4] = var2 * this.verticesY[var4] / 128; + this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; + } + + this.resetBounds(); + } + + @ObfuscatedName("j") + public final void method2866(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + field1681[0] = -1; + if (this.boundsType != 2 && this.boundsType != 1) { + this.method2854(); + } + + int var8 = Rasterizer3D.Rasterizer3D_clipMidX; + int var9 = Rasterizer3D.Rasterizer3D_clipMidY; + int var10 = Model_sine[var1]; + int var11 = Model_cosine[var1]; + int var12 = Model_sine[var2]; + int var13 = Model_cosine[var2]; + int var14 = Model_sine[var3]; + int var15 = Model_cosine[var3]; + int var16 = Model_sine[var4]; + int var17 = Model_cosine[var4]; + int var18 = var16 * var6 + var17 * var7 >> 16; + + for (int var19 = 0; var19 < this.verticesCount; ++var19) { + int var20 = this.verticesX[var19]; + int var21 = this.verticesY[var19]; + int var22 = this.verticesZ[var19]; + int var23; + if (var3 != 0) { + var23 = var21 * var14 + var20 * var15 >> 16; + var21 = var21 * var15 - var20 * var14 >> 16; + var20 = var23; + } + + if (var1 != 0) { + var23 = var21 * var11 - var22 * var10 >> 16; + var22 = var21 * var10 + var22 * var11 >> 16; + var21 = var23; + } + + if (var2 != 0) { + var23 = var22 * var12 + var20 * var13 >> 16; + var22 = var22 * var13 - var20 * var12 >> 16; + var20 = var23; + } + + var20 += var5; + var21 += var6; + var22 += var7; + var23 = var21 * var17 - var22 * var16 >> 16; + var22 = var21 * var16 + var22 * var17 >> 16; + field1656[var19] = var22 - var18; + modelViewportXs[var19] = var20 * Rasterizer3D.Rasterizer3D_zoom / var22 + var8; + modelViewportYs[var19] = var23 * Rasterizer3D.Rasterizer3D_zoom / var22 + var9; + if (this.field1685 > 0) { + field1677[var19] = var20; + field1652[var19] = var23; + field1679[var19] = var22; + } + } + + try { + this.draw0(false, false, false, 0L); + } catch (Exception var25) { + } + + } + + @ObfuscatedName("d") + public final void method2867(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + field1681[0] = -1; + if (this.boundsType != 2 && this.boundsType != 1) { + this.method2854(); + } + + int var9 = Rasterizer3D.Rasterizer3D_clipMidX; + int var10 = Rasterizer3D.Rasterizer3D_clipMidY; + int var11 = Model_sine[var1]; + int var12 = Model_cosine[var1]; + int var13 = Model_sine[var2]; + int var14 = Model_cosine[var2]; + int var15 = Model_sine[var3]; + int var16 = Model_cosine[var3]; + int var17 = Model_sine[var4]; + int var18 = Model_cosine[var4]; + int var19 = var17 * var6 + var18 * var7 >> 16; + + for (int var20 = 0; var20 < this.verticesCount; ++var20) { + int var21 = this.verticesX[var20]; + int var22 = this.verticesY[var20]; + int var23 = this.verticesZ[var20]; + int var24; + if (var3 != 0) { + var24 = var22 * var15 + var21 * var16 >> 16; + var22 = var22 * var16 - var21 * var15 >> 16; + var21 = var24; + } + + if (var1 != 0) { + var24 = var22 * var12 - var23 * var11 >> 16; + var23 = var22 * var11 + var23 * var12 >> 16; + var22 = var24; + } + + if (var2 != 0) { + var24 = var23 * var13 + var21 * var14 >> 16; + var23 = var23 * var14 - var21 * var13 >> 16; + var21 = var24; + } + + var21 += var5; + var22 += var6; + var23 += var7; + var24 = var22 * var18 - var23 * var17 >> 16; + var23 = var22 * var17 + var23 * var18 >> 16; + field1656[var20] = var23 - var19; + modelViewportXs[var20] = var9 + var21 * Rasterizer3D.Rasterizer3D_zoom / var8; + modelViewportYs[var20] = var10 + var24 * Rasterizer3D.Rasterizer3D_zoom / var8; + if (this.field1685 > 0) { + field1677[var20] = var21; + field1652[var20] = var24; + field1679[var20] = var23; + } + } + + try { + this.draw0(false, false, false, 0L); + } catch (Exception var26) { + } + + } + + @ObfuscatedName("l") + @Export("draw0") + final void draw0(boolean var1, boolean var2, boolean var3, long var4) { + if (this.diameter < 1600) { + int var6; + for (var6 = 0; var6 < this.diameter; ++var6) { + field1681[var6] = 0; + } + + var6 = var3 ? 20 : 5; + + int var7; + int var8; + int var10; + int var11; + int var12; + int var13; + int var15; + int var16; + int var18; + int var27; + for (var7 = 0; var7 < this.indicesCount; ++var7) { + if (this.faceColors3[var7] != -2) { + var8 = this.indices1[var7]; + var27 = this.indices2[var7]; + var10 = this.indices3[var7]; + var11 = modelViewportXs[var8]; + var12 = modelViewportXs[var27]; + var13 = modelViewportXs[var10]; + int var17; + int var34; + if (var1 && (var11 == -5000 || var12 == -5000 || var13 == -5000)) { + var34 = field1677[var8]; + var15 = field1677[var27]; + var16 = field1677[var10]; + var17 = field1652[var8]; + var18 = field1652[var27]; + int var19 = field1652[var10]; + int var20 = field1679[var8]; + int var21 = field1679[var27]; + int var22 = field1679[var10]; + var34 -= var15; + var16 -= var15; + var17 -= var18; + var19 -= var18; + var20 -= var21; + var22 -= var21; + int var23 = var17 * var22 - var20 * var19; + int var24 = var20 * var16 - var34 * var22; + int var25 = var34 * var19 - var17 * var16; + if (var15 * var23 + var18 * var24 + var21 * var25 > 0) { + field1673[var7] = true; + int var26 = (field1656[var8] + field1656[var27] + field1656[var10]) / 3 + this.radius; + field1682[var26][field1681[var26]++] = var7; + } + } else { + if (var2) { + var15 = modelViewportYs[var8]; + var16 = modelViewportYs[var27]; + var17 = modelViewportYs[var10]; + var18 = var6 + ViewportMouse.ViewportMouse_y; + boolean var14; + if (var18 < var15 && var18 < var16 && var18 < var17) { + var14 = false; + } else { + var18 = ViewportMouse.ViewportMouse_y - var6; + if (var18 > var15 && var18 > var16 && var18 > var17) { + var14 = false; + } else { + var18 = var6 + ViewportMouse.ViewportMouse_x; + if (var18 < var11 && var18 < var12 && var18 < var13) { + var14 = false; + } else { + var18 = ViewportMouse.ViewportMouse_x - var6; + if (var18 > var11 && var18 > var12 && var18 > var13) { + var14 = false; + } else { + var14 = true; + } + } + } + } + + if (var14) { + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4; + var2 = false; + } + } + + if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var27]) - (var13 - var12) * (modelViewportYs[var8] - modelViewportYs[var27]) > 0) { + field1673[var7] = false; + if (var11 >= 0 && var12 >= 0 && var13 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var13 <= Rasterizer3D.Rasterizer3D_clipWidth) { + field1672[var7] = false; + } else { + field1672[var7] = true; + } + + var34 = (field1656[var8] + field1656[var27] + field1656[var10]) / 3 + this.radius; + field1682[var34][field1681[var34]++] = var7; + } + } + } + } + + int[] var9; + if (this.faceRenderPriorities == null) { + for (var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1681[var7]; + if (var8 > 0) { + var9 = field1682[var7]; + + for (var10 = 0; var10 < var8; ++var10) { + this.method2870(var9[var10]); + } + } + } + + } else { + for (var7 = 0; var7 < 12; ++var7) { + field1683[var7] = 0; + field1687[var7] = 0; + } + + for (var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1681[var7]; + if (var8 > 0) { + var9 = field1682[var7]; + + for (var10 = 0; var10 < var8; ++var10) { + var11 = var9[var10]; + byte var33 = this.faceRenderPriorities[var11]; + var13 = field1683[var33]++; + field1645[var33][var13] = var11; + if (var33 < 10) { + int[] var10000 = field1687; + var10000[var33] += var7; + } else if (var33 == 10) { + field1697[var13] = var7; + } else { + field1658[var13] = var7; + } + } + } + } + + var7 = 0; + if (field1683[1] > 0 || field1683[2] > 0) { + var7 = (field1687[1] + field1687[2]) / (field1683[1] + field1683[2]); + } + + var8 = 0; + if (field1683[3] > 0 || field1683[4] > 0) { + var8 = (field1687[3] + field1687[4]) / (field1683[3] + field1683[4]); + } + + var27 = 0; + if (field1683[6] > 0 || field1683[8] > 0) { + var27 = (field1687[8] + field1687[6]) / (field1683[8] + field1683[6]); + } + + var11 = 0; + var12 = field1683[10]; + int[] var30 = field1645[10]; + int[] var31 = field1697; + if (var11 == var12) { + var11 = 0; + var12 = field1683[11]; + var30 = field1645[11]; + var31 = field1658; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + + for (var15 = 0; var15 < 10; ++var15) { + while (var15 == 0 && var10 > var7) { + this.method2870(var30[var11++]); + if (var11 == var12 && var30 != field1645[11]) { + var11 = 0; + var12 = field1683[11]; + var30 = field1645[11]; + var31 = field1658; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + while (var15 == 3 && var10 > var8) { + this.method2870(var30[var11++]); + if (var11 == var12 && var30 != field1645[11]) { + var11 = 0; + var12 = field1683[11]; + var30 = field1645[11]; + var31 = field1658; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + while (var15 == 5 && var10 > var27) { + this.method2870(var30[var11++]); + if (var11 == var12 && var30 != field1645[11]) { + var11 = 0; + var12 = field1683[11]; + var30 = field1645[11]; + var31 = field1658; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + var16 = field1683[var15]; + int[] var32 = field1645[var15]; + + for (var18 = 0; var18 < var16; ++var18) { + this.method2870(var32[var18]); + } + } + + while (var10 != -1000) { + this.method2870(var30[var11++]); + if (var11 == var12 && var30 != field1645[11]) { + var11 = 0; + var30 = field1645[11]; + var12 = field1683[11]; + var31 = field1658; + } + + if (var11 < var12) { + var10 = var31[var11]; + } else { + var10 = -1000; + } + } + + } + } + } + + @ObfuscatedName("k") + final void method2870(int var1) { + if (field1673[var1]) { + this.method2871(var1); + } else { + int var2 = this.indices1[var1]; + int var3 = this.indices2[var1]; + int var4 = this.indices3[var1]; + Rasterizer3D.field1733 = field1672[var1]; + if (this.faceAlphas == null) { + Rasterizer3D.Rasterizer3D_alpha = 0; + } else { + Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + int var5; + int var6; + int var7; + if (this.field1639 != null && this.field1639[var1] != -1) { + int var8 = this.field1639[var1] & 255; + var5 = this.field1654[var8]; + var6 = this.field1655[var8]; + var7 = this.field1653[var8]; + } else { + var5 = var2; + var6 = var3; + var7 = var4; + } + + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2973(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1677[var5], field1677[var6], field1677[var7], field1652[var5], field1652[var6], field1652[var7], field1679[var5], field1679[var6], field1679[var7], this.faceTextures[var1]); + } else { + Rasterizer3D.method2973(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field1677[var5], field1677[var6], field1677[var7], field1652[var5], field1652[var6], field1652[var7], field1679[var5], field1679[var6], field1679[var7], this.faceTextures[var1]); + } + } else if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2971(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field1699[this.faceColors1[var1]]); + } else { + Rasterizer3D.method2969(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]); + } + + } + } + + @ObfuscatedName("ac") + final void method2871(int var1) { + int var2 = Rasterizer3D.Rasterizer3D_clipMidX; + int var3 = Rasterizer3D.Rasterizer3D_clipMidY; + int var4 = 0; + int var5 = this.indices1[var1]; + int var6 = this.indices2[var1]; + int var7 = this.indices3[var1]; + int var8 = field1679[var5]; + int var9 = field1679[var6]; + int var10 = field1679[var7]; + if (this.faceAlphas == null) { + Rasterizer3D.Rasterizer3D_alpha = 0; + } else { + Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; + } + + int var11; + int var12; + int var13; + int var14; + if (var8 >= 50) { + field1688[var4] = modelViewportXs[var5]; + field1676[var4] = modelViewportYs[var5]; + field1690[var4++] = this.faceColors1[var1]; + } else { + var11 = field1677[var5]; + var12 = field1652[var5]; + var13 = this.faceColors1[var1]; + if (var10 >= 50) { + var14 = field1700[var10 - var8] * (50 - var8); + field1688[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1677[var7] - var11) * var14 >> 16)) / 50; + field1676[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1652[var7] - var12) * var14 >> 16)) / 50; + field1690[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + } + + if (var9 >= 50) { + var14 = field1700[var9 - var8] * (50 - var8); + field1688[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1677[var6] - var11) * var14 >> 16)) / 50; + field1676[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1652[var6] - var12) * var14 >> 16)) / 50; + field1690[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + } + } + + if (var9 >= 50) { + field1688[var4] = modelViewportXs[var6]; + field1676[var4] = modelViewportYs[var6]; + field1690[var4++] = this.faceColors2[var1]; + } else { + var11 = field1677[var6]; + var12 = field1652[var6]; + var13 = this.faceColors2[var1]; + if (var8 >= 50) { + var14 = field1700[var8 - var9] * (50 - var9); + field1688[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1677[var5] - var11) * var14 >> 16)) / 50; + field1676[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1652[var5] - var12) * var14 >> 16)) / 50; + field1690[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + } + + if (var10 >= 50) { + var14 = field1700[var10 - var9] * (50 - var9); + field1688[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1677[var7] - var11) * var14 >> 16)) / 50; + field1676[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1652[var7] - var12) * var14 >> 16)) / 50; + field1690[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + } + } + + if (var10 >= 50) { + field1688[var4] = modelViewportXs[var7]; + field1676[var4] = modelViewportYs[var7]; + field1690[var4++] = this.faceColors3[var1]; + } else { + var11 = field1677[var7]; + var12 = field1652[var7]; + var13 = this.faceColors3[var1]; + if (var9 >= 50) { + var14 = field1700[var9 - var10] * (50 - var10); + field1688[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1677[var6] - var11) * var14 >> 16)) / 50; + field1676[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1652[var6] - var12) * var14 >> 16)) / 50; + field1690[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + } + + if (var8 >= 50) { + var14 = field1700[var8 - var10] * (50 - var10); + field1688[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1677[var5] - var11) * var14 >> 16)) / 50; + field1676[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1652[var5] - var12) * var14 >> 16)) / 50; + field1690[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + } + } + + var11 = field1688[0]; + var12 = field1688[1]; + var13 = field1688[2]; + var14 = field1676[0]; + int var15 = field1676[1]; + int var16 = field1676[2]; + Rasterizer3D.field1733 = false; + int var17; + int var18; + int var19; + int var20; + if (var4 == 3) { + if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1733 = true; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + if (this.field1639 != null && this.field1639[var1] != -1) { + var20 = this.field1639[var1] & 255; + var17 = this.field1654[var20]; + var18 = this.field1655[var20]; + var19 = this.field1653[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2973(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1677[var17], field1677[var18], field1677[var19], field1652[var17], field1652[var18], field1652[var19], field1679[var17], field1679[var18], field1679[var19], this.faceTextures[var1]); + } else { + Rasterizer3D.method2973(var14, var15, var16, var11, var12, var13, field1690[0], field1690[1], field1690[2], field1677[var17], field1677[var18], field1677[var19], field1652[var17], field1652[var18], field1652[var19], field1679[var17], field1679[var18], field1679[var19], this.faceTextures[var1]); + } + } else if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2971(var14, var15, var16, var11, var12, var13, field1699[this.faceColors1[var1]]); + } else { + Rasterizer3D.method2969(var14, var15, var16, var11, var12, var13, field1690[0], field1690[1], field1690[2]); + } + } + + if (var4 == 4) { + if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field1688[3] < 0 || field1688[3] > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1733 = true; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + if (this.field1639 != null && this.field1639[var1] != -1) { + var20 = this.field1639[var1] & 255; + var17 = this.field1654[var20]; + var18 = this.field1655[var20]; + var19 = this.field1653[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + short var21 = this.faceTextures[var1]; + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method2973(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1677[var17], field1677[var18], field1677[var19], field1652[var17], field1652[var18], field1652[var19], field1679[var17], field1679[var18], field1679[var19], var21); + Rasterizer3D.method2973(var14, var16, field1676[3], var11, var13, field1688[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1677[var17], field1677[var18], field1677[var19], field1652[var17], field1652[var18], field1652[var19], field1679[var17], field1679[var18], field1679[var19], var21); + } else { + Rasterizer3D.method2973(var14, var15, var16, var11, var12, var13, field1690[0], field1690[1], field1690[2], field1677[var17], field1677[var18], field1677[var19], field1652[var17], field1652[var18], field1652[var19], field1679[var17], field1679[var18], field1679[var19], var21); + Rasterizer3D.method2973(var14, var16, field1676[3], var11, var13, field1688[3], field1690[0], field1690[2], field1690[3], field1677[var17], field1677[var18], field1677[var19], field1652[var17], field1652[var18], field1652[var19], field1679[var17], field1679[var18], field1679[var19], var21); + } + } else if (this.faceColors3[var1] == -1) { + var17 = field1699[this.faceColors1[var1]]; + Rasterizer3D.method2971(var14, var15, var16, var11, var12, var13, var17); + Rasterizer3D.method2971(var14, var16, field1676[3], var11, var13, field1688[3], var17); + } else { + Rasterizer3D.method2969(var14, var15, var16, var11, var12, var13, field1690[0], field1690[1], field1690[2]); + Rasterizer3D.method2969(var14, var16, field1676[3], var11, var13, field1688[3], field1690[0], field1690[2], field1690[3]); + } + } + + } + + @ObfuscatedName("cb") + @Export("draw") + void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { + field1681[0] = -1; + if (this.boundsType != 1) { + this.calculateBoundsCylinder(); + } + + this.calculateBoundingBox(var1); + int var11 = var5 * var8 - var4 * var6 >> 16; + int var12 = var2 * var7 + var3 * var11 >> 16; + int var13 = var3 * this.xzRadius >> 16; + int var14 = var12 + var13; + if (var14 > 50 && var12 < 3500) { + int var15 = var8 * var4 + var5 * var6 >> 16; + int var16 = (var15 - this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; + if (var16 / var14 < Rasterizer3D.Rasterizer3D_clipMidX2) { + int var17 = (var15 + this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; + if (var17 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidX) { + int var18 = var3 * var7 - var11 * var2 >> 16; + int var19 = var2 * this.xzRadius >> 16; + int var20 = (var18 + var19) * Rasterizer3D.Rasterizer3D_zoom; + if (var20 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidY) { + int var21 = (var3 * super.height >> 16) + var19; + int var22 = (var18 - var21) * Rasterizer3D.Rasterizer3D_zoom; + if (var22 / var14 < Rasterizer3D.Rasterizer3D_clipMidY2) { + int var23 = var13 + (var2 * super.height >> 16); + boolean var24 = false; + boolean var25 = false; + if (var12 - var23 <= 50) { + var25 = true; + } + + boolean var26 = var25 || this.field1685 > 0; + int var27 = Clock.method3459(); + int var28 = ViewportMouse.ViewportMouse_y; + boolean var30 = ViewportMouse.ViewportMouse_isInViewport; + boolean var32 = Language.method3627(var9); + boolean var33 = false; + int var35; + int var36; + int var37; + if (var32 && var30) { + boolean var34 = false; + if (field1694) { + var34 = SecureRandomCallable.method1163(this, var6, var7, var8); + } else { + var35 = var12 - var13; + if (var35 <= 50) { + var35 = 50; + } + + if (var15 > 0) { + var16 /= var14; + var17 /= var35; + } else { + var17 /= var14; + var16 /= var35; + } + + if (var18 > 0) { + var22 /= var14; + var20 /= var35; + } else { + var20 /= var14; + var22 /= var35; + } + + var36 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; + var37 = var28 - Rasterizer3D.Rasterizer3D_clipMidY; + if (var36 > var16 && var36 < var17 && var37 > var22 && var37 < var20) { + var34 = true; + } + } + + if (var34) { + if (this.isSingleTile) { + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var9; + } else { + var33 = true; + } + } + } + + int var47 = Rasterizer3D.Rasterizer3D_clipMidX; + var35 = Rasterizer3D.Rasterizer3D_clipMidY; + var36 = 0; + var37 = 0; + if (var1 != 0) { + var36 = Model_sine[var1]; + var37 = Model_cosine[var1]; + } + + for (int var38 = 0; var38 < this.verticesCount; ++var38) { + int var39 = this.verticesX[var38]; + int var40 = this.verticesY[var38]; + int var41 = this.verticesZ[var38]; + int var42; + if (var1 != 0) { + var42 = var41 * var36 + var39 * var37 >> 16; + var41 = var41 * var37 - var39 * var36 >> 16; + var39 = var42; + } + + var39 += var6; + var40 += var7; + var41 += var8; + var42 = var41 * var4 + var5 * var39 >> 16; + var41 = var5 * var41 - var39 * var4 >> 16; + var39 = var42; + var42 = var3 * var40 - var41 * var2 >> 16; + var41 = var40 * var2 + var3 * var41 >> 16; + field1656[var38] = var41 - var12; + if (var41 >= 50) { + modelViewportXs[var38] = var39 * Rasterizer3D.Rasterizer3D_zoom / var41 + var47; + modelViewportYs[var38] = var42 * Rasterizer3D.Rasterizer3D_zoom / var41 + var35; + } else { + modelViewportXs[var38] = -5000; + var24 = true; + } + + if (var26) { + field1677[var38] = var39; + field1652[var38] = var42; + field1679[var38] = var41; + } + } + + try { + this.draw0(var24, var33, this.isSingleTile, var9); + } catch (Exception var46) { + } + + } + } + } + } + } + } +} diff --git a/runescape-client/src/main/java/ModelData.java b/runescape-client/src/main/java/ModelData.java index 5c525a3c59..ddd932e14a 100644 --- a/runescape-client/src/main/java/ModelData.java +++ b/runescape-client/src/main/java/ModelData.java @@ -1,1745 +1,1745 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ds") -@Implements("ModelData") -public class ModelData extends Entity { - @ObfuscatedName("ax") - static int[] field1551; - @ObfuscatedName("aj") - static int[] field1552; - @ObfuscatedName("ab") - static int field1553; - @ObfuscatedName("af") - @Export("ModelData_sine") - static int[] ModelData_sine; - @ObfuscatedName("ak") - @Export("ModelData_cosine") - static int[] ModelData_cosine; - @ObfuscatedName("c") - @Export("verticesCount") - int verticesCount; - @ObfuscatedName("x") - @Export("verticesX") - int[] verticesX; - @ObfuscatedName("t") - @Export("verticesY") - int[] verticesY; - @ObfuscatedName("g") - @Export("verticesZ") - int[] verticesZ; - @ObfuscatedName("l") - @Export("faceCount") - int faceCount; - @ObfuscatedName("u") - @Export("indices1") - int[] indices1; - @ObfuscatedName("j") - @Export("indices2") - int[] indices2; - @ObfuscatedName("v") - @Export("indices3") - int[] indices3; - @ObfuscatedName("d") - @Export("faceRenderTypes") - byte[] faceRenderTypes; - @ObfuscatedName("z") - @Export("faceRenderPriorities") - byte[] faceRenderPriorities; - @ObfuscatedName("n") - @Export("faceAlphas") - byte[] faceAlphas; - @ObfuscatedName("h") - @Export("textureCoords") - byte[] textureCoords; - @ObfuscatedName("f") - @Export("faceColors") - short[] faceColors; - @ObfuscatedName("s") - @Export("faceTextures") - short[] faceTextures; - @ObfuscatedName("p") - @Export("priority") - byte priority; - @ObfuscatedName("e") - @Export("textureTriangleCount") - int textureTriangleCount; - @ObfuscatedName("i") - @Export("textureRenderTypes") - byte[] textureRenderTypes; - @ObfuscatedName("q") - @Export("texTriangleX") - short[] texTriangleX; - @ObfuscatedName("y") - @Export("texTriangleY") - short[] texTriangleY; - @ObfuscatedName("r") - @Export("texTriangleZ") - short[] texTriangleZ; - @ObfuscatedName("k") - @Export("vertexSkins") - int[] vertexSkins; - @ObfuscatedName("w") - @Export("faceSkins") - int[] faceSkins; - @ObfuscatedName("m") - @Export("vertexLabels") - int[][] vertexLabels; - @ObfuscatedName("o") - @Export("faceLabelsAlpha") - int[][] faceLabelsAlpha; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "[Lem;" - ) - @Export("faceNormals") - FaceNormal[] faceNormals; - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "[Ldf;" - ) - @Export("vertexNormals") - VertexNormal[] vertexNormals; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "[Ldf;" - ) - VertexNormal[] field1542; - @ObfuscatedName("at") - @Export("ambient") - public short ambient; - @ObfuscatedName("ao") - @Export("contrast") - public short contrast; - @ObfuscatedName("av") - @Export("isBoundsCalculated") - boolean isBoundsCalculated; - @ObfuscatedName("an") - int field1546; - @ObfuscatedName("al") - int field1531; - @ObfuscatedName("as") - int field1526; - @ObfuscatedName("ad") - int field1548; - @ObfuscatedName("ap") - int field1520; - - static { - field1551 = new int[10000]; - field1552 = new int[10000]; - field1553 = 0; - ModelData_sine = Rasterizer3D.Rasterizer3D_sine; - ModelData_cosine = Rasterizer3D.Rasterizer3D_cosine; - } - - ModelData() { - this.verticesCount = 0; - this.faceCount = 0; - this.priority = 0; - this.isBoundsCalculated = false; - } - - @ObfuscatedSignature( - signature = "([Lds;I)V" - ) - public ModelData(ModelData[] var1, int var2) { - this.verticesCount = 0; - this.faceCount = 0; - this.priority = 0; - this.isBoundsCalculated = false; - boolean var3 = false; - boolean var4 = false; - boolean var5 = false; - boolean var6 = false; - boolean var7 = false; - boolean var8 = false; - this.verticesCount = 0; - this.faceCount = 0; - this.textureTriangleCount = 0; - this.priority = -1; - - int var9; - ModelData var10; - for (var9 = 0; var9 < var2; ++var9) { - var10 = var1[var9]; - if (var10 != null) { - this.verticesCount += var10.verticesCount; - this.faceCount += var10.faceCount; - this.textureTriangleCount += var10.textureTriangleCount; - if (var10.faceRenderPriorities != null) { - var4 = true; - } else { - if (this.priority == -1) { - this.priority = var10.priority; - } - - if (this.priority != var10.priority) { - var4 = true; - } - } - - var3 |= var10.faceRenderTypes != null; - var5 |= var10.faceAlphas != null; - var6 |= var10.faceSkins != null; - var7 |= var10.faceTextures != null; - var8 |= var10.textureCoords != null; - } - } - - this.verticesX = new int[this.verticesCount]; - this.verticesY = new int[this.verticesCount]; - this.verticesZ = new int[this.verticesCount]; - this.vertexSkins = new int[this.verticesCount]; - this.indices1 = new int[this.faceCount]; - this.indices2 = new int[this.faceCount]; - this.indices3 = new int[this.faceCount]; - if (var3) { - this.faceRenderTypes = new byte[this.faceCount]; - } - - if (var4) { - this.faceRenderPriorities = new byte[this.faceCount]; - } - - if (var5) { - this.faceAlphas = new byte[this.faceCount]; - } - - if (var6) { - this.faceSkins = new int[this.faceCount]; - } - - if (var7) { - this.faceTextures = new short[this.faceCount]; - } - - if (var8) { - this.textureCoords = new byte[this.faceCount]; - } - - this.faceColors = new short[this.faceCount]; - if (this.textureTriangleCount > 0) { - this.textureRenderTypes = new byte[this.textureTriangleCount]; - this.texTriangleX = new short[this.textureTriangleCount]; - this.texTriangleY = new short[this.textureTriangleCount]; - this.texTriangleZ = new short[this.textureTriangleCount]; - } - - this.verticesCount = 0; - this.faceCount = 0; - this.textureTriangleCount = 0; - - for (var9 = 0; var9 < var2; ++var9) { - var10 = var1[var9]; - if (var10 != null) { - int var11; - for (var11 = 0; var11 < var10.faceCount; ++var11) { - if (var3 && var10.faceRenderTypes != null) { - this.faceRenderTypes[this.faceCount] = var10.faceRenderTypes[var11]; - } - - if (var4) { - if (var10.faceRenderPriorities != null) { - this.faceRenderPriorities[this.faceCount] = var10.faceRenderPriorities[var11]; - } else { - this.faceRenderPriorities[this.faceCount] = var10.priority; - } - } - - if (var5 && var10.faceAlphas != null) { - this.faceAlphas[this.faceCount] = var10.faceAlphas[var11]; - } - - if (var6 && var10.faceSkins != null) { - this.faceSkins[this.faceCount] = var10.faceSkins[var11]; - } - - if (var7) { - if (var10.faceTextures != null) { - this.faceTextures[this.faceCount] = var10.faceTextures[var11]; - } else { - this.faceTextures[this.faceCount] = -1; - } - } - - if (var8) { - if (var10.textureCoords != null && var10.textureCoords[var11] != -1) { - this.textureCoords[this.faceCount] = (byte)(this.textureTriangleCount + var10.textureCoords[var11]); - } else { - this.textureCoords[this.faceCount] = -1; - } - } - - this.faceColors[this.faceCount] = var10.faceColors[var11]; - this.indices1[this.faceCount] = this.method2734(var10, var10.indices1[var11]); - this.indices2[this.faceCount] = this.method2734(var10, var10.indices2[var11]); - this.indices3[this.faceCount] = this.method2734(var10, var10.indices3[var11]); - ++this.faceCount; - } - - for (var11 = 0; var11 < var10.textureTriangleCount; ++var11) { - byte var12 = this.textureRenderTypes[this.textureTriangleCount] = var10.textureRenderTypes[var11]; - if (var12 == 0) { - this.texTriangleX[this.textureTriangleCount] = (short)this.method2734(var10, var10.texTriangleX[var11]); - this.texTriangleY[this.textureTriangleCount] = (short)this.method2734(var10, var10.texTriangleY[var11]); - this.texTriangleZ[this.textureTriangleCount] = (short)this.method2734(var10, var10.texTriangleZ[var11]); - } - - ++this.textureTriangleCount; - } - } - } - - } - - ModelData(byte[] var1) { - this.verticesCount = 0; - this.faceCount = 0; - this.priority = 0; - this.isBoundsCalculated = false; - if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { - this.method2732(var1); - } else { - this.method2782(var1); - } - - } - - @ObfuscatedSignature( - signature = "(Lds;ZZZZ)V", - garbageValue = "1" - ) - public ModelData(ModelData var1, boolean var2, boolean var3, boolean var4, boolean var5) { - this.verticesCount = 0; - this.faceCount = 0; - this.priority = 0; - this.isBoundsCalculated = false; - this.verticesCount = var1.verticesCount; - this.faceCount = var1.faceCount; - this.textureTriangleCount = var1.textureTriangleCount; - int var6; - if (var2) { - this.verticesX = var1.verticesX; - this.verticesY = var1.verticesY; - this.verticesZ = var1.verticesZ; - } else { - this.verticesX = new int[this.verticesCount]; - this.verticesY = new int[this.verticesCount]; - this.verticesZ = new int[this.verticesCount]; - - for (var6 = 0; var6 < this.verticesCount; ++var6) { - this.verticesX[var6] = var1.verticesX[var6]; - this.verticesY[var6] = var1.verticesY[var6]; - this.verticesZ[var6] = var1.verticesZ[var6]; - } - } - - if (var3) { - this.faceColors = var1.faceColors; - } else { - this.faceColors = new short[this.faceCount]; - - for (var6 = 0; var6 < this.faceCount; ++var6) { - this.faceColors[var6] = var1.faceColors[var6]; - } - } - - if (!var4 && var1.faceTextures != null) { - this.faceTextures = new short[this.faceCount]; - - for (var6 = 0; var6 < this.faceCount; ++var6) { - this.faceTextures[var6] = var1.faceTextures[var6]; - } - } else { - this.faceTextures = var1.faceTextures; - } - - this.faceAlphas = var1.faceAlphas; - this.indices1 = var1.indices1; - this.indices2 = var1.indices2; - this.indices3 = var1.indices3; - this.faceRenderTypes = var1.faceRenderTypes; - this.faceRenderPriorities = var1.faceRenderPriorities; - this.textureCoords = var1.textureCoords; - this.priority = var1.priority; - this.textureRenderTypes = var1.textureRenderTypes; - this.texTriangleX = var1.texTriangleX; - this.texTriangleY = var1.texTriangleY; - this.texTriangleZ = var1.texTriangleZ; - this.vertexSkins = var1.vertexSkins; - this.faceSkins = var1.faceSkins; - this.vertexLabels = var1.vertexLabels; - this.faceLabelsAlpha = var1.faceLabelsAlpha; - this.vertexNormals = var1.vertexNormals; - this.faceNormals = var1.faceNormals; - this.field1542 = var1.field1542; - this.ambient = var1.ambient; - this.contrast = var1.contrast; - } - - @ObfuscatedName("x") - void method2732(byte[] var1) { - Buffer var2 = new Buffer(var1); - Buffer var3 = new Buffer(var1); - Buffer var4 = new Buffer(var1); - Buffer var5 = new Buffer(var1); - Buffer var6 = new Buffer(var1); - Buffer var7 = new Buffer(var1); - Buffer var8 = new Buffer(var1); - var2.offset = var1.length - 23; - int var9 = var2.readUnsignedShort(); - int var10 = var2.readUnsignedShort(); - int var11 = var2.readUnsignedByte(); - int var12 = var2.readUnsignedByte(); - int var13 = var2.readUnsignedByte(); - int var14 = var2.readUnsignedByte(); - int var15 = var2.readUnsignedByte(); - int var16 = var2.readUnsignedByte(); - int var17 = var2.readUnsignedByte(); - int var18 = var2.readUnsignedShort(); - int var19 = var2.readUnsignedShort(); - int var20 = var2.readUnsignedShort(); - int var21 = var2.readUnsignedShort(); - int var22 = var2.readUnsignedShort(); - int var23 = 0; - int var24 = 0; - int var25 = 0; - int var26; - if (var11 > 0) { - this.textureRenderTypes = new byte[var11]; - var2.offset = 0; - - for (var26 = 0; var26 < var11; ++var26) { - byte var27 = this.textureRenderTypes[var26] = var2.readByte(); - if (var27 == 0) { - ++var23; - } - - if (var27 >= 1 && var27 <= 3) { - ++var24; - } - - if (var27 == 2) { - ++var25; - } - } - } - - var26 = var11 + var9; - int var28 = var26; - if (var12 == 1) { - var26 += var10; - } - - int var29 = var26; - var26 += var10; - int var30 = var26; - if (var13 == 255) { - var26 += var10; - } - - int var31 = var26; - if (var15 == 1) { - var26 += var10; - } - - int var32 = var26; - if (var17 == 1) { - var26 += var9; - } - - int var33 = var26; - if (var14 == 1) { - var26 += var10; - } - - int var34 = var26; - var26 += var21; - int var35 = var26; - if (var16 == 1) { - var26 += var10 * 2; - } - - int var36 = var26; - var26 += var22; - int var37 = var26; - var26 += var10 * 2; - int var38 = var26; - var26 += var18; - int var39 = var26; - var26 += var19; - int var40 = var26; - var26 += var20; - int var41 = var26; - var26 += var23 * 6; - int var42 = var26; - var26 += var24 * 6; - int var43 = var26; - var26 += var24 * 6; - int var44 = var26; - var26 += var24 * 2; - int var45 = var26; - var26 += var24; - int var46 = var26; - var26 += var24 * 2 + var25 * 2; - this.verticesCount = var9; - this.faceCount = var10; - this.textureTriangleCount = var11; - this.verticesX = new int[var9]; - this.verticesY = new int[var9]; - this.verticesZ = new int[var9]; - this.indices1 = new int[var10]; - this.indices2 = new int[var10]; - this.indices3 = new int[var10]; - if (var17 == 1) { - this.vertexSkins = new int[var9]; - } - - if (var12 == 1) { - this.faceRenderTypes = new byte[var10]; - } - - if (var13 == 255) { - this.faceRenderPriorities = new byte[var10]; - } else { - this.priority = (byte)var13; - } - - if (var14 == 1) { - this.faceAlphas = new byte[var10]; - } - - if (var15 == 1) { - this.faceSkins = new int[var10]; - } - - if (var16 == 1) { - this.faceTextures = new short[var10]; - } - - if (var16 == 1 && var11 > 0) { - this.textureCoords = new byte[var10]; - } - - this.faceColors = new short[var10]; - if (var11 > 0) { - this.texTriangleX = new short[var11]; - this.texTriangleY = new short[var11]; - this.texTriangleZ = new short[var11]; - } - - var2.offset = var11; - var3.offset = var38; - var4.offset = var39; - var5.offset = var40; - var6.offset = var32; - int var48 = 0; - int var49 = 0; - int var50 = 0; - - int var51; - int var52; - int var53; - int var54; - int var55; - for (var51 = 0; var51 < var9; ++var51) { - var52 = var2.readUnsignedByte(); - var53 = 0; - if ((var52 & 1) != 0) { - var53 = var3.readShortSmart(); - } - - var54 = 0; - if ((var52 & 2) != 0) { - var54 = var4.readShortSmart(); - } - - var55 = 0; - if ((var52 & 4) != 0) { - var55 = var5.readShortSmart(); - } - - this.verticesX[var51] = var48 + var53; - this.verticesY[var51] = var49 + var54; - this.verticesZ[var51] = var50 + var55; - var48 = this.verticesX[var51]; - var49 = this.verticesY[var51]; - var50 = this.verticesZ[var51]; - if (var17 == 1) { - this.vertexSkins[var51] = var6.readUnsignedByte(); - } - } - - var2.offset = var37; - var3.offset = var28; - var4.offset = var30; - var5.offset = var33; - var6.offset = var31; - var7.offset = var35; - var8.offset = var36; - - for (var51 = 0; var51 < var10; ++var51) { - this.faceColors[var51] = (short)var2.readUnsignedShort(); - if (var12 == 1) { - this.faceRenderTypes[var51] = var3.readByte(); - } - - if (var13 == 255) { - this.faceRenderPriorities[var51] = var4.readByte(); - } - - if (var14 == 1) { - this.faceAlphas[var51] = var5.readByte(); - } - - if (var15 == 1) { - this.faceSkins[var51] = var6.readUnsignedByte(); - } - - if (var16 == 1) { - this.faceTextures[var51] = (short)(var7.readUnsignedShort() - 1); - } - - if (this.textureCoords != null && this.faceTextures[var51] != -1) { - this.textureCoords[var51] = (byte)(var8.readUnsignedByte() - 1); - } - } - - var2.offset = var34; - var3.offset = var29; - var51 = 0; - var52 = 0; - var53 = 0; - var54 = 0; - - int var56; - for (var55 = 0; var55 < var10; ++var55) { - var56 = var3.readUnsignedByte(); - if (var56 == 1) { - var51 = var2.readShortSmart() + var54; - var52 = var2.readShortSmart() + var51; - var53 = var2.readShortSmart() + var52; - var54 = var53; - this.indices1[var55] = var51; - this.indices2[var55] = var52; - this.indices3[var55] = var53; - } - - if (var56 == 2) { - var52 = var53; - var53 = var2.readShortSmart() + var54; - var54 = var53; - this.indices1[var55] = var51; - this.indices2[var55] = var52; - this.indices3[var55] = var53; - } - - if (var56 == 3) { - var51 = var53; - var53 = var2.readShortSmart() + var54; - var54 = var53; - this.indices1[var55] = var51; - this.indices2[var55] = var52; - this.indices3[var55] = var53; - } - - if (var56 == 4) { - int var57 = var51; - var51 = var52; - var52 = var57; - var53 = var2.readShortSmart() + var54; - var54 = var53; - this.indices1[var55] = var51; - this.indices2[var55] = var57; - this.indices3[var55] = var53; - } - } - - var2.offset = var41; - var3.offset = var42; - var4.offset = var43; - var5.offset = var44; - var6.offset = var45; - var7.offset = var46; - - for (var55 = 0; var55 < var11; ++var55) { - var56 = this.textureRenderTypes[var55] & 255; - if (var56 == 0) { - this.texTriangleX[var55] = (short)var2.readUnsignedShort(); - this.texTriangleY[var55] = (short)var2.readUnsignedShort(); - this.texTriangleZ[var55] = (short)var2.readUnsignedShort(); - } - } - - var2.offset = var26; - var55 = var2.readUnsignedByte(); - if (var55 != 0) { - new ModelData0(); - var2.readUnsignedShort(); - var2.readUnsignedShort(); - var2.readUnsignedShort(); - var2.readInt(); - } - - } - - @ObfuscatedName("t") - void method2782(byte[] var1) { - boolean var2 = false; - boolean var3 = false; - Buffer var4 = new Buffer(var1); - Buffer var5 = new Buffer(var1); - Buffer var6 = new Buffer(var1); - Buffer var7 = new Buffer(var1); - Buffer var8 = new Buffer(var1); - var4.offset = var1.length - 18; - int var9 = var4.readUnsignedShort(); - int var10 = var4.readUnsignedShort(); - int var11 = var4.readUnsignedByte(); - int var12 = var4.readUnsignedByte(); - int var13 = var4.readUnsignedByte(); - int var14 = var4.readUnsignedByte(); - int var15 = var4.readUnsignedByte(); - int var16 = var4.readUnsignedByte(); - int var17 = var4.readUnsignedShort(); - int var18 = var4.readUnsignedShort(); - int var19 = var4.readUnsignedShort(); - int var20 = var4.readUnsignedShort(); - byte var21 = 0; - int var45 = var21 + var9; - int var23 = var45; - var45 += var10; - int var24 = var45; - if (var13 == 255) { - var45 += var10; - } - - int var25 = var45; - if (var15 == 1) { - var45 += var10; - } - - int var26 = var45; - if (var12 == 1) { - var45 += var10; - } - - int var27 = var45; - if (var16 == 1) { - var45 += var9; - } - - int var28 = var45; - if (var14 == 1) { - var45 += var10; - } - - int var29 = var45; - var45 += var20; - int var30 = var45; - var45 += var10 * 2; - int var31 = var45; - var45 += var11 * 6; - int var32 = var45; - var45 += var17; - int var33 = var45; - var45 += var18; - int var10000 = var45 + var19; - this.verticesCount = var9; - this.faceCount = var10; - this.textureTriangleCount = var11; - this.verticesX = new int[var9]; - this.verticesY = new int[var9]; - this.verticesZ = new int[var9]; - this.indices1 = new int[var10]; - this.indices2 = new int[var10]; - this.indices3 = new int[var10]; - if (var11 > 0) { - this.textureRenderTypes = new byte[var11]; - this.texTriangleX = new short[var11]; - this.texTriangleY = new short[var11]; - this.texTriangleZ = new short[var11]; - } - - if (var16 == 1) { - this.vertexSkins = new int[var9]; - } - - if (var12 == 1) { - this.faceRenderTypes = new byte[var10]; - this.textureCoords = new byte[var10]; - this.faceTextures = new short[var10]; - } - - if (var13 == 255) { - this.faceRenderPriorities = new byte[var10]; - } else { - this.priority = (byte)var13; - } - - if (var14 == 1) { - this.faceAlphas = new byte[var10]; - } - - if (var15 == 1) { - this.faceSkins = new int[var10]; - } - - this.faceColors = new short[var10]; - var4.offset = var21; - var5.offset = var32; - var6.offset = var33; - var7.offset = var45; - var8.offset = var27; - int var35 = 0; - int var36 = 0; - int var37 = 0; - - int var38; - int var39; - int var40; - int var41; - int var42; - for (var38 = 0; var38 < var9; ++var38) { - var39 = var4.readUnsignedByte(); - var40 = 0; - if ((var39 & 1) != 0) { - var40 = var5.readShortSmart(); - } - - var41 = 0; - if ((var39 & 2) != 0) { - var41 = var6.readShortSmart(); - } - - var42 = 0; - if ((var39 & 4) != 0) { - var42 = var7.readShortSmart(); - } - - this.verticesX[var38] = var35 + var40; - this.verticesY[var38] = var36 + var41; - this.verticesZ[var38] = var37 + var42; - var35 = this.verticesX[var38]; - var36 = this.verticesY[var38]; - var37 = this.verticesZ[var38]; - if (var16 == 1) { - this.vertexSkins[var38] = var8.readUnsignedByte(); - } - } - - var4.offset = var30; - var5.offset = var26; - var6.offset = var24; - var7.offset = var28; - var8.offset = var25; - - for (var38 = 0; var38 < var10; ++var38) { - this.faceColors[var38] = (short)var4.readUnsignedShort(); - if (var12 == 1) { - var39 = var5.readUnsignedByte(); - if ((var39 & 1) == 1) { - this.faceRenderTypes[var38] = 1; - var2 = true; - } else { - this.faceRenderTypes[var38] = 0; - } - - if ((var39 & 2) == 2) { - this.textureCoords[var38] = (byte)(var39 >> 2); - this.faceTextures[var38] = this.faceColors[var38]; - this.faceColors[var38] = 127; - if (this.faceTextures[var38] != -1) { - var3 = true; - } - } else { - this.textureCoords[var38] = -1; - this.faceTextures[var38] = -1; - } - } - - if (var13 == 255) { - this.faceRenderPriorities[var38] = var6.readByte(); - } - - if (var14 == 1) { - this.faceAlphas[var38] = var7.readByte(); - } - - if (var15 == 1) { - this.faceSkins[var38] = var8.readUnsignedByte(); - } - } - - var4.offset = var29; - var5.offset = var23; - var38 = 0; - var39 = 0; - var40 = 0; - var41 = 0; - - int var43; - int var44; - for (var42 = 0; var42 < var10; ++var42) { - var43 = var5.readUnsignedByte(); - if (var43 == 1) { - var38 = var4.readShortSmart() + var41; - var39 = var4.readShortSmart() + var38; - var40 = var4.readShortSmart() + var39; - var41 = var40; - this.indices1[var42] = var38; - this.indices2[var42] = var39; - this.indices3[var42] = var40; - } - - if (var43 == 2) { - var39 = var40; - var40 = var4.readShortSmart() + var41; - var41 = var40; - this.indices1[var42] = var38; - this.indices2[var42] = var39; - this.indices3[var42] = var40; - } - - if (var43 == 3) { - var38 = var40; - var40 = var4.readShortSmart() + var41; - var41 = var40; - this.indices1[var42] = var38; - this.indices2[var42] = var39; - this.indices3[var42] = var40; - } - - if (var43 == 4) { - var44 = var38; - var38 = var39; - var39 = var44; - var40 = var4.readShortSmart() + var41; - var41 = var40; - this.indices1[var42] = var38; - this.indices2[var42] = var44; - this.indices3[var42] = var40; - } - } - - var4.offset = var31; - - for (var42 = 0; var42 < var11; ++var42) { - this.textureRenderTypes[var42] = 0; - this.texTriangleX[var42] = (short)var4.readUnsignedShort(); - this.texTriangleY[var42] = (short)var4.readUnsignedShort(); - this.texTriangleZ[var42] = (short)var4.readUnsignedShort(); - } - - if (this.textureCoords != null) { - boolean var46 = false; - - for (var43 = 0; var43 < var10; ++var43) { - var44 = this.textureCoords[var43] & 255; - if (var44 != 255) { - if (this.indices1[var43] == (this.texTriangleX[var44] & '\uffff') && this.indices2[var43] == (this.texTriangleY[var44] & '\uffff') && this.indices3[var43] == (this.texTriangleZ[var44] & '\uffff')) { - this.textureCoords[var43] = -1; - } else { - var46 = true; - } - } - } - - if (!var46) { - this.textureCoords = null; - } - } - - if (!var3) { - this.faceTextures = null; - } - - if (!var2) { - this.faceRenderTypes = null; - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lds;I)I" - ) - final int method2734(ModelData var1, int var2) { - int var3 = -1; - int var4 = var1.verticesX[var2]; - int var5 = var1.verticesY[var2]; - int var6 = var1.verticesZ[var2]; - - for (int var7 = 0; var7 < this.verticesCount; ++var7) { - if (var4 == this.verticesX[var7] && var5 == this.verticesY[var7] && var6 == this.verticesZ[var7]) { - var3 = var7; - break; - } - } - - if (var3 == -1) { - this.verticesX[this.verticesCount] = var4; - this.verticesY[this.verticesCount] = var5; - this.verticesZ[this.verticesCount] = var6; - if (var1.vertexSkins != null) { - this.vertexSkins[this.verticesCount] = var1.vertexSkins[var2]; - } - - var3 = this.verticesCount++; - } - - return var3; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "()Lds;" - ) - public ModelData method2735() { - ModelData var1 = new ModelData(); - if (this.faceRenderTypes != null) { - var1.faceRenderTypes = new byte[this.faceCount]; - - for (int var2 = 0; var2 < this.faceCount; ++var2) { - var1.faceRenderTypes[var2] = this.faceRenderTypes[var2]; - } - } - - var1.verticesCount = this.verticesCount; - var1.faceCount = this.faceCount; - var1.textureTriangleCount = this.textureTriangleCount; - var1.verticesX = this.verticesX; - var1.verticesY = this.verticesY; - var1.verticesZ = this.verticesZ; - var1.indices1 = this.indices1; - var1.indices2 = this.indices2; - var1.indices3 = this.indices3; - var1.faceRenderPriorities = this.faceRenderPriorities; - var1.faceAlphas = this.faceAlphas; - var1.textureCoords = this.textureCoords; - var1.faceColors = this.faceColors; - var1.faceTextures = this.faceTextures; - var1.priority = this.priority; - var1.textureRenderTypes = this.textureRenderTypes; - var1.texTriangleX = this.texTriangleX; - var1.texTriangleY = this.texTriangleY; - var1.texTriangleZ = this.texTriangleZ; - var1.vertexSkins = this.vertexSkins; - var1.faceSkins = this.faceSkins; - var1.vertexLabels = this.vertexLabels; - var1.faceLabelsAlpha = this.faceLabelsAlpha; - var1.vertexNormals = this.vertexNormals; - var1.faceNormals = this.faceNormals; - var1.ambient = this.ambient; - var1.contrast = this.contrast; - return var1; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([[IIIIZI)Lds;" - ) - public ModelData method2733(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { - this.calculateBounds(); - int var7 = var2 + this.field1531; - int var8 = var2 + this.field1526; - int var9 = var4 + this.field1520; - int var10 = var4 + this.field1548; - if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { - var7 >>= 7; - var8 = var8 + 127 >> 7; - var9 >>= 7; - var10 = var10 + 127 >> 7; - if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { - return this; - } else { - ModelData var11 = new ModelData(); - var11.verticesCount = this.verticesCount; - var11.faceCount = this.faceCount; - var11.textureTriangleCount = this.textureTriangleCount; - var11.verticesX = this.verticesX; - var11.verticesZ = this.verticesZ; - var11.indices1 = this.indices1; - var11.indices2 = this.indices2; - var11.indices3 = this.indices3; - var11.faceRenderTypes = this.faceRenderTypes; - var11.faceRenderPriorities = this.faceRenderPriorities; - var11.faceAlphas = this.faceAlphas; - var11.textureCoords = this.textureCoords; - var11.faceColors = this.faceColors; - var11.faceTextures = this.faceTextures; - var11.priority = this.priority; - var11.textureRenderTypes = this.textureRenderTypes; - var11.texTriangleX = this.texTriangleX; - var11.texTriangleY = this.texTriangleY; - var11.texTriangleZ = this.texTriangleZ; - var11.vertexSkins = this.vertexSkins; - var11.faceSkins = this.faceSkins; - var11.vertexLabels = this.vertexLabels; - var11.faceLabelsAlpha = this.faceLabelsAlpha; - var11.ambient = this.ambient; - var11.contrast = this.contrast; - var11.verticesY = new int[var11.verticesCount]; - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - int var18; - int var19; - int var20; - int var21; - if (var6 == 0) { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { - var13 = var2 + this.verticesX[var12]; - var14 = var4 + this.verticesZ[var12]; - var15 = var13 & 127; - var16 = var14 & 127; - var17 = var13 >> 7; - var18 = var14 >> 7; - var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; - var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; - var21 = var19 * (128 - var16) + var20 * var16 >> 7; - var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; - } - } else { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { - var13 = (-this.verticesY[var12] << 16) / super.height; - if (var13 < var6) { - var14 = var2 + this.verticesX[var12]; - var15 = var4 + this.verticesZ[var12]; - var16 = var14 & 127; - var17 = var15 & 127; - var18 = var14 >> 7; - var19 = var15 >> 7; - var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; - var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; - int var22 = var20 * (128 - var17) + var21 * var17 >> 7; - var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; - } - } - } - - var11.invalidate(); - return var11; - } - } else { - return this; - } - } - - @ObfuscatedName("j") - void method2737() { - int[] var1; - int var2; - int var10002; - int var3; - int var4; - if (this.vertexSkins != null) { - var1 = new int[256]; - var2 = 0; - - for (var3 = 0; var3 < this.verticesCount; ++var3) { - var4 = this.vertexSkins[var3]; - var10002 = var1[var4]++; - if (var4 > var2) { - var2 = var4; - } - } - - this.vertexLabels = new int[var2 + 1][]; - - for (var3 = 0; var3 <= var2; ++var3) { - this.vertexLabels[var3] = new int[var1[var3]]; - var1[var3] = 0; - } - - for (var3 = 0; var3 < this.verticesCount; this.vertexLabels[var4][var1[var4]++] = var3++) { - var4 = this.vertexSkins[var3]; - } - - this.vertexSkins = null; - } - - if (this.faceSkins != null) { - var1 = new int[256]; - var2 = 0; - - for (var3 = 0; var3 < this.faceCount; ++var3) { - var4 = this.faceSkins[var3]; - var10002 = var1[var4]++; - if (var4 > var2) { - var2 = var4; - } - } - - this.faceLabelsAlpha = new int[var2 + 1][]; - - for (var3 = 0; var3 <= var2; ++var3) { - this.faceLabelsAlpha[var3] = new int[var1[var3]]; - var1[var3] = 0; - } - - for (var3 = 0; var3 < this.faceCount; this.faceLabelsAlpha[var4][var1[var4]++] = var3++) { - var4 = this.faceSkins[var3]; - } - - this.faceSkins = null; - } - - } - - @ObfuscatedName("v") - public void method2738() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesX[var1]; - this.verticesX[var1] = this.verticesZ[var1]; - this.verticesZ[var1] = -var2; - } - - this.invalidate(); - } - - @ObfuscatedName("z") - public void method2739() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - this.verticesX[var1] = -this.verticesX[var1]; - this.verticesZ[var1] = -this.verticesZ[var1]; - } - - this.invalidate(); - } - - @ObfuscatedName("s") - public void method2740() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesZ[var1]; - this.verticesZ[var1] = this.verticesX[var1]; - this.verticesX[var1] = -var2; - } - - this.invalidate(); - } - - @ObfuscatedName("p") - public void method2741(int var1) { - int var2 = ModelData_sine[var1]; - int var3 = ModelData_cosine[var1]; - - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - int var5 = var2 * this.verticesZ[var4] + var3 * this.verticesX[var4] >> 16; - this.verticesZ[var4] = var3 * this.verticesZ[var4] - var2 * this.verticesX[var4] >> 16; - this.verticesX[var4] = var5; - } - - this.invalidate(); - } - - @ObfuscatedName("e") - @Export("changeOffset") - public void changeOffset(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - int[] var10000 = this.verticesX; - var10000[var4] += var1; - var10000 = this.verticesY; - var10000[var4] += var2; - var10000 = this.verticesZ; - var10000[var4] += var3; - } - - this.invalidate(); - } - - @ObfuscatedName("i") - @Export("recolor") - public void recolor(short var1, short var2) { - for (int var3 = 0; var3 < this.faceCount; ++var3) { - if (this.faceColors[var3] == var1) { - this.faceColors[var3] = var2; - } - } - - } - - @ObfuscatedName("q") - @Export("retexture") - public void retexture(short var1, short var2) { - if (this.faceTextures != null) { - for (int var3 = 0; var3 < this.faceCount; ++var3) { - if (this.faceTextures[var3] == var1) { - this.faceTextures[var3] = var2; - } - } - - } - } - - @ObfuscatedName("r") - public void method2776() { - int var1; - for (var1 = 0; var1 < this.verticesCount; ++var1) { - this.verticesZ[var1] = -this.verticesZ[var1]; - } - - for (var1 = 0; var1 < this.faceCount; ++var1) { - int var2 = this.indices1[var1]; - this.indices1[var1] = this.indices3[var1]; - this.indices3[var1] = var2; - } - - this.invalidate(); - } - - @ObfuscatedName("k") - @Export("resize") - public void resize(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { - this.verticesX[var4] = this.verticesX[var4] * var1 / 128; - this.verticesY[var4] = var2 * this.verticesY[var4] / 128; - this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; - } - - this.invalidate(); - } - - @ObfuscatedName("w") - @Export("calculateVertexNormals") - public void calculateVertexNormals() { - if (this.vertexNormals == null) { - this.vertexNormals = new VertexNormal[this.verticesCount]; - - int var1; - for (var1 = 0; var1 < this.verticesCount; ++var1) { - this.vertexNormals[var1] = new VertexNormal(); - } - - for (var1 = 0; var1 < this.faceCount; ++var1) { - int var2 = this.indices1[var1]; - int var3 = this.indices2[var1]; - int var4 = this.indices3[var1]; - int var5 = this.verticesX[var3] - this.verticesX[var2]; - int var6 = this.verticesY[var3] - this.verticesY[var2]; - int var7 = this.verticesZ[var3] - this.verticesZ[var2]; - int var8 = this.verticesX[var4] - this.verticesX[var2]; - int var9 = this.verticesY[var4] - this.verticesY[var2]; - int var10 = this.verticesZ[var4] - this.verticesZ[var2]; - int var11 = var6 * var10 - var9 * var7; - int var12 = var7 * var8 - var10 * var5; - - int var13; - for (var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) { - var11 >>= 1; - var12 >>= 1; - } - - int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13)); - if (var14 <= 0) { - var14 = 1; - } - - var11 = var11 * 256 / var14; - var12 = var12 * 256 / var14; - var13 = var13 * 256 / var14; - byte var15; - if (this.faceRenderTypes == null) { - var15 = 0; - } else { - var15 = this.faceRenderTypes[var1]; - } - - if (var15 == 0) { - VertexNormal var16 = this.vertexNormals[var2]; - var16.x += var11; - var16.y += var12; - var16.z += var13; - ++var16.magnitude; - var16 = this.vertexNormals[var3]; - var16.x += var11; - var16.y += var12; - var16.z += var13; - ++var16.magnitude; - var16 = this.vertexNormals[var4]; - var16.x += var11; - var16.y += var12; - var16.z += var13; - ++var16.magnitude; - } else if (var15 == 1) { - if (this.faceNormals == null) { - this.faceNormals = new FaceNormal[this.faceCount]; - } - - FaceNormal var17 = this.faceNormals[var1] = new FaceNormal(); - var17.x = var11; - var17.y = var12; - var17.z = var13; - } - } - - } - } - - @ObfuscatedName("m") - @Export("invalidate") - void invalidate() { - this.vertexNormals = null; - this.field1542 = null; - this.faceNormals = null; - this.isBoundsCalculated = false; - } - - @ObfuscatedName("o") - @Export("calculateBounds") - void calculateBounds() { - if (!this.isBoundsCalculated) { - super.height = 0; - this.field1546 = 0; - this.field1531 = 999999; - this.field1526 = -999999; - this.field1548 = -99999; - this.field1520 = 99999; - - for (int var1 = 0; var1 < this.verticesCount; ++var1) { - int var2 = this.verticesX[var1]; - int var3 = this.verticesY[var1]; - int var4 = this.verticesZ[var1]; - if (var2 < this.field1531) { - this.field1531 = var2; - } - - if (var2 > this.field1526) { - this.field1526 = var2; - } - - if (var4 < this.field1520) { - this.field1520 = var4; - } - - if (var4 > this.field1548) { - this.field1548 = var4; - } - - if (-var3 > super.height) { - super.height = -var3; - } - - if (var3 > this.field1546) { - this.field1546 = var3; - } - } - - this.isBoundsCalculated = true; - } - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(IIIII)Ldr;" - ) - @Export("toModel") - public final Model toModel(int var1, int var2, int var3, int var4, int var5) { - this.calculateVertexNormals(); - int var6 = (int)Math.sqrt((double)(var5 * var5 + var3 * var3 + var4 * var4)); - int var7 = var6 * var2 >> 8; - Model var8 = new Model(); - var8.faceColors1 = new int[this.faceCount]; - var8.faceColors2 = new int[this.faceCount]; - var8.faceColors3 = new int[this.faceCount]; - if (this.textureTriangleCount > 0 && this.textureCoords != null) { - int[] var9 = new int[this.textureTriangleCount]; - - int var10; - for (var10 = 0; var10 < this.faceCount; ++var10) { - if (this.textureCoords[var10] != -1) { - ++var9[this.textureCoords[var10] & 255]; - } - } - - var8.field1657 = 0; - - for (var10 = 0; var10 < this.textureTriangleCount; ++var10) { - if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { - ++var8.field1657; - } - } - - var8.field1658 = new int[var8.field1657]; - var8.field1659 = new int[var8.field1657]; - var8.field1660 = new int[var8.field1657]; - var10 = 0; - - int var11; - for (var11 = 0; var11 < this.textureTriangleCount; ++var11) { - if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { - var8.field1658[var10] = this.texTriangleX[var11] & '\uffff'; - var8.field1659[var10] = this.texTriangleY[var11] & '\uffff'; - var8.field1660[var10] = this.texTriangleZ[var11] & '\uffff'; - var9[var11] = var10++; - } else { - var9[var11] = -1; - } - } - - var8.field1701 = new byte[this.faceCount]; - - for (var11 = 0; var11 < this.faceCount; ++var11) { - if (this.textureCoords[var11] != -1) { - var8.field1701[var11] = (byte)var9[this.textureCoords[var11] & 255]; - } else { - var8.field1701[var11] = -1; - } - } - } - - for (int var16 = 0; var16 < this.faceCount; ++var16) { - byte var17; - if (this.faceRenderTypes == null) { - var17 = 0; - } else { - var17 = this.faceRenderTypes[var16]; - } - - byte var18; - if (this.faceAlphas == null) { - var18 = 0; - } else { - var18 = this.faceAlphas[var16]; - } - - short var12; - if (this.faceTextures == null) { - var12 = -1; - } else { - var12 = this.faceTextures[var16]; - } - - if (var18 == -2) { - var17 = 3; - } - - if (var18 == -1) { - var17 = 2; - } - - VertexNormal var13; - int var14; - FaceNormal var19; - if (var12 == -1) { - if (var17 != 0) { - if (var17 == 1) { - var19 = this.faceNormals[var16]; - var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; - var8.faceColors1[var16] = method2752(this.faceColors[var16] & '\uffff', var14); - var8.faceColors3[var16] = -1; - } else if (var17 == 3) { - var8.faceColors1[var16] = 128; - var8.faceColors3[var16] = -1; - } else { - var8.faceColors3[var16] = -2; - } - } else { - int var15 = this.faceColors[var16] & '\uffff'; - if (this.field1542 != null && this.field1542[this.indices1[var16]] != null) { - var13 = this.field1542[this.indices1[var16]]; - } else { - var13 = this.vertexNormals[this.indices1[var16]]; - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors1[var16] = method2752(var15, var14); - if (this.field1542 != null && this.field1542[this.indices2[var16]] != null) { - var13 = this.field1542[this.indices2[var16]]; - } else { - var13 = this.vertexNormals[this.indices2[var16]]; - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors2[var16] = method2752(var15, var14); - if (this.field1542 != null && this.field1542[this.indices3[var16]] != null) { - var13 = this.field1542[this.indices3[var16]]; - } else { - var13 = this.vertexNormals[this.indices3[var16]]; - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors3[var16] = method2752(var15, var14); - } - } else if (var17 != 0) { - if (var17 == 1) { - var19 = this.faceNormals[var16]; - var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; - var8.faceColors1[var16] = method2783(var14); - var8.faceColors3[var16] = -1; - } else { - var8.faceColors3[var16] = -2; - } - } else { - if (this.field1542 != null && this.field1542[this.indices1[var16]] != null) { - var13 = this.field1542[this.indices1[var16]]; - } else { - var13 = this.vertexNormals[this.indices1[var16]]; - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors1[var16] = method2783(var14); - if (this.field1542 != null && this.field1542[this.indices2[var16]] != null) { - var13 = this.field1542[this.indices2[var16]]; - } else { - var13 = this.vertexNormals[this.indices2[var16]]; - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors2[var16] = method2783(var14); - if (this.field1542 != null && this.field1542[this.indices3[var16]] != null) { - var13 = this.field1542[this.indices3[var16]]; - } else { - var13 = this.vertexNormals[this.indices3[var16]]; - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; - var8.faceColors3[var16] = method2783(var14); - } - } - - this.method2737(); - var8.verticesCount = this.verticesCount; - var8.verticesX = this.verticesX; - var8.verticesY = this.verticesY; - var8.verticesZ = this.verticesZ; - var8.indicesCount = this.faceCount; - var8.indices1 = this.indices1; - var8.indices2 = this.indices2; - var8.indices3 = this.indices3; - var8.faceRenderPriorities = this.faceRenderPriorities; - var8.faceAlphas = this.faceAlphas; - var8.field1656 = this.priority; - var8.vertexLabels = this.vertexLabels; - var8.faceLabelsAlpha = this.faceLabelsAlpha; - var8.faceTextures = this.faceTextures; - return var8; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;II)Lds;" - ) - @Export("ModelData_get") - public static ModelData ModelData_get(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); - return var3 == null ? null : new ModelData(var3); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(Lds;Lds;IIIZ)V" - ) - static void method2807(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { - var0.calculateBounds(); - var0.calculateVertexNormals(); - var1.calculateBounds(); - var1.calculateVertexNormals(); - ++field1553; - int var6 = 0; - int[] var7 = var1.verticesX; - int var8 = var1.verticesCount; - - int var9; - for (var9 = 0; var9 < var0.verticesCount; ++var9) { - VertexNormal var10 = var0.vertexNormals[var9]; - if (var10.magnitude != 0) { - int var11 = var0.verticesY[var9] - var3; - if (var11 <= var1.field1546) { - int var12 = var0.verticesX[var9] - var2; - if (var12 >= var1.field1531 && var12 <= var1.field1526) { - int var13 = var0.verticesZ[var9] - var4; - if (var13 >= var1.field1520 && var13 <= var1.field1548) { - for (int var14 = 0; var14 < var8; ++var14) { - VertexNormal var15 = var1.vertexNormals[var14]; - if (var12 == var7[var14] && var13 == var1.verticesZ[var14] && var11 == var1.verticesY[var14] && var15.magnitude != 0) { - if (var0.field1542 == null) { - var0.field1542 = new VertexNormal[var0.verticesCount]; - } - - if (var1.field1542 == null) { - var1.field1542 = new VertexNormal[var8]; - } - - VertexNormal var16 = var0.field1542[var9]; - if (var16 == null) { - var16 = var0.field1542[var9] = new VertexNormal(var10); - } - - VertexNormal var17 = var1.field1542[var14]; - if (var17 == null) { - var17 = var1.field1542[var14] = new VertexNormal(var15); - } - - var16.x += var15.x; - var16.y += var15.y; - var16.z += var15.z; - var16.magnitude += var15.magnitude; - var17.x += var10.x; - var17.y += var10.y; - var17.z += var10.z; - var17.magnitude += var10.magnitude; - ++var6; - field1551[var9] = field1553; - field1552[var14] = field1553; - } - } - } - } - } - } - } - - if (var6 >= 3 && var5) { - for (var9 = 0; var9 < var0.faceCount; ++var9) { - if (field1551[var0.indices1[var9]] == field1553 && field1551[var0.indices2[var9]] == field1553 && field1551[var0.indices3[var9]] == field1553) { - if (var0.faceRenderTypes == null) { - var0.faceRenderTypes = new byte[var0.faceCount]; - } - - var0.faceRenderTypes[var9] = 2; - } - } - - for (var9 = 0; var9 < var1.faceCount; ++var9) { - if (field1553 == field1552[var1.indices1[var9]] && field1553 == field1552[var1.indices2[var9]] && field1553 == field1552[var1.indices3[var9]]) { - if (var1.faceRenderTypes == null) { - var1.faceRenderTypes = new byte[var1.faceCount]; - } - - var1.faceRenderTypes[var9] = 2; - } - } - - } - } - - @ObfuscatedName("ag") - static final int method2752(int var0, int var1) { - var1 = (var0 & 127) * var1 >> 7; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - - @ObfuscatedName("at") - static final int method2783(int var0) { - if (var0 < 2) { - var0 = 2; - } else if (var0 > 126) { - var0 = 126; - } - - return var0; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dw") +@Implements("ModelData") +public class ModelData extends Entity { + @ObfuscatedName("ao") + static int[] field1548; + @ObfuscatedName("al") + static int[] field1549; + @ObfuscatedName("ad") + static int field1550; + @ObfuscatedName("an") + @Export("ModelData_sine") + static int[] ModelData_sine; + @ObfuscatedName("ai") + @Export("ModelData_cosine") + static int[] ModelData_cosine; + @ObfuscatedName("z") + @Export("verticesCount") + int verticesCount; + @ObfuscatedName("n") + @Export("verticesX") + int[] verticesX; + @ObfuscatedName("v") + @Export("verticesY") + int[] verticesY; + @ObfuscatedName("u") + @Export("verticesZ") + int[] verticesZ; + @ObfuscatedName("r") + @Export("faceCount") + int faceCount; + @ObfuscatedName("p") + @Export("indices1") + int[] indices1; + @ObfuscatedName("q") + @Export("indices2") + int[] indices2; + @ObfuscatedName("m") + @Export("indices3") + int[] indices3; + @ObfuscatedName("y") + @Export("faceRenderTypes") + byte[] faceRenderTypes; + @ObfuscatedName("i") + @Export("faceRenderPriorities") + byte[] faceRenderPriorities; + @ObfuscatedName("c") + @Export("faceAlphas") + byte[] faceAlphas; + @ObfuscatedName("b") + @Export("textureCoords") + byte[] textureCoords; + @ObfuscatedName("o") + @Export("faceColors") + short[] faceColors; + @ObfuscatedName("a") + @Export("faceTextures") + short[] faceTextures; + @ObfuscatedName("e") + @Export("priority") + byte priority; + @ObfuscatedName("w") + @Export("textureTriangleCount") + int textureTriangleCount; + @ObfuscatedName("t") + @Export("textureRenderTypes") + byte[] textureRenderTypes; + @ObfuscatedName("g") + @Export("texTriangleX") + short[] texTriangleX; + @ObfuscatedName("x") + @Export("texTriangleY") + short[] texTriangleY; + @ObfuscatedName("h") + @Export("texTriangleZ") + short[] texTriangleZ; + @ObfuscatedName("s") + @Export("vertexSkins") + int[] vertexSkins; + @ObfuscatedName("f") + @Export("faceSkins") + int[] faceSkins; + @ObfuscatedName("j") + @Export("vertexLabels") + int[][] vertexLabels; + @ObfuscatedName("d") + @Export("faceLabelsAlpha") + int[][] faceLabelsAlpha; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "[Lee;" + ) + @Export("faceNormals") + FaceNormal[] faceNormals; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "[Ldp;" + ) + @Export("vertexNormals") + VertexNormal[] vertexNormals; + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "[Ldp;" + ) + VertexNormal[] field1545; + @ObfuscatedName("az") + @Export("ambient") + public short ambient; + @ObfuscatedName("aw") + @Export("contrast") + public short contrast; + @ObfuscatedName("aa") + @Export("isBoundsCalculated") + boolean isBoundsCalculated; + @ObfuscatedName("ap") + int field1543; + @ObfuscatedName("ar") + int field1544; + @ObfuscatedName("ab") + int field1513; + @ObfuscatedName("ax") + int field1546; + @ObfuscatedName("as") + int field1551; + + static { + field1548 = new int[10000]; + field1549 = new int[10000]; + field1550 = 0; + ModelData_sine = Rasterizer3D.Rasterizer3D_sine; + ModelData_cosine = Rasterizer3D.Rasterizer3D_cosine; + } + + ModelData() { + this.verticesCount = 0; + this.faceCount = 0; + this.priority = 0; + this.isBoundsCalculated = false; + } + + @ObfuscatedSignature( + signature = "([Ldw;I)V" + ) + public ModelData(ModelData[] var1, int var2) { + this.verticesCount = 0; + this.faceCount = 0; + this.priority = 0; + this.isBoundsCalculated = false; + boolean var3 = false; + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + boolean var7 = false; + boolean var8 = false; + this.verticesCount = 0; + this.faceCount = 0; + this.textureTriangleCount = 0; + this.priority = -1; + + int var9; + ModelData var10; + for (var9 = 0; var9 < var2; ++var9) { + var10 = var1[var9]; + if (var10 != null) { + this.verticesCount += var10.verticesCount; + this.faceCount += var10.faceCount; + this.textureTriangleCount += var10.textureTriangleCount; + if (var10.faceRenderPriorities != null) { + var4 = true; + } else { + if (this.priority == -1) { + this.priority = var10.priority; + } + + if (this.priority != var10.priority) { + var4 = true; + } + } + + var3 |= var10.faceRenderTypes != null; + var5 |= var10.faceAlphas != null; + var6 |= var10.faceSkins != null; + var7 |= var10.faceTextures != null; + var8 |= var10.textureCoords != null; + } + } + + this.verticesX = new int[this.verticesCount]; + this.verticesY = new int[this.verticesCount]; + this.verticesZ = new int[this.verticesCount]; + this.vertexSkins = new int[this.verticesCount]; + this.indices1 = new int[this.faceCount]; + this.indices2 = new int[this.faceCount]; + this.indices3 = new int[this.faceCount]; + if (var3) { + this.faceRenderTypes = new byte[this.faceCount]; + } + + if (var4) { + this.faceRenderPriorities = new byte[this.faceCount]; + } + + if (var5) { + this.faceAlphas = new byte[this.faceCount]; + } + + if (var6) { + this.faceSkins = new int[this.faceCount]; + } + + if (var7) { + this.faceTextures = new short[this.faceCount]; + } + + if (var8) { + this.textureCoords = new byte[this.faceCount]; + } + + this.faceColors = new short[this.faceCount]; + if (this.textureTriangleCount > 0) { + this.textureRenderTypes = new byte[this.textureTriangleCount]; + this.texTriangleX = new short[this.textureTriangleCount]; + this.texTriangleY = new short[this.textureTriangleCount]; + this.texTriangleZ = new short[this.textureTriangleCount]; + } + + this.verticesCount = 0; + this.faceCount = 0; + this.textureTriangleCount = 0; + + for (var9 = 0; var9 < var2; ++var9) { + var10 = var1[var9]; + if (var10 != null) { + int var11; + for (var11 = 0; var11 < var10.faceCount; ++var11) { + if (var3 && var10.faceRenderTypes != null) { + this.faceRenderTypes[this.faceCount] = var10.faceRenderTypes[var11]; + } + + if (var4) { + if (var10.faceRenderPriorities != null) { + this.faceRenderPriorities[this.faceCount] = var10.faceRenderPriorities[var11]; + } else { + this.faceRenderPriorities[this.faceCount] = var10.priority; + } + } + + if (var5 && var10.faceAlphas != null) { + this.faceAlphas[this.faceCount] = var10.faceAlphas[var11]; + } + + if (var6 && var10.faceSkins != null) { + this.faceSkins[this.faceCount] = var10.faceSkins[var11]; + } + + if (var7) { + if (var10.faceTextures != null) { + this.faceTextures[this.faceCount] = var10.faceTextures[var11]; + } else { + this.faceTextures[this.faceCount] = -1; + } + } + + if (var8) { + if (var10.textureCoords != null && var10.textureCoords[var11] != -1) { + this.textureCoords[this.faceCount] = (byte)(this.textureTriangleCount + var10.textureCoords[var11]); + } else { + this.textureCoords[this.faceCount] = -1; + } + } + + this.faceColors[this.faceCount] = var10.faceColors[var11]; + this.indices1[this.faceCount] = this.method2759(var10, var10.indices1[var11]); + this.indices2[this.faceCount] = this.method2759(var10, var10.indices2[var11]); + this.indices3[this.faceCount] = this.method2759(var10, var10.indices3[var11]); + ++this.faceCount; + } + + for (var11 = 0; var11 < var10.textureTriangleCount; ++var11) { + byte var12 = this.textureRenderTypes[this.textureTriangleCount] = var10.textureRenderTypes[var11]; + if (var12 == 0) { + this.texTriangleX[this.textureTriangleCount] = (short)this.method2759(var10, var10.texTriangleX[var11]); + this.texTriangleY[this.textureTriangleCount] = (short)this.method2759(var10, var10.texTriangleY[var11]); + this.texTriangleZ[this.textureTriangleCount] = (short)this.method2759(var10, var10.texTriangleZ[var11]); + } + + ++this.textureTriangleCount; + } + } + } + + } + + ModelData(byte[] var1) { + this.verticesCount = 0; + this.faceCount = 0; + this.priority = 0; + this.isBoundsCalculated = false; + if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { + this.method2816(var1); + } else { + this.method2758(var1); + } + + } + + @ObfuscatedSignature( + signature = "(Ldw;ZZZZ)V", + garbageValue = "1" + ) + public ModelData(ModelData var1, boolean var2, boolean var3, boolean var4, boolean var5) { + this.verticesCount = 0; + this.faceCount = 0; + this.priority = 0; + this.isBoundsCalculated = false; + this.verticesCount = var1.verticesCount; + this.faceCount = var1.faceCount; + this.textureTriangleCount = var1.textureTriangleCount; + int var6; + if (var2) { + this.verticesX = var1.verticesX; + this.verticesY = var1.verticesY; + this.verticesZ = var1.verticesZ; + } else { + this.verticesX = new int[this.verticesCount]; + this.verticesY = new int[this.verticesCount]; + this.verticesZ = new int[this.verticesCount]; + + for (var6 = 0; var6 < this.verticesCount; ++var6) { + this.verticesX[var6] = var1.verticesX[var6]; + this.verticesY[var6] = var1.verticesY[var6]; + this.verticesZ[var6] = var1.verticesZ[var6]; + } + } + + if (var3) { + this.faceColors = var1.faceColors; + } else { + this.faceColors = new short[this.faceCount]; + + for (var6 = 0; var6 < this.faceCount; ++var6) { + this.faceColors[var6] = var1.faceColors[var6]; + } + } + + if (!var4 && var1.faceTextures != null) { + this.faceTextures = new short[this.faceCount]; + + for (var6 = 0; var6 < this.faceCount; ++var6) { + this.faceTextures[var6] = var1.faceTextures[var6]; + } + } else { + this.faceTextures = var1.faceTextures; + } + + this.faceAlphas = var1.faceAlphas; + this.indices1 = var1.indices1; + this.indices2 = var1.indices2; + this.indices3 = var1.indices3; + this.faceRenderTypes = var1.faceRenderTypes; + this.faceRenderPriorities = var1.faceRenderPriorities; + this.textureCoords = var1.textureCoords; + this.priority = var1.priority; + this.textureRenderTypes = var1.textureRenderTypes; + this.texTriangleX = var1.texTriangleX; + this.texTriangleY = var1.texTriangleY; + this.texTriangleZ = var1.texTriangleZ; + this.vertexSkins = var1.vertexSkins; + this.faceSkins = var1.faceSkins; + this.vertexLabels = var1.vertexLabels; + this.faceLabelsAlpha = var1.faceLabelsAlpha; + this.vertexNormals = var1.vertexNormals; + this.faceNormals = var1.faceNormals; + this.field1545 = var1.field1545; + this.ambient = var1.ambient; + this.contrast = var1.contrast; + } + + @ObfuscatedName("n") + void method2816(byte[] var1) { + Buffer var2 = new Buffer(var1); + Buffer var3 = new Buffer(var1); + Buffer var4 = new Buffer(var1); + Buffer var5 = new Buffer(var1); + Buffer var6 = new Buffer(var1); + Buffer var7 = new Buffer(var1); + Buffer var8 = new Buffer(var1); + var2.offset = var1.length - 23; + int var9 = var2.readUnsignedShort(); + int var10 = var2.readUnsignedShort(); + int var11 = var2.readUnsignedByte(); + int var12 = var2.readUnsignedByte(); + int var13 = var2.readUnsignedByte(); + int var14 = var2.readUnsignedByte(); + int var15 = var2.readUnsignedByte(); + int var16 = var2.readUnsignedByte(); + int var17 = var2.readUnsignedByte(); + int var18 = var2.readUnsignedShort(); + int var19 = var2.readUnsignedShort(); + int var20 = var2.readUnsignedShort(); + int var21 = var2.readUnsignedShort(); + int var22 = var2.readUnsignedShort(); + int var23 = 0; + int var24 = 0; + int var25 = 0; + int var26; + if (var11 > 0) { + this.textureRenderTypes = new byte[var11]; + var2.offset = 0; + + for (var26 = 0; var26 < var11; ++var26) { + byte var27 = this.textureRenderTypes[var26] = var2.readByte(); + if (var27 == 0) { + ++var23; + } + + if (var27 >= 1 && var27 <= 3) { + ++var24; + } + + if (var27 == 2) { + ++var25; + } + } + } + + var26 = var11 + var9; + int var28 = var26; + if (var12 == 1) { + var26 += var10; + } + + int var29 = var26; + var26 += var10; + int var30 = var26; + if (var13 == 255) { + var26 += var10; + } + + int var31 = var26; + if (var15 == 1) { + var26 += var10; + } + + int var32 = var26; + if (var17 == 1) { + var26 += var9; + } + + int var33 = var26; + if (var14 == 1) { + var26 += var10; + } + + int var34 = var26; + var26 += var21; + int var35 = var26; + if (var16 == 1) { + var26 += var10 * 2; + } + + int var36 = var26; + var26 += var22; + int var37 = var26; + var26 += var10 * 2; + int var38 = var26; + var26 += var18; + int var39 = var26; + var26 += var19; + int var40 = var26; + var26 += var20; + int var41 = var26; + var26 += var23 * 6; + int var42 = var26; + var26 += var24 * 6; + int var43 = var26; + var26 += var24 * 6; + int var44 = var26; + var26 += var24 * 2; + int var45 = var26; + var26 += var24; + int var46 = var26; + var26 += var24 * 2 + var25 * 2; + this.verticesCount = var9; + this.faceCount = var10; + this.textureTriangleCount = var11; + this.verticesX = new int[var9]; + this.verticesY = new int[var9]; + this.verticesZ = new int[var9]; + this.indices1 = new int[var10]; + this.indices2 = new int[var10]; + this.indices3 = new int[var10]; + if (var17 == 1) { + this.vertexSkins = new int[var9]; + } + + if (var12 == 1) { + this.faceRenderTypes = new byte[var10]; + } + + if (var13 == 255) { + this.faceRenderPriorities = new byte[var10]; + } else { + this.priority = (byte)var13; + } + + if (var14 == 1) { + this.faceAlphas = new byte[var10]; + } + + if (var15 == 1) { + this.faceSkins = new int[var10]; + } + + if (var16 == 1) { + this.faceTextures = new short[var10]; + } + + if (var16 == 1 && var11 > 0) { + this.textureCoords = new byte[var10]; + } + + this.faceColors = new short[var10]; + if (var11 > 0) { + this.texTriangleX = new short[var11]; + this.texTriangleY = new short[var11]; + this.texTriangleZ = new short[var11]; + } + + var2.offset = var11; + var3.offset = var38; + var4.offset = var39; + var5.offset = var40; + var6.offset = var32; + int var48 = 0; + int var49 = 0; + int var50 = 0; + + int var51; + int var52; + int var53; + int var54; + int var55; + for (var51 = 0; var51 < var9; ++var51) { + var52 = var2.readUnsignedByte(); + var53 = 0; + if ((var52 & 1) != 0) { + var53 = var3.readShortSmart(); + } + + var54 = 0; + if ((var52 & 2) != 0) { + var54 = var4.readShortSmart(); + } + + var55 = 0; + if ((var52 & 4) != 0) { + var55 = var5.readShortSmart(); + } + + this.verticesX[var51] = var48 + var53; + this.verticesY[var51] = var49 + var54; + this.verticesZ[var51] = var50 + var55; + var48 = this.verticesX[var51]; + var49 = this.verticesY[var51]; + var50 = this.verticesZ[var51]; + if (var17 == 1) { + this.vertexSkins[var51] = var6.readUnsignedByte(); + } + } + + var2.offset = var37; + var3.offset = var28; + var4.offset = var30; + var5.offset = var33; + var6.offset = var31; + var7.offset = var35; + var8.offset = var36; + + for (var51 = 0; var51 < var10; ++var51) { + this.faceColors[var51] = (short)var2.readUnsignedShort(); + if (var12 == 1) { + this.faceRenderTypes[var51] = var3.readByte(); + } + + if (var13 == 255) { + this.faceRenderPriorities[var51] = var4.readByte(); + } + + if (var14 == 1) { + this.faceAlphas[var51] = var5.readByte(); + } + + if (var15 == 1) { + this.faceSkins[var51] = var6.readUnsignedByte(); + } + + if (var16 == 1) { + this.faceTextures[var51] = (short)(var7.readUnsignedShort() - 1); + } + + if (this.textureCoords != null && this.faceTextures[var51] != -1) { + this.textureCoords[var51] = (byte)(var8.readUnsignedByte() - 1); + } + } + + var2.offset = var34; + var3.offset = var29; + var51 = 0; + var52 = 0; + var53 = 0; + var54 = 0; + + int var56; + for (var55 = 0; var55 < var10; ++var55) { + var56 = var3.readUnsignedByte(); + if (var56 == 1) { + var51 = var2.readShortSmart() + var54; + var52 = var2.readShortSmart() + var51; + var53 = var2.readShortSmart() + var52; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var52; + this.indices3[var55] = var53; + } + + if (var56 == 2) { + var52 = var53; + var53 = var2.readShortSmart() + var54; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var52; + this.indices3[var55] = var53; + } + + if (var56 == 3) { + var51 = var53; + var53 = var2.readShortSmart() + var54; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var52; + this.indices3[var55] = var53; + } + + if (var56 == 4) { + int var57 = var51; + var51 = var52; + var52 = var57; + var53 = var2.readShortSmart() + var54; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var57; + this.indices3[var55] = var53; + } + } + + var2.offset = var41; + var3.offset = var42; + var4.offset = var43; + var5.offset = var44; + var6.offset = var45; + var7.offset = var46; + + for (var55 = 0; var55 < var11; ++var55) { + var56 = this.textureRenderTypes[var55] & 255; + if (var56 == 0) { + this.texTriangleX[var55] = (short)var2.readUnsignedShort(); + this.texTriangleY[var55] = (short)var2.readUnsignedShort(); + this.texTriangleZ[var55] = (short)var2.readUnsignedShort(); + } + } + + var2.offset = var26; + var55 = var2.readUnsignedByte(); + if (var55 != 0) { + new ModelData0(); + var2.readUnsignedShort(); + var2.readUnsignedShort(); + var2.readUnsignedShort(); + var2.readInt(); + } + + } + + @ObfuscatedName("v") + void method2758(byte[] var1) { + boolean var2 = false; + boolean var3 = false; + Buffer var4 = new Buffer(var1); + Buffer var5 = new Buffer(var1); + Buffer var6 = new Buffer(var1); + Buffer var7 = new Buffer(var1); + Buffer var8 = new Buffer(var1); + var4.offset = var1.length - 18; + int var9 = var4.readUnsignedShort(); + int var10 = var4.readUnsignedShort(); + int var11 = var4.readUnsignedByte(); + int var12 = var4.readUnsignedByte(); + int var13 = var4.readUnsignedByte(); + int var14 = var4.readUnsignedByte(); + int var15 = var4.readUnsignedByte(); + int var16 = var4.readUnsignedByte(); + int var17 = var4.readUnsignedShort(); + int var18 = var4.readUnsignedShort(); + int var19 = var4.readUnsignedShort(); + int var20 = var4.readUnsignedShort(); + byte var21 = 0; + int var45 = var21 + var9; + int var23 = var45; + var45 += var10; + int var24 = var45; + if (var13 == 255) { + var45 += var10; + } + + int var25 = var45; + if (var15 == 1) { + var45 += var10; + } + + int var26 = var45; + if (var12 == 1) { + var45 += var10; + } + + int var27 = var45; + if (var16 == 1) { + var45 += var9; + } + + int var28 = var45; + if (var14 == 1) { + var45 += var10; + } + + int var29 = var45; + var45 += var20; + int var30 = var45; + var45 += var10 * 2; + int var31 = var45; + var45 += var11 * 6; + int var32 = var45; + var45 += var17; + int var33 = var45; + var45 += var18; + int var10000 = var45 + var19; + this.verticesCount = var9; + this.faceCount = var10; + this.textureTriangleCount = var11; + this.verticesX = new int[var9]; + this.verticesY = new int[var9]; + this.verticesZ = new int[var9]; + this.indices1 = new int[var10]; + this.indices2 = new int[var10]; + this.indices3 = new int[var10]; + if (var11 > 0) { + this.textureRenderTypes = new byte[var11]; + this.texTriangleX = new short[var11]; + this.texTriangleY = new short[var11]; + this.texTriangleZ = new short[var11]; + } + + if (var16 == 1) { + this.vertexSkins = new int[var9]; + } + + if (var12 == 1) { + this.faceRenderTypes = new byte[var10]; + this.textureCoords = new byte[var10]; + this.faceTextures = new short[var10]; + } + + if (var13 == 255) { + this.faceRenderPriorities = new byte[var10]; + } else { + this.priority = (byte)var13; + } + + if (var14 == 1) { + this.faceAlphas = new byte[var10]; + } + + if (var15 == 1) { + this.faceSkins = new int[var10]; + } + + this.faceColors = new short[var10]; + var4.offset = var21; + var5.offset = var32; + var6.offset = var33; + var7.offset = var45; + var8.offset = var27; + int var35 = 0; + int var36 = 0; + int var37 = 0; + + int var38; + int var39; + int var40; + int var41; + int var42; + for (var38 = 0; var38 < var9; ++var38) { + var39 = var4.readUnsignedByte(); + var40 = 0; + if ((var39 & 1) != 0) { + var40 = var5.readShortSmart(); + } + + var41 = 0; + if ((var39 & 2) != 0) { + var41 = var6.readShortSmart(); + } + + var42 = 0; + if ((var39 & 4) != 0) { + var42 = var7.readShortSmart(); + } + + this.verticesX[var38] = var35 + var40; + this.verticesY[var38] = var36 + var41; + this.verticesZ[var38] = var37 + var42; + var35 = this.verticesX[var38]; + var36 = this.verticesY[var38]; + var37 = this.verticesZ[var38]; + if (var16 == 1) { + this.vertexSkins[var38] = var8.readUnsignedByte(); + } + } + + var4.offset = var30; + var5.offset = var26; + var6.offset = var24; + var7.offset = var28; + var8.offset = var25; + + for (var38 = 0; var38 < var10; ++var38) { + this.faceColors[var38] = (short)var4.readUnsignedShort(); + if (var12 == 1) { + var39 = var5.readUnsignedByte(); + if ((var39 & 1) == 1) { + this.faceRenderTypes[var38] = 1; + var2 = true; + } else { + this.faceRenderTypes[var38] = 0; + } + + if ((var39 & 2) == 2) { + this.textureCoords[var38] = (byte)(var39 >> 2); + this.faceTextures[var38] = this.faceColors[var38]; + this.faceColors[var38] = 127; + if (this.faceTextures[var38] != -1) { + var3 = true; + } + } else { + this.textureCoords[var38] = -1; + this.faceTextures[var38] = -1; + } + } + + if (var13 == 255) { + this.faceRenderPriorities[var38] = var6.readByte(); + } + + if (var14 == 1) { + this.faceAlphas[var38] = var7.readByte(); + } + + if (var15 == 1) { + this.faceSkins[var38] = var8.readUnsignedByte(); + } + } + + var4.offset = var29; + var5.offset = var23; + var38 = 0; + var39 = 0; + var40 = 0; + var41 = 0; + + int var43; + int var44; + for (var42 = 0; var42 < var10; ++var42) { + var43 = var5.readUnsignedByte(); + if (var43 == 1) { + var38 = var4.readShortSmart() + var41; + var39 = var4.readShortSmart() + var38; + var40 = var4.readShortSmart() + var39; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var39; + this.indices3[var42] = var40; + } + + if (var43 == 2) { + var39 = var40; + var40 = var4.readShortSmart() + var41; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var39; + this.indices3[var42] = var40; + } + + if (var43 == 3) { + var38 = var40; + var40 = var4.readShortSmart() + var41; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var39; + this.indices3[var42] = var40; + } + + if (var43 == 4) { + var44 = var38; + var38 = var39; + var39 = var44; + var40 = var4.readShortSmart() + var41; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var44; + this.indices3[var42] = var40; + } + } + + var4.offset = var31; + + for (var42 = 0; var42 < var11; ++var42) { + this.textureRenderTypes[var42] = 0; + this.texTriangleX[var42] = (short)var4.readUnsignedShort(); + this.texTriangleY[var42] = (short)var4.readUnsignedShort(); + this.texTriangleZ[var42] = (short)var4.readUnsignedShort(); + } + + if (this.textureCoords != null) { + boolean var46 = false; + + for (var43 = 0; var43 < var10; ++var43) { + var44 = this.textureCoords[var43] & 255; + if (var44 != 255) { + if (this.indices1[var43] == (this.texTriangleX[var44] & '\uffff') && this.indices2[var43] == (this.texTriangleY[var44] & '\uffff') && this.indices3[var43] == (this.texTriangleZ[var44] & '\uffff')) { + this.textureCoords[var43] = -1; + } else { + var46 = true; + } + } + } + + if (!var46) { + this.textureCoords = null; + } + } + + if (!var3) { + this.faceTextures = null; + } + + if (!var2) { + this.faceRenderTypes = null; + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Ldw;I)I" + ) + final int method2759(ModelData var1, int var2) { + int var3 = -1; + int var4 = var1.verticesX[var2]; + int var5 = var1.verticesY[var2]; + int var6 = var1.verticesZ[var2]; + + for (int var7 = 0; var7 < this.verticesCount; ++var7) { + if (var4 == this.verticesX[var7] && var5 == this.verticesY[var7] && var6 == this.verticesZ[var7]) { + var3 = var7; + break; + } + } + + if (var3 == -1) { + this.verticesX[this.verticesCount] = var4; + this.verticesY[this.verticesCount] = var5; + this.verticesZ[this.verticesCount] = var6; + if (var1.vertexSkins != null) { + this.vertexSkins[this.verticesCount] = var1.vertexSkins[var2]; + } + + var3 = this.verticesCount++; + } + + return var3; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "()Ldw;" + ) + public ModelData method2760() { + ModelData var1 = new ModelData(); + if (this.faceRenderTypes != null) { + var1.faceRenderTypes = new byte[this.faceCount]; + + for (int var2 = 0; var2 < this.faceCount; ++var2) { + var1.faceRenderTypes[var2] = this.faceRenderTypes[var2]; + } + } + + var1.verticesCount = this.verticesCount; + var1.faceCount = this.faceCount; + var1.textureTriangleCount = this.textureTriangleCount; + var1.verticesX = this.verticesX; + var1.verticesY = this.verticesY; + var1.verticesZ = this.verticesZ; + var1.indices1 = this.indices1; + var1.indices2 = this.indices2; + var1.indices3 = this.indices3; + var1.faceRenderPriorities = this.faceRenderPriorities; + var1.faceAlphas = this.faceAlphas; + var1.textureCoords = this.textureCoords; + var1.faceColors = this.faceColors; + var1.faceTextures = this.faceTextures; + var1.priority = this.priority; + var1.textureRenderTypes = this.textureRenderTypes; + var1.texTriangleX = this.texTriangleX; + var1.texTriangleY = this.texTriangleY; + var1.texTriangleZ = this.texTriangleZ; + var1.vertexSkins = this.vertexSkins; + var1.faceSkins = this.faceSkins; + var1.vertexLabels = this.vertexLabels; + var1.faceLabelsAlpha = this.faceLabelsAlpha; + var1.vertexNormals = this.vertexNormals; + var1.faceNormals = this.faceNormals; + var1.ambient = this.ambient; + var1.contrast = this.contrast; + return var1; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([[IIIIZI)Ldw;" + ) + public ModelData method2761(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { + this.calculateBounds(); + int var7 = var2 + this.field1544; + int var8 = var2 + this.field1513; + int var9 = var4 + this.field1551; + int var10 = var4 + this.field1546; + if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { + var7 >>= 7; + var8 = var8 + 127 >> 7; + var9 >>= 7; + var10 = var10 + 127 >> 7; + if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { + return this; + } else { + ModelData var11 = new ModelData(); + var11.verticesCount = this.verticesCount; + var11.faceCount = this.faceCount; + var11.textureTriangleCount = this.textureTriangleCount; + var11.verticesX = this.verticesX; + var11.verticesZ = this.verticesZ; + var11.indices1 = this.indices1; + var11.indices2 = this.indices2; + var11.indices3 = this.indices3; + var11.faceRenderTypes = this.faceRenderTypes; + var11.faceRenderPriorities = this.faceRenderPriorities; + var11.faceAlphas = this.faceAlphas; + var11.textureCoords = this.textureCoords; + var11.faceColors = this.faceColors; + var11.faceTextures = this.faceTextures; + var11.priority = this.priority; + var11.textureRenderTypes = this.textureRenderTypes; + var11.texTriangleX = this.texTriangleX; + var11.texTriangleY = this.texTriangleY; + var11.texTriangleZ = this.texTriangleZ; + var11.vertexSkins = this.vertexSkins; + var11.faceSkins = this.faceSkins; + var11.vertexLabels = this.vertexLabels; + var11.faceLabelsAlpha = this.faceLabelsAlpha; + var11.ambient = this.ambient; + var11.contrast = this.contrast; + var11.verticesY = new int[var11.verticesCount]; + int var12; + int var13; + int var14; + int var15; + int var16; + int var17; + int var18; + int var19; + int var20; + int var21; + if (var6 == 0) { + for (var12 = 0; var12 < var11.verticesCount; ++var12) { + var13 = var2 + this.verticesX[var12]; + var14 = var4 + this.verticesZ[var12]; + var15 = var13 & 127; + var16 = var14 & 127; + var17 = var13 >> 7; + var18 = var14 >> 7; + var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; + var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; + var21 = var19 * (128 - var16) + var20 * var16 >> 7; + var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; + } + } else { + for (var12 = 0; var12 < var11.verticesCount; ++var12) { + var13 = (-this.verticesY[var12] << 16) / super.height; + if (var13 < var6) { + var14 = var2 + this.verticesX[var12]; + var15 = var4 + this.verticesZ[var12]; + var16 = var14 & 127; + var17 = var15 & 127; + var18 = var14 >> 7; + var19 = var15 >> 7; + var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; + var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; + int var22 = var20 * (128 - var17) + var21 * var17 >> 7; + var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; + } + } + } + + var11.invalidate(); + return var11; + } + } else { + return this; + } + } + + @ObfuscatedName("q") + void method2762() { + int[] var1; + int var2; + int var10002; + int var3; + int var4; + if (this.vertexSkins != null) { + var1 = new int[256]; + var2 = 0; + + for (var3 = 0; var3 < this.verticesCount; ++var3) { + var4 = this.vertexSkins[var3]; + var10002 = var1[var4]++; + if (var4 > var2) { + var2 = var4; + } + } + + this.vertexLabels = new int[var2 + 1][]; + + for (var3 = 0; var3 <= var2; ++var3) { + this.vertexLabels[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for (var3 = 0; var3 < this.verticesCount; this.vertexLabels[var4][var1[var4]++] = var3++) { + var4 = this.vertexSkins[var3]; + } + + this.vertexSkins = null; + } + + if (this.faceSkins != null) { + var1 = new int[256]; + var2 = 0; + + for (var3 = 0; var3 < this.faceCount; ++var3) { + var4 = this.faceSkins[var3]; + var10002 = var1[var4]++; + if (var4 > var2) { + var2 = var4; + } + } + + this.faceLabelsAlpha = new int[var2 + 1][]; + + for (var3 = 0; var3 <= var2; ++var3) { + this.faceLabelsAlpha[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for (var3 = 0; var3 < this.faceCount; this.faceLabelsAlpha[var4][var1[var4]++] = var3++) { + var4 = this.faceSkins[var3]; + } + + this.faceSkins = null; + } + + } + + @ObfuscatedName("m") + public void method2831() { + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + this.verticesX[var1] = this.verticesZ[var1]; + this.verticesZ[var1] = -var2; + } + + this.invalidate(); + } + + @ObfuscatedName("i") + public void method2757() { + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + this.verticesX[var1] = -this.verticesX[var1]; + this.verticesZ[var1] = -this.verticesZ[var1]; + } + + this.invalidate(); + } + + @ObfuscatedName("c") + public void method2796() { + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesZ[var1]; + this.verticesZ[var1] = this.verticesX[var1]; + this.verticesX[var1] = -var2; + } + + this.invalidate(); + } + + @ObfuscatedName("b") + public void method2763(int var1) { + int var2 = ModelData_sine[var1]; + int var3 = ModelData_cosine[var1]; + + for (int var4 = 0; var4 < this.verticesCount; ++var4) { + int var5 = var2 * this.verticesZ[var4] + var3 * this.verticesX[var4] >> 16; + this.verticesZ[var4] = var3 * this.verticesZ[var4] - var2 * this.verticesX[var4] >> 16; + this.verticesX[var4] = var5; + } + + this.invalidate(); + } + + @ObfuscatedName("o") + @Export("changeOffset") + public void changeOffset(int var1, int var2, int var3) { + for (int var4 = 0; var4 < this.verticesCount; ++var4) { + int[] var10000 = this.verticesX; + var10000[var4] += var1; + var10000 = this.verticesY; + var10000[var4] += var2; + var10000 = this.verticesZ; + var10000[var4] += var3; + } + + this.invalidate(); + } + + @ObfuscatedName("a") + @Export("recolor") + public void recolor(short var1, short var2) { + for (int var3 = 0; var3 < this.faceCount; ++var3) { + if (this.faceColors[var3] == var1) { + this.faceColors[var3] = var2; + } + } + + } + + @ObfuscatedName("e") + @Export("retexture") + public void retexture(short var1, short var2) { + if (this.faceTextures != null) { + for (int var3 = 0; var3 < this.faceCount; ++var3) { + if (this.faceTextures[var3] == var1) { + this.faceTextures[var3] = var2; + } + } + + } + } + + @ObfuscatedName("x") + public void method2770() { + int var1; + for (var1 = 0; var1 < this.verticesCount; ++var1) { + this.verticesZ[var1] = -this.verticesZ[var1]; + } + + for (var1 = 0; var1 < this.faceCount; ++var1) { + int var2 = this.indices1[var1]; + this.indices1[var1] = this.indices3[var1]; + this.indices3[var1] = var2; + } + + this.invalidate(); + } + + @ObfuscatedName("h") + @Export("resize") + public void resize(int var1, int var2, int var3) { + for (int var4 = 0; var4 < this.verticesCount; ++var4) { + this.verticesX[var4] = this.verticesX[var4] * var1 / 128; + this.verticesY[var4] = var2 * this.verticesY[var4] / 128; + this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; + } + + this.invalidate(); + } + + @ObfuscatedName("s") + @Export("calculateVertexNormals") + public void calculateVertexNormals() { + if (this.vertexNormals == null) { + this.vertexNormals = new VertexNormal[this.verticesCount]; + + int var1; + for (var1 = 0; var1 < this.verticesCount; ++var1) { + this.vertexNormals[var1] = new VertexNormal(); + } + + for (var1 = 0; var1 < this.faceCount; ++var1) { + int var2 = this.indices1[var1]; + int var3 = this.indices2[var1]; + int var4 = this.indices3[var1]; + int var5 = this.verticesX[var3] - this.verticesX[var2]; + int var6 = this.verticesY[var3] - this.verticesY[var2]; + int var7 = this.verticesZ[var3] - this.verticesZ[var2]; + int var8 = this.verticesX[var4] - this.verticesX[var2]; + int var9 = this.verticesY[var4] - this.verticesY[var2]; + int var10 = this.verticesZ[var4] - this.verticesZ[var2]; + int var11 = var6 * var10 - var9 * var7; + int var12 = var7 * var8 - var10 * var5; + + int var13; + for (var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) { + var11 >>= 1; + var12 >>= 1; + } + + int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13)); + if (var14 <= 0) { + var14 = 1; + } + + var11 = var11 * 256 / var14; + var12 = var12 * 256 / var14; + var13 = var13 * 256 / var14; + byte var15; + if (this.faceRenderTypes == null) { + var15 = 0; + } else { + var15 = this.faceRenderTypes[var1]; + } + + if (var15 == 0) { + VertexNormal var16 = this.vertexNormals[var2]; + var16.x += var11; + var16.y += var12; + var16.z += var13; + ++var16.magnitude; + var16 = this.vertexNormals[var3]; + var16.x += var11; + var16.y += var12; + var16.z += var13; + ++var16.magnitude; + var16 = this.vertexNormals[var4]; + var16.x += var11; + var16.y += var12; + var16.z += var13; + ++var16.magnitude; + } else if (var15 == 1) { + if (this.faceNormals == null) { + this.faceNormals = new FaceNormal[this.faceCount]; + } + + FaceNormal var17 = this.faceNormals[var1] = new FaceNormal(); + var17.x = var11; + var17.y = var12; + var17.z = var13; + } + } + + } + } + + @ObfuscatedName("f") + @Export("invalidate") + void invalidate() { + this.vertexNormals = null; + this.field1545 = null; + this.faceNormals = null; + this.isBoundsCalculated = false; + } + + @ObfuscatedName("j") + @Export("calculateBounds") + void calculateBounds() { + if (!this.isBoundsCalculated) { + super.height = 0; + this.field1543 = 0; + this.field1544 = 999999; + this.field1513 = -999999; + this.field1546 = -99999; + this.field1551 = 99999; + + for (int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + int var3 = this.verticesY[var1]; + int var4 = this.verticesZ[var1]; + if (var2 < this.field1544) { + this.field1544 = var2; + } + + if (var2 > this.field1513) { + this.field1513 = var2; + } + + if (var4 < this.field1551) { + this.field1551 = var4; + } + + if (var4 > this.field1546) { + this.field1546 = var4; + } + + if (-var3 > super.height) { + super.height = -var3; + } + + if (var3 > this.field1543) { + this.field1543 = var3; + } + } + + this.isBoundsCalculated = true; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IIIII)Ldh;" + ) + @Export("toModel") + public final Model toModel(int var1, int var2, int var3, int var4, int var5) { + this.calculateVertexNormals(); + int var6 = (int)Math.sqrt((double)(var5 * var5 + var3 * var3 + var4 * var4)); + int var7 = var6 * var2 >> 8; + Model var8 = new Model(); + var8.faceColors1 = new int[this.faceCount]; + var8.faceColors2 = new int[this.faceCount]; + var8.faceColors3 = new int[this.faceCount]; + if (this.textureTriangleCount > 0 && this.textureCoords != null) { + int[] var9 = new int[this.textureTriangleCount]; + + int var10; + for (var10 = 0; var10 < this.faceCount; ++var10) { + if (this.textureCoords[var10] != -1) { + ++var9[this.textureCoords[var10] & 255]; + } + } + + var8.field1685 = 0; + + for (var10 = 0; var10 < this.textureTriangleCount; ++var10) { + if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { + ++var8.field1685; + } + } + + var8.field1654 = new int[var8.field1685]; + var8.field1655 = new int[var8.field1685]; + var8.field1653 = new int[var8.field1685]; + var10 = 0; + + int var11; + for (var11 = 0; var11 < this.textureTriangleCount; ++var11) { + if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { + var8.field1654[var10] = this.texTriangleX[var11] & '\uffff'; + var8.field1655[var10] = this.texTriangleY[var11] & '\uffff'; + var8.field1653[var10] = this.texTriangleZ[var11] & '\uffff'; + var9[var11] = var10++; + } else { + var9[var11] = -1; + } + } + + var8.field1639 = new byte[this.faceCount]; + + for (var11 = 0; var11 < this.faceCount; ++var11) { + if (this.textureCoords[var11] != -1) { + var8.field1639[var11] = (byte)var9[this.textureCoords[var11] & 255]; + } else { + var8.field1639[var11] = -1; + } + } + } + + for (int var16 = 0; var16 < this.faceCount; ++var16) { + byte var17; + if (this.faceRenderTypes == null) { + var17 = 0; + } else { + var17 = this.faceRenderTypes[var16]; + } + + byte var18; + if (this.faceAlphas == null) { + var18 = 0; + } else { + var18 = this.faceAlphas[var16]; + } + + short var12; + if (this.faceTextures == null) { + var12 = -1; + } else { + var12 = this.faceTextures[var16]; + } + + if (var18 == -2) { + var17 = 3; + } + + if (var18 == -1) { + var17 = 2; + } + + VertexNormal var13; + int var14; + FaceNormal var19; + if (var12 == -1) { + if (var17 != 0) { + if (var17 == 1) { + var19 = this.faceNormals[var16]; + var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2777(this.faceColors[var16] & '\uffff', var14); + var8.faceColors3[var16] = -1; + } else if (var17 == 3) { + var8.faceColors1[var16] = 128; + var8.faceColors3[var16] = -1; + } else { + var8.faceColors3[var16] = -2; + } + } else { + int var15 = this.faceColors[var16] & '\uffff'; + if (this.field1545 != null && this.field1545[this.indices1[var16]] != null) { + var13 = this.field1545[this.indices1[var16]]; + } else { + var13 = this.vertexNormals[this.indices1[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors1[var16] = method2777(var15, var14); + if (this.field1545 != null && this.field1545[this.indices2[var16]] != null) { + var13 = this.field1545[this.indices2[var16]]; + } else { + var13 = this.vertexNormals[this.indices2[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors2[var16] = method2777(var15, var14); + if (this.field1545 != null && this.field1545[this.indices3[var16]] != null) { + var13 = this.field1545[this.indices3[var16]]; + } else { + var13 = this.vertexNormals[this.indices3[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors3[var16] = method2777(var15, var14); + } + } else if (var17 != 0) { + if (var17 == 1) { + var19 = this.faceNormals[var16]; + var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2767(var14); + var8.faceColors3[var16] = -1; + } else { + var8.faceColors3[var16] = -2; + } + } else { + if (this.field1545 != null && this.field1545[this.indices1[var16]] != null) { + var13 = this.field1545[this.indices1[var16]]; + } else { + var13 = this.vertexNormals[this.indices1[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors1[var16] = method2767(var14); + if (this.field1545 != null && this.field1545[this.indices2[var16]] != null) { + var13 = this.field1545[this.indices2[var16]]; + } else { + var13 = this.vertexNormals[this.indices2[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors2[var16] = method2767(var14); + if (this.field1545 != null && this.field1545[this.indices3[var16]] != null) { + var13 = this.field1545[this.indices3[var16]]; + } else { + var13 = this.vertexNormals[this.indices3[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors3[var16] = method2767(var14); + } + } + + this.method2762(); + var8.verticesCount = this.verticesCount; + var8.verticesX = this.verticesX; + var8.verticesY = this.verticesY; + var8.verticesZ = this.verticesZ; + var8.indicesCount = this.faceCount; + var8.indices1 = this.indices1; + var8.indices2 = this.indices2; + var8.indices3 = this.indices3; + var8.faceRenderPriorities = this.faceRenderPriorities; + var8.faceAlphas = this.faceAlphas; + var8.field1634 = this.priority; + var8.vertexLabels = this.vertexLabels; + var8.faceLabelsAlpha = this.faceLabelsAlpha; + var8.faceTextures = this.faceTextures; + return var8; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;II)Ldw;" + ) + @Export("ModelData_get") + public static ModelData ModelData_get(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new ModelData(var3); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(Ldw;Ldw;IIIZ)V" + ) + static void method2775(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { + var0.calculateBounds(); + var0.calculateVertexNormals(); + var1.calculateBounds(); + var1.calculateVertexNormals(); + ++field1550; + int var6 = 0; + int[] var7 = var1.verticesX; + int var8 = var1.verticesCount; + + int var9; + for (var9 = 0; var9 < var0.verticesCount; ++var9) { + VertexNormal var10 = var0.vertexNormals[var9]; + if (var10.magnitude != 0) { + int var11 = var0.verticesY[var9] - var3; + if (var11 <= var1.field1543) { + int var12 = var0.verticesX[var9] - var2; + if (var12 >= var1.field1544 && var12 <= var1.field1513) { + int var13 = var0.verticesZ[var9] - var4; + if (var13 >= var1.field1551 && var13 <= var1.field1546) { + for (int var14 = 0; var14 < var8; ++var14) { + VertexNormal var15 = var1.vertexNormals[var14]; + if (var12 == var7[var14] && var13 == var1.verticesZ[var14] && var11 == var1.verticesY[var14] && var15.magnitude != 0) { + if (var0.field1545 == null) { + var0.field1545 = new VertexNormal[var0.verticesCount]; + } + + if (var1.field1545 == null) { + var1.field1545 = new VertexNormal[var8]; + } + + VertexNormal var16 = var0.field1545[var9]; + if (var16 == null) { + var16 = var0.field1545[var9] = new VertexNormal(var10); + } + + VertexNormal var17 = var1.field1545[var14]; + if (var17 == null) { + var17 = var1.field1545[var14] = new VertexNormal(var15); + } + + var16.x += var15.x; + var16.y += var15.y; + var16.z += var15.z; + var16.magnitude += var15.magnitude; + var17.x += var10.x; + var17.y += var10.y; + var17.z += var10.z; + var17.magnitude += var10.magnitude; + ++var6; + field1548[var9] = field1550; + field1549[var14] = field1550; + } + } + } + } + } + } + } + + if (var6 >= 3 && var5) { + for (var9 = 0; var9 < var0.faceCount; ++var9) { + if (field1548[var0.indices1[var9]] == field1550 && field1548[var0.indices2[var9]] == field1550 && field1548[var0.indices3[var9]] == field1550) { + if (var0.faceRenderTypes == null) { + var0.faceRenderTypes = new byte[var0.faceCount]; + } + + var0.faceRenderTypes[var9] = 2; + } + } + + for (var9 = 0; var9 < var1.faceCount; ++var9) { + if (field1550 == field1549[var1.indices1[var9]] && field1550 == field1549[var1.indices2[var9]] && field1550 == field1549[var1.indices3[var9]]) { + if (var1.faceRenderTypes == null) { + var1.faceRenderTypes = new byte[var1.faceCount]; + } + + var1.faceRenderTypes[var9] = 2; + } + } + + } + } + + @ObfuscatedName("k") + static final int method2777(int var0, int var1) { + var1 = (var0 & 127) * var1 >> 7; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 65408) + var1; + } + + @ObfuscatedName("ac") + static final int method2767(int var0) { + if (var0 < 2) { + var0 = 2; + } else if (var0 > 126) { + var0 = 126; + } + + return var0; + } +} diff --git a/runescape-client/src/main/java/ModelData0.java b/runescape-client/src/main/java/ModelData0.java index bafda49f7b..b3108285e0 100644 --- a/runescape-client/src/main/java/ModelData0.java +++ b/runescape-client/src/main/java/ModelData0.java @@ -1,331 +1,51 @@ -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.ScriptOpcodes; - -@ObfuscatedName("eo") -@Implements("ModelData0") -public class ModelData0 { - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -80152223 - ) - public static int field1833; - @ObfuscatedName("lv") - @ObfuscatedGetter( - intValue = 1005444901 - ) - @Export("selectedItemSlot") - static int selectedItemSlot; - - ModelData0() { - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "-1253284688" - ) - static int method3221(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - if (var0 == ScriptOpcodes.CC_GETSCROLLX) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollX; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollY; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETTEXT) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.text; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLWIDTH) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollWidth; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollHeight; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelZoom; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelAngleX; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelAngleZ; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelAngleY; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETTRANSTOP) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.transparencyTop; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETTRANSBOT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.transparencyBot; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.color; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.color2; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETFILLMODE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); - return 1; - } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "44" - ) - static int method3219(int var0, Script var1, boolean var2) { - Widget var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETX) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.x; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETY) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.y; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.width; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.height; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETHIDE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETLAYER) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.parentId; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("fh") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - @Export("playPcmPlayers") - static final void playPcmPlayers() { - if (ClientPreferences.pcmPlayer1 != null) { - ClientPreferences.pcmPlayer1.run(); - } - - if (WorldMapIcon_1.pcmPlayer0 != null) { - WorldMapIcon_1.pcmPlayer0.run(); - } - - } - - @ObfuscatedName("io") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "353830109" - ) - @Export("addSceneMenuOptions") - static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { - if (Client.isItemSelected == 0 && !Client.isSpellSelected) { - FontName.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); - } - - long var4 = -1L; - long var6 = -1L; - - int var8; - for (var8 = 0; var8 < WorldMapSection2.method300(); ++var8) { - long var9 = ViewportMouse.ViewportMouse_entityTags[var8]; - if (var9 != var6) { - var6 = var9; - long var15 = ViewportMouse.ViewportMouse_entityTags[var8]; - int var14 = (int)(var15 >>> 0 & 127L); - var14 = var14; - int var28 = Language.ViewportMouse_unpackX(ViewportMouse.ViewportMouse_entityTags[var8]); - int var16 = var28; - int var17 = UserComparator2.ViewportMouse_unpackY(ViewportMouse.ViewportMouse_entityTags[var8]); - int var19 = SecureRandomFuture.method2101(var8); - if (var17 == 2 && WorldMapIcon_1.scene.getObjectFlags(MouseRecorder.plane, var14, var28, var9) >= 0) { - ObjectDefinition var20 = WallDecoration.getObjectDefinition(var19); - if (var20.transforms != null) { - var20 = var20.transform(); - } - - if (var20 == null) { - continue; - } - - if (Client.isItemSelected == 1) { - FontName.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + UserComparator7.colorStartTag(65535) + var20.name, 1, var19, var14, var28); - } else if (Client.isSpellSelected) { - if ((BuddyRankComparator.selectedSpellFlags & 4) == 4) { - FontName.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + UserComparator7.colorStartTag(65535) + var20.name, 2, var19, var14, var28); - } - } else { - String[] var29 = var20.actions; - if (var29 != null) { - for (int var30 = 4; var30 >= 0; --var30) { - if (var29[var30] != null) { - short var23 = 0; - if (var30 == 0) { - var23 = 3; - } - - if (var30 == 1) { - var23 = 4; - } - - if (var30 == 2) { - var23 = 5; - } - - if (var30 == 3) { - var23 = 6; - } - - if (var30 == 4) { - var23 = 1001; - } - - FontName.insertMenuItemNoShift(var29[var30], UserComparator7.colorStartTag(65535) + var20.name, var23, var19, var14, var16); - } - } - } - - FontName.insertMenuItemNoShift("Examine", UserComparator7.colorStartTag(65535) + var20.name, 1002, var20.id, var14, var16); - } - } - - int var21; - NPC var22; - Player var24; - int[] var36; - int var38; - if (var17 == 1) { - NPC var33 = Client.npcs[var19]; - if (var33 == null) { - continue; - } - - if (var33.definition.size == 1 && (var33.x * -78439701 & 127) == 64 && (var33.y & 127) == 64) { - for (var21 = 0; var21 < Client.npcCount; ++var21) { - var22 = Client.npcs[Client.npcIndices[var21]]; - if (var22 != null && var22 != var33 && var22.definition.size == 1 && var33.x * -78439701 == var22.x * -78439701 && var33.y == var22.y) { - InterfaceParent.addNpcToMenu(var22.definition, Client.npcIndices[var21], var14, var16); - } - } - - var21 = Players.Players_count; - var36 = Players.Players_indices; - - for (var38 = 0; var38 < var21; ++var38) { - var24 = Client.players[var36[var38]]; - if (var24 != null && var24.x * -78439701 == var33.x * -78439701 && var24.y == var33.y) { - NetFileRequest.addPlayerToMenu(var24, var36[var38], var14, var16); - } - } - } - - InterfaceParent.addNpcToMenu(var33.definition, var19, var14, var16); - } - - if (var17 == 0) { - Player var34 = Client.players[var19]; - if (var34 == null) { - continue; - } - - if ((var34.x * -78439701 & 127) == 64 && (var34.y & 127) == 64) { - for (var21 = 0; var21 < Client.npcCount; ++var21) { - var22 = Client.npcs[Client.npcIndices[var21]]; - if (var22 != null && var22.definition.size == 1 && var34.x * -78439701 == var22.x * -78439701 && var34.y == var22.y) { - InterfaceParent.addNpcToMenu(var22.definition, Client.npcIndices[var21], var14, var16); - } - } - - var21 = Players.Players_count; - var36 = Players.Players_indices; - - for (var38 = 0; var38 < var21; ++var38) { - var24 = Client.players[var36[var38]]; - if (var24 != null && var24 != var34 && var34.x * -78439701 == var24.x * -78439701 && var34.y == var24.y) { - NetFileRequest.addPlayerToMenu(var24, var36[var38], var14, var16); - } - } - } - - if (var19 != Client.combatTargetPlayerIndex) { - NetFileRequest.addPlayerToMenu(var34, var19, var14, var16); - } else { - var4 = var9; - } - } - - if (var17 == 3) { - NodeDeque var35 = Client.groundItems[MouseRecorder.plane][var14][var16]; - if (var35 != null) { - for (TileItem var39 = (TileItem)var35.first(); var39 != null; var39 = (TileItem)var35.next()) { - ItemDefinition var37 = Player.ItemDefinition_get(var39.id); - if (Client.isItemSelected == 1) { - FontName.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + UserComparator7.colorStartTag(16748608) + var37.name, 16, var39.id, var14, var16); - } else if (Client.isSpellSelected) { - if ((BuddyRankComparator.selectedSpellFlags & 1) == 1) { - FontName.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + UserComparator7.colorStartTag(16748608) + var37.name, 17, var39.id, var14, var16); - } - } else { - String[] var31 = var37.groundActions; - - for (int var32 = 4; var32 >= 0; --var32) { - if (var31 != null && var31[var32] != null) { - byte var25 = 0; - if (var32 == 0) { - var25 = 18; - } - - if (var32 == 1) { - var25 = 19; - } - - if (var32 == 2) { - var25 = 20; - } - - if (var32 == 3) { - var25 = 21; - } - - if (var32 == 4) { - var25 = 22; - } - - FontName.insertMenuItemNoShift(var31[var32], UserComparator7.colorStartTag(16748608) + var37.name, var25, var39.id, var14, var16); - } else if (var32 == 2) { - FontName.insertMenuItemNoShift("Take", UserComparator7.colorStartTag(16748608) + var37.name, 20, var39.id, var14, var16); - } - } - - FontName.insertMenuItemNoShift("Examine", UserComparator7.colorStartTag(16748608) + var37.name, 1004, var39.id, var14, var16); - } - } - } - } - } - } - - if (var4 != -1L) { - var8 = (int)(var4 >>> 0 & 127L); - int var10 = Language.ViewportMouse_unpackX(var4); - Player var27 = Client.players[Client.combatTargetPlayerIndex]; - NetFileRequest.addPlayerToMenu(var27, Client.combatTargetPlayerIndex, var8, var10); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("eq") +@Implements("ModelData0") +public class ModelData0 { + @ObfuscatedName("ha") + static int field1840; + + ModelData0() { + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1264128253" + ) + public static boolean method3211(int var0) { + return (var0 >> 28 & 1) != 0; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(B)Lbo;", + garbageValue = "0" + ) + @Export("worldListStart") + static World worldListStart() { + World.World_listCount = 0; + return AbstractByteArrayCopier.getNextWorldListWorld(); + } + + @ObfuscatedName("hn") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1738289394" + ) + static final void method3210(int var0) { + if (var0 >= 0) { + int var1 = Client.menuArguments1[var0]; + int var2 = Client.menuArguments2[var0]; + int var3 = Client.menuOpcodes[var0]; + int var4 = Client.menuIdentifiers[var0]; + String var5 = Client.menuActions[var0]; + String var6 = Client.menuTargets[var0]; + InvDefinition.menuAction(var1, var2, var3, var4, var5, var6, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + } +} diff --git a/runescape-client/src/main/java/MouseHandler.java b/runescape-client/src/main/java/MouseHandler.java index f7c57354a8..092cf6f359 100644 --- a/runescape-client/src/main/java/MouseHandler.java +++ b/runescape-client/src/main/java/MouseHandler.java @@ -1,271 +1,240 @@ -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.awt.event.MouseMotionListener; -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("bk") -@Implements("MouseHandler") -public class MouseHandler implements MouseListener, MouseMotionListener, FocusListener { - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -455222981 - ) - @Export("MouseHandler_y") - public static int MouseHandler_y; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lbk;" - ) - @Export("MouseHandler_instance") - public static MouseHandler MouseHandler_instance; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 625092859 - ) - @Export("MouseHandler_idleCycles") - public static volatile int MouseHandler_idleCycles; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 928358491 - ) - @Export("MouseHandler_currentButtonVolatile") - public static volatile int MouseHandler_currentButtonVolatile; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1059127459 - ) - @Export("MouseHandler_xVolatile") - public static volatile int MouseHandler_xVolatile; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -871019493 - ) - @Export("MouseHandler_yVolatile") - public static volatile int MouseHandler_yVolatile; - @ObfuscatedName("z") - @ObfuscatedGetter( - longValue = 3807665102305942221L - ) - @Export("MouseHandler_lastMovedVolatile") - public static volatile long MouseHandler_lastMovedVolatile; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1642264725 - ) - @Export("MouseHandler_currentButton") - public static int MouseHandler_currentButton; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1689480427 - ) - @Export("MouseHandler_x") - public static int MouseHandler_x; - @ObfuscatedName("f") - @ObfuscatedGetter( - longValue = 921142150895567199L - ) - @Export("MouseHandler_millis") - public static long MouseHandler_millis; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1873074137 - ) - @Export("MouseHandler_lastButtonVolatile") - public static volatile int MouseHandler_lastButtonVolatile; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -378293713 - ) - @Export("MouseHandler_lastPressedXVolatile") - public static volatile int MouseHandler_lastPressedXVolatile; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1121450119 - ) - @Export("MouseHandler_lastPressedYVolatile") - public static volatile int MouseHandler_lastPressedYVolatile; - @ObfuscatedName("i") - @ObfuscatedGetter( - longValue = 5125421124027992709L - ) - @Export("MouseHandler_lastPressedTimeMillisVolatile") - public static volatile long MouseHandler_lastPressedTimeMillisVolatile; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1837968933 - ) - @Export("MouseHandler_lastButton") - public static int MouseHandler_lastButton; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1940866651 - ) - @Export("MouseHandler_lastPressedX") - public static int MouseHandler_lastPressedX; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1513587311 - ) - @Export("MouseHandler_lastPressedY") - public static int MouseHandler_lastPressedY; - @ObfuscatedName("k") - @ObfuscatedGetter( - longValue = 7385005168310629291L - ) - @Export("MouseHandler_lastPressedTimeMillis") - public static long MouseHandler_lastPressedTimeMillis; - @ObfuscatedName("bw") - static String field464; - - static { - MouseHandler_instance = new MouseHandler(); - MouseHandler_idleCycles = 0; - MouseHandler_currentButtonVolatile = 0; - MouseHandler_xVolatile = -1; - MouseHandler_yVolatile = -1; - MouseHandler_lastMovedVolatile = -1L; - MouseHandler_currentButton = 0; - MouseHandler_x = 0; - MouseHandler_y = 0; - MouseHandler_millis = 0L; - MouseHandler_lastButtonVolatile = 0; - MouseHandler_lastPressedXVolatile = 0; - MouseHandler_lastPressedYVolatile = 0; - MouseHandler_lastPressedTimeMillisVolatile = 0L; - MouseHandler_lastButton = 0; - MouseHandler_lastPressedX = 0; - MouseHandler_lastPressedY = 0; - MouseHandler_lastPressedTimeMillis = 0L; - } - - MouseHandler() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/awt/event/MouseEvent;I)I", - garbageValue = "1169015688" - ) - @Export("getButton") - final int getButton(MouseEvent var1) { - int var2 = var1.getButton(); - if (!var1.isAltDown() && var2 != 2) { - return !var1.isMetaDown() && var2 != 3 ? 1 : 2; - } else { - return 4; - } - } - - public final synchronized void mouseMoved(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_xVolatile = var1.getX(); - MouseHandler_yVolatile = var1.getY(); - MouseHandler_lastMovedVolatile = var1.getWhen(); - } - - } - - public final synchronized void mousePressed(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_lastPressedXVolatile = var1.getX(); - MouseHandler_lastPressedYVolatile = var1.getY(); - MouseHandler_lastPressedTimeMillisVolatile = SoundCache.method2480(); - MouseHandler_lastButtonVolatile = this.getButton(var1); - if (MouseHandler_lastButtonVolatile != 0) { - MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile; - } - } - - if (var1.isPopupTrigger()) { - var1.consume(); - } - - } - - public final synchronized void mouseReleased(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_currentButtonVolatile = 0; - } - - if (var1.isPopupTrigger()) { - var1.consume(); - } - - } - - public final void mouseClicked(MouseEvent var1) { - if (var1.isPopupTrigger()) { - var1.consume(); - } - - } - - public final synchronized void mouseEntered(MouseEvent var1) { - this.mouseMoved(var1); - } - - public final synchronized void mouseDragged(MouseEvent var1) { - this.mouseMoved(var1); - } - - public final synchronized void mouseExited(MouseEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_idleCycles = 0; - MouseHandler_xVolatile = -1; - MouseHandler_yVolatile = -1; - MouseHandler_lastMovedVolatile = var1.getWhen(); - } - - } - - public final void focusGained(FocusEvent var1) { - } - - public final synchronized void focusLost(FocusEvent var1) { - if (MouseHandler_instance != null) { - MouseHandler_currentButtonVolatile = 0; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)J", - garbageValue = "-1429364535" - ) - public static long method1041(CharSequence var0) { - long var1 = 0L; - int var3 = var0.length(); - - for (int var4 = 0; var4 < var3; ++var4) { - var1 *= 37L; - char var5 = var0.charAt(var4); - if (var5 >= 'A' && var5 <= 'Z') { - var1 += (long)(var5 + 1 - 65); - } else if (var5 >= 'a' && var5 <= 'z') { - var1 += (long)(var5 + 1 - 97); - } else if (var5 >= '0' && var5 <= '9') { - var1 += (long)(var5 + 27 - 48); - } - - if (var1 >= 177917621779460413L) { - break; - } - } - - while (var1 % 37L == 0L && 0L != var1) { - var1 /= 37L; - } - - return var1; - } -} +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; +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("bd") +@Implements("MouseHandler") +public class MouseHandler implements MouseListener, MouseMotionListener, FocusListener { + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lbd;" + ) + @Export("MouseHandler_instance") + static MouseHandler MouseHandler_instance; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1294175143 + ) + @Export("MouseHandler_idleCycles") + public static volatile int MouseHandler_idleCycles; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -528827615 + ) + @Export("MouseHandler_currentButtonVolatile") + static volatile int MouseHandler_currentButtonVolatile; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 965678779 + ) + @Export("MouseHandler_xVolatile") + static volatile int MouseHandler_xVolatile; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1390089149 + ) + @Export("MouseHandler_yVolatile") + static volatile int MouseHandler_yVolatile; + @ObfuscatedName("y") + @ObfuscatedGetter( + longValue = -6736454451996007549L + ) + @Export("MouseHandler_millis") + public static long MouseHandler_millis; + @ObfuscatedName("i") + @ObfuscatedGetter( + longValue = -1086707197767215489L + ) + @Export("MouseHandler_lastMovedVolatile") + static volatile long MouseHandler_lastMovedVolatile; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1174248655 + ) + @Export("MouseHandler_currentButton") + public static int MouseHandler_currentButton; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -180428827 + ) + @Export("MouseHandler_x") + public static int MouseHandler_x; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 97221829 + ) + @Export("MouseHandler_y") + public static int MouseHandler_y; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1906360683 + ) + @Export("MouseHandler_lastButtonVolatile") + static volatile int MouseHandler_lastButtonVolatile; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1404319225 + ) + @Export("MouseHandler_lastPressedXVolatile") + static volatile int MouseHandler_lastPressedXVolatile; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 955503415 + ) + @Export("MouseHandler_lastPressedYVolatile") + static volatile int MouseHandler_lastPressedYVolatile; + @ObfuscatedName("t") + @ObfuscatedGetter( + longValue = -1390704279211599925L + ) + @Export("MouseHandler_lastPressedTimeMillisVolatile") + static volatile long MouseHandler_lastPressedTimeMillisVolatile; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1367970229 + ) + @Export("MouseHandler_lastButton") + public static int MouseHandler_lastButton; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 371149673 + ) + @Export("MouseHandler_lastPressedX") + public static int MouseHandler_lastPressedX; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1499115361 + ) + @Export("MouseHandler_lastPressedY") + public static int MouseHandler_lastPressedY; + @ObfuscatedName("s") + @ObfuscatedGetter( + longValue = -6248133867474392459L + ) + @Export("MouseHandler_lastPressedTimeMillis") + public static long MouseHandler_lastPressedTimeMillis; + @ObfuscatedName("ge") + @Export("regions") + static int[] regions; + + static { + MouseHandler_instance = new MouseHandler(); + MouseHandler_idleCycles = 0; + MouseHandler_currentButtonVolatile = 0; + MouseHandler_xVolatile = -1; + MouseHandler_yVolatile = -1; + MouseHandler_lastMovedVolatile = -1L; + MouseHandler_currentButton = 0; + MouseHandler_x = 0; + MouseHandler_y = 0; + MouseHandler_millis = 0L; + MouseHandler_lastButtonVolatile = 0; + MouseHandler_lastPressedXVolatile = 0; + MouseHandler_lastPressedYVolatile = 0; + MouseHandler_lastPressedTimeMillisVolatile = 0L; + MouseHandler_lastButton = 0; + MouseHandler_lastPressedX = 0; + MouseHandler_lastPressedY = 0; + MouseHandler_lastPressedTimeMillis = 0L; + } + + MouseHandler() { + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/awt/event/MouseEvent;I)I", + garbageValue = "1818791609" + ) + @Export("getButton") + final int getButton(MouseEvent var1) { + int var2 = var1.getButton(); + if (!var1.isAltDown() && var2 != 2) { + return !var1.isMetaDown() && var2 != 3 ? 1 : 2; + } else { + return 4; + } + } + + public final synchronized void mouseMoved(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_xVolatile = var1.getX(); + MouseHandler_yVolatile = var1.getY(); + MouseHandler_lastMovedVolatile = var1.getWhen(); + } + + } + + public final synchronized void mouseReleased(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_currentButtonVolatile = 0; + } + + if (var1.isPopupTrigger()) { + var1.consume(); + } + + } + + public final void mouseClicked(MouseEvent var1) { + if (var1.isPopupTrigger()) { + var1.consume(); + } + + } + + public final synchronized void mouseDragged(MouseEvent var1) { + this.mouseMoved(var1); + } + + public final void focusGained(FocusEvent var1) { + } + + public final synchronized void focusLost(FocusEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_currentButtonVolatile = 0; + } + + } + + public final synchronized void mouseEntered(MouseEvent var1) { + this.mouseMoved(var1); + } + + public final synchronized void mouseExited(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_xVolatile = -1; + MouseHandler_yVolatile = -1; + MouseHandler_lastMovedVolatile = var1.getWhen(); + } + + } + + public final synchronized void mousePressed(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_lastPressedXVolatile = var1.getX(); + MouseHandler_lastPressedYVolatile = var1.getY(); + MouseHandler_lastPressedTimeMillisVolatile = class30.method566(); + MouseHandler_lastButtonVolatile = this.getButton(var1); + if (MouseHandler_lastButtonVolatile != 0) { + MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile; + } + } + + if (var1.isPopupTrigger()) { + var1.consume(); + } + + } +} diff --git a/runescape-client/src/main/java/MouseRecorder.java b/runescape-client/src/main/java/MouseRecorder.java index 557586d716..0877f0ae00 100644 --- a/runescape-client/src/main/java/MouseRecorder.java +++ b/runescape-client/src/main/java/MouseRecorder.java @@ -1,111 +1,284 @@ -import java.net.MalformedURLException; -import java.net.URL; -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("bt") -@Implements("MouseRecorder") -public class MouseRecorder implements Runnable { - @ObfuscatedName("n") - @Export("musicTrackBoolean") - public static boolean musicTrackBoolean; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = -2032808157 - ) - static int field565; - @ObfuscatedName("jx") - @ObfuscatedGetter( - intValue = -1873727163 - ) - @Export("plane") - static int plane; - @ObfuscatedName("c") - @Export("isRunning") - boolean isRunning; - @ObfuscatedName("x") - @Export("lock") - Object lock; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 675918873 - ) - @Export("index") - int index; - @ObfuscatedName("g") - @Export("xs") - int[] xs; - @ObfuscatedName("l") - @Export("ys") - int[] ys; - @ObfuscatedName("u") - @Export("millis") - long[] millis; - - MouseRecorder() { - this.isRunning = true; - this.lock = new Object(); - this.index = 0; - this.xs = new int[500]; - this.ys = new int[500]; - this.millis = new long[500]; - } - - public void run() { - for (; this.isRunning; FriendsList.sleepMillis(50L)) { - synchronized(this.lock) { - if (this.index < 500) { - this.xs[this.index] = MouseHandler.MouseHandler_x; - this.ys[this.index] = MouseHandler.MouseHandler_y; - this.millis[this.index] = MouseHandler.MouseHandler_millis; - ++this.index; - } - } - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Z", - garbageValue = "-1211827795" - ) - @Export("isValidURL") - static boolean isValidURL(String var0) { - if (var0 == null) { - return false; - } else { - try { - new URL(var0); - return true; - } catch (MalformedURLException var2) { - return false; - } - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1986117019" - ) - public static void method1139() { - FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); - } - - @ObfuscatedName("fl") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1208312235" - ) - static void method1145() { - PacketBufferNode var0 = MenuAction.getPacketBufferNode(ClientPacket.field2270, Client.packetWriter.isaacCipher); - var0.packetBuffer.writeByte(class43.getWindowedMode()); - var0.packetBuffer.writeShort(GraphicsDefaults.canvasWidth); - var0.packetBuffer.writeShort(GameShell.canvasHeight); - Client.packetWriter.addNode(var0); - } -} +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("bn") +@Implements("MouseRecorder") +public class MouseRecorder implements Runnable { + @ObfuscatedName("qc") + @ObfuscatedGetter( + intValue = -749855997 + ) + static int field572; + @ObfuscatedName("z") + @Export("isRunning") + boolean isRunning; + @ObfuscatedName("n") + @Export("lock") + Object lock; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -395886809 + ) + @Export("index") + int index; + @ObfuscatedName("u") + @Export("xs") + int[] xs; + @ObfuscatedName("r") + @Export("ys") + int[] ys; + @ObfuscatedName("p") + @Export("millis") + long[] millis; + + MouseRecorder() { + this.isRunning = true; + this.lock = new Object(); + this.index = 0; + this.xs = new int[500]; + this.ys = new int[500]; + this.millis = new long[500]; + } + + public void run() { + while (this.isRunning) { + synchronized(this.lock) { + if (this.index < 500) { + this.xs[this.index] = MouseHandler.MouseHandler_x; + this.ys[this.index] = MouseHandler.MouseHandler_y; + this.millis[this.index] = MouseHandler.MouseHandler_millis; + ++this.index; + } + } + + long var4 = 49L; + + try { + Thread.sleep(var4); + } catch (InterruptedException var7) { + } + + try { + Thread.sleep(1L); + } catch (InterruptedException var6) { + } + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;Lhp;Lhp;I)V", + garbageValue = "757656787" + ) + @Export("Widget_setArchives") + public static void Widget_setArchives(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) { + Widget.Widget_archive = var0; + TaskHandler.Widget_modelsArchive = var1; + ClientPreferences.Widget_spritesArchive = var2; + class2.Widget_fontsArchive = var3; + UserComparator5.Widget_interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][]; + ViewportMouse.Widget_loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()]; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;IZI)Z", + garbageValue = "1781175129" + ) + static boolean method1209(CharSequence var0, int var1, boolean var2) { + if (var1 >= 2 && var1 <= 36) { + boolean var3 = false; + boolean var4 = false; + int var5 = 0; + int var6 = var0.length(); + + for (int var7 = 0; var7 < var6; ++var7) { + char var8 = var0.charAt(var7); + if (var7 == 0) { + if (var8 == '-') { + var3 = true; + continue; + } + + if (var8 == '+') { + continue; + } + } + + int var10; + if (var8 >= '0' && var8 <= '9') { + var10 = var8 - '0'; + } else if (var8 >= 'A' && var8 <= 'Z') { + var10 = var8 - '7'; + } else { + if (var8 < 'a' || var8 > 'z') { + return false; + } + + var10 = var8 - 'W'; + } + + if (var10 >= var1) { + return false; + } + + if (var3) { + var10 = -var10; + } + + int var9 = var10 + var5 * var1; + if (var9 / var1 != var5) { + return false; + } + + var5 = var9; + var4 = true; + } + + return var4; + } else { + throw new IllegalArgumentException("" + var1); + } + } + + @ObfuscatedName("ej") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1180818017" + ) + @Export("updateGameState") + static void updateGameState(int var0) { + if (var0 != Client.gameState) { + if (Client.gameState == 0) { + ViewportMouse.client.method1024(); + } + + if (var0 == 20 || var0 == 40 || var0 == 45) { + Client.loginState = 0; + Client.field669 = 0; + Client.field670 = 0; + Client.timer.method4926(var0); + if (var0 != 20) { + PlayerType.method4092(false); + } + } + + if (var0 != 20 && var0 != 40 && class30.field251 != null) { + class30.field251.close(); + class30.field251 = null; + } + + if (Client.gameState == 25) { + Client.field693 = 0; + Client.field689 = 0; + Client.field690 = 1; + Client.field691 = 0; + Client.field692 = 1; + } + + if (var0 != 5 && var0 != 10) { + if (var0 == 20) { + WorldMapSprite.method435(Client.archive10, GrandExchangeOfferAgeComparator.archive8, true, Client.gameState == 11 ? 4 : 0); + } else if (var0 == 11) { + WorldMapSprite.method435(Client.archive10, GrandExchangeOfferAgeComparator.archive8, false, 4); + } else if (Login.field1160) { + class32.titleboxSprite = null; + AbstractRasterProvider.titlebuttonSprite = null; + Login.runesSprite = null; + WorldMapID.leftTitleSprite = null; + class51.rightTitleSprite = null; + FontName.logoSprite = null; + UserComparator7.title_muteSprite = null; + class195.options_buttons_0Sprite = null; + class42.options_buttons_2Sprite = null; + ArchiveLoader.worldSelectBackSprites = null; + Language.worldSelectFlagSprites = null; + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows = null; + Frames.worldSelectStars = null; + Skeleton.field1767 = null; + BufferedSink.loginScreenRunesAnimation.method1817(); + class197.field2386 = 1; + class197.musicTrackArchive = null; + class188.musicTrackGroupId = -1; + class49.musicTrackFileId = -1; + TileItem.field1223 = 0; + WorldMapSectionType.musicTrackBoolean = false; + MusicPatchNode2.field2382 = 2; + DirectByteArrayCopier.method3915(true); + Login.field1160 = false; + } + } else { + WorldMapSprite.method435(Client.archive10, GrandExchangeOfferAgeComparator.archive8, true, 0); + } + + Client.gameState = var0; + } + } + + @ObfuscatedName("fb") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "861469651" + ) + static final void method1213() { + if (Client.logoutTimer > 0) { + DynamicObject.method2219(); + } else { + Client.timer.method4925(); + updateGameState(40); + class30.field251 = Client.packetWriter.getSocket(); + Client.packetWriter.removeSocket(); + } + } + + @ObfuscatedName("jv") + @ObfuscatedSignature( + signature = "([Lho;II)V", + garbageValue = "-1695750792" + ) + @Export("runComponentCloseListeners") + static final void runComponentCloseListeners(Widget[] var0, int var1) { + for (int var2 = 0; var2 < var0.length; ++var2) { + Widget var3 = var0[var2]; + if (var3 != null) { + if (var3.type == 0) { + if (var3.children != null) { + runComponentCloseListeners(var3.children, var1); + } + + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); + if (var4 != null) { + class40.runIntfCloseListeners(var4.group, var1); + } + } + + ScriptEvent var5; + if (var1 == 0 && var3.onDialogAbort != null) { + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onDialogAbort; + ParamDefinition.runScriptEvent(var5); + } + + if (var1 == 1 && var3.onSubChange != null) { + if (var3.childIndex >= 0) { + Widget var6 = Canvas.getWidget(var3.id); + if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { + continue; + } + } + + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onSubChange; + ParamDefinition.runScriptEvent(var5); + } + } + } + + } +} diff --git a/runescape-client/src/main/java/MouseWheel.java b/runescape-client/src/main/java/MouseWheel.java index 12bead018d..48b534aaec 100644 --- a/runescape-client/src/main/java/MouseWheel.java +++ b/runescape-client/src/main/java/MouseWheel.java @@ -1,16 +1,16 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fa") -@Implements("MouseWheel") -public interface MouseWheel { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-495916017" - ) - @Export("useRotation") - int useRotation(); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ft") +@Implements("MouseWheel") +public interface MouseWheel { + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-125" + ) + @Export("useRotation") + int useRotation(); +} diff --git a/runescape-client/src/main/java/MouseWheelHandler.java b/runescape-client/src/main/java/MouseWheelHandler.java index 65803b7075..c78b1baf6a 100644 --- a/runescape-client/src/main/java/MouseWheelHandler.java +++ b/runescape-client/src/main/java/MouseWheelHandler.java @@ -1,59 +1,59 @@ -import java.awt.Component; -import java.awt.event.MouseWheelEvent; -import java.awt.event.MouseWheelListener; -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("aq") -@Implements("MouseWheelHandler") -public final class MouseWheelHandler implements MouseWheel, MouseWheelListener { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1710824769 - ) - @Export("rotation") - int rotation; - - MouseWheelHandler() { - this.rotation = 0; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/awt/Component;I)V", - garbageValue = "-1548191195" - ) - @Export("addTo") - void addTo(Component var1) { - var1.addMouseWheelListener(this); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/awt/Component;I)V", - garbageValue = "1923589438" - ) - @Export("removeFrom") - void removeFrom(Component var1) { - var1.removeMouseWheelListener(this); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-495916017" - ) - @Export("useRotation") - public synchronized int useRotation() { - int var1 = this.rotation; - this.rotation = 0; - return var1; - } - - public synchronized void mouseWheelMoved(MouseWheelEvent var1) { - this.rotation += var1.getWheelRotation(); - } -} +import java.awt.Component; +import java.awt.event.MouseWheelEvent; +import java.awt.event.MouseWheelListener; +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("av") +@Implements("MouseWheelHandler") +public final class MouseWheelHandler implements MouseWheel, MouseWheelListener { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -2136851861 + ) + @Export("rotation") + int rotation; + + MouseWheelHandler() { + this.rotation = 0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;B)V", + garbageValue = "39" + ) + @Export("addTo") + void addTo(Component var1) { + var1.addMouseWheelListener(this); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;I)V", + garbageValue = "-2135806748" + ) + @Export("removeFrom") + void removeFrom(Component var1) { + var1.removeMouseWheelListener(this); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-125" + ) + @Export("useRotation") + public synchronized int useRotation() { + int var1 = this.rotation; + this.rotation = 0; + return var1; + } + + public synchronized void mouseWheelMoved(MouseWheelEvent var1) { + this.rotation += var1.getWheelRotation(); + } +} diff --git a/runescape-client/src/main/java/MusicPatch.java b/runescape-client/src/main/java/MusicPatch.java index 001e97908d..fecf497a96 100644 --- a/runescape-client/src/main/java/MusicPatch.java +++ b/runescape-client/src/main/java/MusicPatch.java @@ -1,542 +1,570 @@ -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("gc") -@Implements("MusicPatch") -public class MusicPatch extends Node { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 653745577 - ) - int field2453; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Lcg;" - ) - @Export("rawSounds") - RawSound[] rawSounds; - @ObfuscatedName("t") - short[] field2450; - @ObfuscatedName("g") - byte[] field2451; - @ObfuscatedName("l") - byte[] field2452; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[Lgg;" - ) - MusicPatchNode2[] field2449; - @ObfuscatedName("j") - byte[] field2454; - @ObfuscatedName("v") - int[] field2455; - - MusicPatch(byte[] var1) { - this.rawSounds = new RawSound[128]; - this.field2450 = new short[128]; - this.field2451 = new byte[128]; - this.field2452 = new byte[128]; - this.field2449 = new MusicPatchNode2[128]; - this.field2454 = new byte[128]; - this.field2455 = new int[128]; - Buffer var2 = new Buffer(var1); - - int var3; - for (var3 = 0; var2.array[var3 + var2.offset] != 0; ++var3) { - } - - byte[] var4 = new byte[var3]; - - int var5; - for (var5 = 0; var5 < var3; ++var5) { - var4[var5] = var2.readByte(); - } - - ++var2.offset; - ++var3; - var5 = var2.offset; - var2.offset += var3; - - int var6; - for (var6 = 0; var2.array[var6 + var2.offset] != 0; ++var6) { - } - - byte[] var7 = new byte[var6]; - - int var8; - for (var8 = 0; var8 < var6; ++var8) { - var7[var8] = var2.readByte(); - } - - ++var2.offset; - ++var6; - var8 = var2.offset; - var2.offset += var6; - - int var9; - for (var9 = 0; var2.array[var9 + var2.offset] != 0; ++var9) { - } - - byte[] var10 = new byte[var9]; - - for (int var11 = 0; var11 < var9; ++var11) { - var10[var11] = var2.readByte(); - } - - ++var2.offset; - ++var9; - byte[] var36 = new byte[var9]; - int var12; - int var14; - if (var9 > 1) { - var36[1] = 1; - int var13 = 1; - var12 = 2; - - for (var14 = 2; var14 < var9; ++var14) { - int var15 = var2.readUnsignedByte(); - if (var15 == 0) { - var13 = var12++; - } else { - if (var15 <= var13) { - --var15; - } - - var13 = var15; - } - - var36[var14] = (byte)var13; - } - } else { - var12 = var9; - } - - MusicPatchNode2[] var37 = new MusicPatchNode2[var12]; - - MusicPatchNode2 var38; - for (var14 = 0; var14 < var37.length; ++var14) { - var38 = var37[var14] = new MusicPatchNode2(); - int var16 = var2.readUnsignedByte(); - if (var16 > 0) { - var38.field2365 = new byte[var16 * 2]; - } - - var16 = var2.readUnsignedByte(); - if (var16 > 0) { - var38.field2361 = new byte[var16 * 2 + 2]; - var38.field2361[1] = 64; - } - } - - var14 = var2.readUnsignedByte(); - byte[] var45 = var14 > 0 ? new byte[var14 * 2] : null; - var14 = var2.readUnsignedByte(); - byte[] var39 = var14 > 0 ? new byte[var14 * 2] : null; - - int var17; - for (var17 = 0; var2.array[var17 + var2.offset] != 0; ++var17) { - } - - byte[] var18 = new byte[var17]; - - int var19; - for (var19 = 0; var19 < var17; ++var19) { - var18[var19] = var2.readByte(); - } - - ++var2.offset; - ++var17; - var19 = 0; - - int var20; - for (var20 = 0; var20 < 128; ++var20) { - var19 += var2.readUnsignedByte(); - this.field2450[var20] = (short)var19; - } - - var19 = 0; - - short[] var48; - for (var20 = 0; var20 < 128; ++var20) { - var19 += var2.readUnsignedByte(); - var48 = this.field2450; - var48[var20] = (short)(var48[var20] + (var19 << 8)); - } - - var20 = 0; - int var21 = 0; - int var22 = 0; - - int var23; - for (var23 = 0; var23 < 128; ++var23) { - if (var20 == 0) { - if (var21 < var18.length) { - var20 = var18[var21++]; - } else { - var20 = -1; - } - - var22 = var2.readVarInt(); - } - - var48 = this.field2450; - var48[var23] = (short)(var48[var23] + ((var22 - 1 & 2) << 14)); - this.field2455[var23] = var22; - --var20; - } - - var20 = 0; - var21 = 0; - var23 = 0; - - int var24; - for (var24 = 0; var24 < 128; ++var24) { - if (this.field2455[var24] != 0) { - if (var20 == 0) { - if (var21 < var4.length) { - var20 = var4[var21++]; - } else { - var20 = -1; - } - - var23 = var2.array[var5++] - 1; - } - - this.field2454[var24] = (byte)var23; - --var20; - } - } - - var20 = 0; - var21 = 0; - var24 = 0; - - for (int var25 = 0; var25 < 128; ++var25) { - if (this.field2455[var25] != 0) { - if (var20 == 0) { - if (var21 < var7.length) { - var20 = var7[var21++]; - } else { - var20 = -1; - } - - var24 = var2.array[var8++] + 16 << 2; - } - - this.field2452[var25] = (byte)var24; - --var20; - } - } - - var20 = 0; - var21 = 0; - MusicPatchNode2 var40 = null; - - int var26; - for (var26 = 0; var26 < 128; ++var26) { - if (this.field2455[var26] != 0) { - if (var20 == 0) { - var40 = var37[var36[var21]]; - if (var21 < var10.length) { - var20 = var10[var21++]; - } else { - var20 = -1; - } - } - - this.field2449[var26] = var40; - --var20; - } - } - - var20 = 0; - var21 = 0; - var26 = 0; - - int var27; - for (var27 = 0; var27 < 128; ++var27) { - if (var20 == 0) { - if (var21 < var18.length) { - var20 = var18[var21++]; - } else { - var20 = -1; - } - - if (this.field2455[var27] > 0) { - var26 = var2.readUnsignedByte() + 1; - } - } - - this.field2451[var27] = (byte)var26; - --var20; - } - - this.field2453 = var2.readUnsignedByte() + 1; - - MusicPatchNode2 var28; - int var29; - for (var27 = 0; var27 < var12; ++var27) { - var28 = var37[var27]; - if (var28.field2365 != null) { - for (var29 = 1; var29 < var28.field2365.length; var29 += 2) { - var28.field2365[var29] = var2.readByte(); - } - } - - if (var28.field2361 != null) { - for (var29 = 3; var29 < var28.field2361.length - 2; var29 += 2) { - var28.field2361[var29] = var2.readByte(); - } - } - } - - if (var45 != null) { - for (var27 = 1; var27 < var45.length; var27 += 2) { - var45[var27] = var2.readByte(); - } - } - - if (var39 != null) { - for (var27 = 1; var27 < var39.length; var27 += 2) { - var39[var27] = var2.readByte(); - } - } - - for (var27 = 0; var27 < var12; ++var27) { - var28 = var37[var27]; - if (var28.field2361 != null) { - var19 = 0; - - for (var29 = 2; var29 < var28.field2361.length; var29 += 2) { - var19 = var19 + 1 + var2.readUnsignedByte(); - var28.field2361[var29] = (byte)var19; - } - } - } - - for (var27 = 0; var27 < var12; ++var27) { - var28 = var37[var27]; - if (var28.field2365 != null) { - var19 = 0; - - for (var29 = 2; var29 < var28.field2365.length; var29 += 2) { - var19 = 1 + var19 + var2.readUnsignedByte(); - var28.field2365[var29] = (byte)var19; - } - } - } - - byte var30; - int var32; - int var33; - int var34; - int var42; - byte var44; - if (var45 != null) { - var19 = var2.readUnsignedByte(); - var45[0] = (byte)var19; - - for (var27 = 2; var27 < var45.length; var27 += 2) { - var19 = 1 + var19 + var2.readUnsignedByte(); - var45[var27] = (byte)var19; - } - - var44 = var45[0]; - byte var41 = var45[1]; - - for (var29 = 0; var29 < var44; ++var29) { - this.field2451[var29] = (byte)(var41 * this.field2451[var29] + 32 >> 6); - } - - for (var29 = 2; var29 < var45.length; var29 += 2) { - var30 = var45[var29]; - byte var31 = var45[var29 + 1]; - var32 = var41 * (var30 - var44) + (var30 - var44) / 2; - - for (var33 = var44; var33 < var30; ++var33) { - var34 = ObjectDefinition.method4644(var32, var30 - var44); - this.field2451[var33] = (byte)(var34 * this.field2451[var33] + 32 >> 6); - var32 += var31 - var41; - } - - var44 = var30; - var41 = var31; - } - - for (var42 = var44; var42 < 128; ++var42) { - this.field2451[var42] = (byte)(var41 * this.field2451[var42] + 32 >> 6); - } - - var38 = null; - } - - if (var39 != null) { - var19 = var2.readUnsignedByte(); - var39[0] = (byte)var19; - - for (var27 = 2; var27 < var39.length; var27 += 2) { - var19 = 1 + var19 + var2.readUnsignedByte(); - var39[var27] = (byte)var19; - } - - var44 = var39[0]; - int var47 = var39[1] << 1; - - for (var29 = 0; var29 < var44; ++var29) { - var42 = var47 + (this.field2452[var29] & 255); - if (var42 < 0) { - var42 = 0; - } - - if (var42 > 128) { - var42 = 128; - } - - this.field2452[var29] = (byte)var42; - } - - int var43; - for (var29 = 2; var29 < var39.length; var29 += 2) { - var30 = var39[var29]; - var43 = var39[var29 + 1] << 1; - var32 = var47 * (var30 - var44) + (var30 - var44) / 2; - - for (var33 = var44; var33 < var30; ++var33) { - var34 = ObjectDefinition.method4644(var32, var30 - var44); - int var35 = var34 + (this.field2452[var33] & 255); - if (var35 < 0) { - var35 = 0; - } - - if (var35 > 128) { - var35 = 128; - } - - this.field2452[var33] = (byte)var35; - var32 += var43 - var47; - } - - var44 = var30; - var47 = var43; - } - - for (var42 = var44; var42 < 128; ++var42) { - var43 = var47 + (this.field2452[var42] & 255); - if (var43 < 0) { - var43 = 0; - } - - if (var43 > 128) { - var43 = 128; - } - - this.field2452[var42] = (byte)var43; - } - - Object var46 = null; - } - - for (var27 = 0; var27 < var12; ++var27) { - var37[var27].field2368 = var2.readUnsignedByte(); - } - - for (var27 = 0; var27 < var12; ++var27) { - var28 = var37[var27]; - if (var28.field2365 != null) { - var28.field2360 = var2.readUnsignedByte(); - } - - if (var28.field2361 != null) { - var28.field2364 = var2.readUnsignedByte(); - } - - if (var28.field2368 > 0) { - var28.field2363 = var2.readUnsignedByte(); - } - } - - for (var27 = 0; var27 < var12; ++var27) { - var37[var27].field2367 = var2.readUnsignedByte(); - } - - for (var27 = 0; var27 < var12; ++var27) { - var28 = var37[var27]; - if (var28.field2367 > 0) { - var28.field2366 = var2.readUnsignedByte(); - } - } - - for (var27 = 0; var27 < var12; ++var27) { - var28 = var37[var27]; - if (var28.field2366 > 0) { - var28.field2370 = var2.readUnsignedByte(); - } - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ldy;[B[IB)Z", - garbageValue = "78" - ) - boolean method3868(SoundCache var1, byte[] var2, int[] var3) { - boolean var4 = true; - int var5 = 0; - RawSound var6 = null; - - for (int var7 = 0; var7 < 128; ++var7) { - if (var2 == null || var2[var7] != 0) { - int var8 = this.field2455[var7]; - if (var8 != 0) { - if (var8 != var5) { - var5 = var8--; - if ((var8 & 1) == 0) { - var6 = var1.getSoundEffect(var8 >> 2, var3); - } else { - var6 = var1.getMusicSample(var8 >> 2, var3); - } - - if (var6 == null) { - var4 = false; - } - } - - if (var6 != null) { - this.rawSounds[var7] = var6; - this.field2455[var7] = 0; - } - } - } - } - - return var4; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "25" - ) - @Export("clear") - void clear() { - this.field2455 = null; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "2016011070" - ) - static int method3877(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var2 == null) { - return -1; - } else { - return var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1; - } - } -} +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("gk") +@Implements("MusicPatch") +public class MusicPatch extends Node { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -779735103 + ) + int field2458; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "[Lch;" + ) + @Export("rawSounds") + RawSound[] rawSounds; + @ObfuscatedName("v") + short[] field2457; + @ObfuscatedName("u") + byte[] field2459; + @ObfuscatedName("r") + byte[] field2456; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "[Lgf;" + ) + MusicPatchNode2[] field2462; + @ObfuscatedName("q") + byte[] field2460; + @ObfuscatedName("m") + int[] field2463; + + MusicPatch(byte[] var1) { + this.rawSounds = new RawSound[128]; + this.field2457 = new short[128]; + this.field2459 = new byte[128]; + this.field2456 = new byte[128]; + this.field2462 = new MusicPatchNode2[128]; + this.field2460 = new byte[128]; + this.field2463 = new int[128]; + Buffer var2 = new Buffer(var1); + + int var3; + for (var3 = 0; var2.array[var3 + var2.offset] != 0; ++var3) { + } + + byte[] var4 = new byte[var3]; + + int var5; + for (var5 = 0; var5 < var3; ++var5) { + var4[var5] = var2.readByte(); + } + + ++var2.offset; + ++var3; + var5 = var2.offset; + var2.offset += var3; + + int var6; + for (var6 = 0; var2.array[var6 + var2.offset] != 0; ++var6) { + } + + byte[] var7 = new byte[var6]; + + int var8; + for (var8 = 0; var8 < var6; ++var8) { + var7[var8] = var2.readByte(); + } + + ++var2.offset; + ++var6; + var8 = var2.offset; + var2.offset += var6; + + int var9; + for (var9 = 0; var2.array[var9 + var2.offset] != 0; ++var9) { + } + + byte[] var10 = new byte[var9]; + + for (int var11 = 0; var11 < var9; ++var11) { + var10[var11] = var2.readByte(); + } + + ++var2.offset; + ++var9; + byte[] var36 = new byte[var9]; + int var12; + int var14; + if (var9 > 1) { + var36[1] = 1; + int var13 = 1; + var12 = 2; + + for (var14 = 2; var14 < var9; ++var14) { + int var15 = var2.readUnsignedByte(); + if (var15 == 0) { + var13 = var12++; + } else { + if (var15 <= var13) { + --var15; + } + + var13 = var15; + } + + var36[var14] = (byte)var13; + } + } else { + var12 = var9; + } + + MusicPatchNode2[] var37 = new MusicPatchNode2[var12]; + + MusicPatchNode2 var38; + for (var14 = 0; var14 < var37.length; ++var14) { + var38 = var37[var14] = new MusicPatchNode2(); + int var16 = var2.readUnsignedByte(); + if (var16 > 0) { + var38.field2376 = new byte[var16 * 2]; + } + + var16 = var2.readUnsignedByte(); + if (var16 > 0) { + var38.field2374 = new byte[var16 * 2 + 2]; + var38.field2374[1] = 64; + } + } + + var14 = var2.readUnsignedByte(); + byte[] var45 = var14 > 0 ? new byte[var14 * 2] : null; + var14 = var2.readUnsignedByte(); + byte[] var39 = var14 > 0 ? new byte[var14 * 2] : null; + + int var17; + for (var17 = 0; var2.array[var17 + var2.offset] != 0; ++var17) { + } + + byte[] var18 = new byte[var17]; + + int var19; + for (var19 = 0; var19 < var17; ++var19) { + var18[var19] = var2.readByte(); + } + + ++var2.offset; + ++var17; + var19 = 0; + + int var20; + for (var20 = 0; var20 < 128; ++var20) { + var19 += var2.readUnsignedByte(); + this.field2457[var20] = (short)var19; + } + + var19 = 0; + + short[] var48; + for (var20 = 0; var20 < 128; ++var20) { + var19 += var2.readUnsignedByte(); + var48 = this.field2457; + var48[var20] = (short)(var48[var20] + (var19 << 8)); + } + + var20 = 0; + int var21 = 0; + int var22 = 0; + + int var23; + for (var23 = 0; var23 < 128; ++var23) { + if (var20 == 0) { + if (var21 < var18.length) { + var20 = var18[var21++]; + } else { + var20 = -1; + } + + var22 = var2.readVarInt(); + } + + var48 = this.field2457; + var48[var23] = (short)(var48[var23] + ((var22 - 1 & 2) << 14)); + this.field2463[var23] = var22; + --var20; + } + + var20 = 0; + var21 = 0; + var23 = 0; + + int var24; + for (var24 = 0; var24 < 128; ++var24) { + if (this.field2463[var24] != 0) { + if (var20 == 0) { + if (var21 < var4.length) { + var20 = var4[var21++]; + } else { + var20 = -1; + } + + var23 = var2.array[var5++] - 1; + } + + this.field2460[var24] = (byte)var23; + --var20; + } + } + + var20 = 0; + var21 = 0; + var24 = 0; + + for (int var25 = 0; var25 < 128; ++var25) { + if (this.field2463[var25] != 0) { + if (var20 == 0) { + if (var21 < var7.length) { + var20 = var7[var21++]; + } else { + var20 = -1; + } + + var24 = var2.array[var8++] + 16 << 2; + } + + this.field2456[var25] = (byte)var24; + --var20; + } + } + + var20 = 0; + var21 = 0; + MusicPatchNode2 var40 = null; + + int var26; + for (var26 = 0; var26 < 128; ++var26) { + if (this.field2463[var26] != 0) { + if (var20 == 0) { + var40 = var37[var36[var21]]; + if (var21 < var10.length) { + var20 = var10[var21++]; + } else { + var20 = -1; + } + } + + this.field2462[var26] = var40; + --var20; + } + } + + var20 = 0; + var21 = 0; + var26 = 0; + + int var27; + for (var27 = 0; var27 < 128; ++var27) { + if (var20 == 0) { + if (var21 < var18.length) { + var20 = var18[var21++]; + } else { + var20 = -1; + } + + if (this.field2463[var27] > 0) { + var26 = var2.readUnsignedByte() + 1; + } + } + + this.field2459[var27] = (byte)var26; + --var20; + } + + this.field2458 = var2.readUnsignedByte() + 1; + + MusicPatchNode2 var28; + int var29; + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2376 != null) { + for (var29 = 1; var29 < var28.field2376.length; var29 += 2) { + var28.field2376[var29] = var2.readByte(); + } + } + + if (var28.field2374 != null) { + for (var29 = 3; var29 < var28.field2374.length - 2; var29 += 2) { + var28.field2374[var29] = var2.readByte(); + } + } + } + + if (var45 != null) { + for (var27 = 1; var27 < var45.length; var27 += 2) { + var45[var27] = var2.readByte(); + } + } + + if (var39 != null) { + for (var27 = 1; var27 < var39.length; var27 += 2) { + var39[var27] = var2.readByte(); + } + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2374 != null) { + var19 = 0; + + for (var29 = 2; var29 < var28.field2374.length; var29 += 2) { + var19 = 1 + var19 + var2.readUnsignedByte(); + var28.field2374[var29] = (byte)var19; + } + } + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2376 != null) { + var19 = 0; + + for (var29 = 2; var29 < var28.field2376.length; var29 += 2) { + var19 = 1 + var19 + var2.readUnsignedByte(); + var28.field2376[var29] = (byte)var19; + } + } + } + + byte var30; + int var32; + int var33; + int var34; + int var42; + byte var44; + if (var45 != null) { + var19 = var2.readUnsignedByte(); + var45[0] = (byte)var19; + + for (var27 = 2; var27 < var45.length; var27 += 2) { + var19 = var19 + 1 + var2.readUnsignedByte(); + var45[var27] = (byte)var19; + } + + var44 = var45[0]; + byte var41 = var45[1]; + + for (var29 = 0; var29 < var44; ++var29) { + this.field2459[var29] = (byte)(var41 * this.field2459[var29] + 32 >> 6); + } + + for (var29 = 2; var29 < var45.length; var29 += 2) { + var30 = var45[var29]; + byte var31 = var45[var29 + 1]; + var32 = var41 * (var30 - var44) + (var30 - var44) / 2; + + for (var33 = var44; var33 < var30; ++var33) { + var34 = World.method1810(var32, var30 - var44); + this.field2459[var33] = (byte)(var34 * this.field2459[var33] + 32 >> 6); + var32 += var31 - var41; + } + + var44 = var30; + var41 = var31; + } + + for (var42 = var44; var42 < 128; ++var42) { + this.field2459[var42] = (byte)(var41 * this.field2459[var42] + 32 >> 6); + } + + var38 = null; + } + + if (var39 != null) { + var19 = var2.readUnsignedByte(); + var39[0] = (byte)var19; + + for (var27 = 2; var27 < var39.length; var27 += 2) { + var19 = var19 + 1 + var2.readUnsignedByte(); + var39[var27] = (byte)var19; + } + + var44 = var39[0]; + int var47 = var39[1] << 1; + + for (var29 = 0; var29 < var44; ++var29) { + var42 = var47 + (this.field2456[var29] & 255); + if (var42 < 0) { + var42 = 0; + } + + if (var42 > 128) { + var42 = 128; + } + + this.field2456[var29] = (byte)var42; + } + + int var43; + for (var29 = 2; var29 < var39.length; var29 += 2) { + var30 = var39[var29]; + var43 = var39[var29 + 1] << 1; + var32 = var47 * (var30 - var44) + (var30 - var44) / 2; + + for (var33 = var44; var33 < var30; ++var33) { + var34 = World.method1810(var32, var30 - var44); + int var35 = var34 + (this.field2456[var33] & 255); + if (var35 < 0) { + var35 = 0; + } + + if (var35 > 128) { + var35 = 128; + } + + this.field2456[var33] = (byte)var35; + var32 += var43 - var47; + } + + var44 = var30; + var47 = var43; + } + + for (var42 = var44; var42 < 128; ++var42) { + var43 = var47 + (this.field2456[var42] & 255); + if (var43 < 0) { + var43 = 0; + } + + if (var43 > 128) { + var43 = 128; + } + + this.field2456[var42] = (byte)var43; + } + + Object var46 = null; + } + + for (var27 = 0; var27 < var12; ++var27) { + var37[var27].field2375 = var2.readUnsignedByte(); + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2376 != null) { + var28.field2373 = var2.readUnsignedByte(); + } + + if (var28.field2374 != null) { + var28.field2377 = var2.readUnsignedByte(); + } + + if (var28.field2375 > 0) { + var28.field2378 = var2.readUnsignedByte(); + } + } + + for (var27 = 0; var27 < var12; ++var27) { + var37[var27].field2380 = var2.readUnsignedByte(); + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2380 > 0) { + var28.field2379 = var2.readUnsignedByte(); + } + } + + for (var27 = 0; var27 < var12; ++var27) { + var28 = var37[var27]; + if (var28.field2379 > 0) { + var28.field2381 = var2.readUnsignedByte(); + } + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ldq;[B[IB)Z", + garbageValue = "43" + ) + boolean method3847(SoundCache var1, byte[] var2, int[] var3) { + boolean var4 = true; + int var5 = 0; + RawSound var6 = null; + + for (int var7 = 0; var7 < 128; ++var7) { + if (var2 == null || var2[var7] != 0) { + int var8 = this.field2463[var7]; + if (var8 != 0) { + if (var5 != var8) { + var5 = var8--; + if ((var8 & 1) == 0) { + var6 = var1.getSoundEffect(var8 >> 2, var3); + } else { + var6 = var1.getMusicSample(var8 >> 2, var3); + } + + if (var6 == null) { + var4 = false; + } + } + + if (var6 != null) { + this.rawSounds[var7] = var6; + this.field2463[var7] = 0; + } + } + } + } + + return var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-38" + ) + @Export("clear") + void clear() { + this.field2463 = null; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "10" + ) + public static void method3859() { + VarpDefinition.VarpDefinition_cached.clear(); + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "([BI)[B", + garbageValue = "-2143377471" + ) + @Export("decompressBytes") + static final byte[] decompressBytes(byte[] var0) { + Buffer var1 = new Buffer(var0); + int var2 = var1.readUnsignedByte(); + int var3 = var1.readInt(); + if (var3 < 0 || AbstractArchive.field3122 != 0 && var3 > AbstractArchive.field3122) { + throw new RuntimeException(); + } else if (var2 == 0) { + byte[] var4 = new byte[var3]; + var1.readBytes(var4, 0, var3); + return var4; + } else { + int var6 = var1.readInt(); + if (var6 < 0 || AbstractArchive.field3122 != 0 && var6 > AbstractArchive.field3122) { + throw new RuntimeException(); + } else { + byte[] var5 = new byte[var6]; + if (var2 == 1) { + BZip2Decompressor.BZip2Decompressor_decompress(var5, var6, var0, var3, 9); + } else { + AbstractArchive.gzipDecompressor.decompress(var1, var5); + } + + return var5; + } + } + } +} diff --git a/runescape-client/src/main/java/MusicPatchNode.java b/runescape-client/src/main/java/MusicPatchNode.java index e498085aec..ff06629f06 100644 --- a/runescape-client/src/main/java/MusicPatchNode.java +++ b/runescape-client/src/main/java/MusicPatchNode.java @@ -1,196 +1,902 @@ -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("gs") -@Implements("MusicPatchNode") -public class MusicPatchNode extends Node { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1620633945 - ) - int field2431; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgc;" - ) - @Export("patch") - MusicPatch patch; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lcg;" - ) - @Export("rawSound") - RawSound rawSound; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgg;" - ) - MusicPatchNode2 field2415; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 360732481 - ) - int field2426; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1173675801 - ) - int field2413; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -51671167 - ) - int field2417; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1916698407 - ) - int field2418; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1571144209 - ) - int field2419; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1866086819 - ) - int field2420; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -994523657 - ) - int field2433; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 47399593 - ) - int field2414; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 86626141 - ) - int field2423; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 707055873 - ) - int field2424; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -497269847 - ) - int field2425; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1087437009 - ) - int field2416; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 830088765 - ) - int field2427; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 819729093 - ) - int field2428; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lda;" - ) - @Export("stream") - RawPcmStream stream; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -2114516523 - ) - int field2430; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -98902085 - ) - int field2422; - - MusicPatchNode() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1763442476" - ) - void method3810() { - this.patch = null; - this.rawSound = null; - this.field2415 = null; - this.stream = null; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "1" - ) - static final int method3811(int var0, int var1) { - int var2 = SoundCache.method2467(var0 + 45365, 91923 + var1, 4) - 128 + (SoundCache.method2467(10294 + var0, 37821 + var1, 2) - 128 >> 1) + (SoundCache.method2467(var0, var1, 1) - 128 >> 2); - var2 = (int)((double)var2 * 0.3D) + 35; - if (var2 < 10) { - var2 = 10; - } else if (var2 > 60) { - var2 = 60; - } - - return var2; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-640083852" - ) - static final int method3812(int var0, int var1) { - if (var0 == -1) { - return 12345678; - } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - } - - @ObfuscatedName("fv") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1280184446" - ) - @Export("setWindowedMode") - static void setWindowedMode(int var0) { - Client.field835 = 0L; - if (var0 >= 2) { - Client.isResizable = true; - } else { - Client.isResizable = false; - } - - if (class43.getWindowedMode() == 1) { - Coord.client.setMaxCanvasSize(765, 503); - } else { - Coord.client.setMaxCanvasSize(7680, 2160); - } - - if (Client.gameState >= 25) { - MouseRecorder.method1145(); - } - - } -} +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("gu") +@Implements("MusicPatchNode") +public class MusicPatchNode extends Node { + @ObfuscatedName("fs") + @ObfuscatedGetter( + intValue = 327716875 + ) + static int field2422; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -517286067 + ) + int field2420; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgk;" + ) + @Export("patch") + MusicPatch patch; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lch;" + ) + @Export("rawSound") + RawSound rawSound; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgf;" + ) + MusicPatchNode2 field2435; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1862096009 + ) + int field2423; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1854182163 + ) + int field2424; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1256664635 + ) + int field2425; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 137135897 + ) + int field2426; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -24850439 + ) + int field2427; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1793031461 + ) + int field2441; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 625260661 + ) + int field2429; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -2120695939 + ) + int field2428; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -641551353 + ) + int field2431; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1163841633 + ) + int field2432; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1406869545 + ) + int field2433; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 641640947 + ) + int field2434; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1726198003 + ) + int field2439; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -417116593 + ) + int field2436; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Ldu;" + ) + @Export("stream") + RawPcmStream stream; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 41547951 + ) + int field2438; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1840443907 + ) + int field2419; + + MusicPatchNode() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "2" + ) + void method3785() { + this.patch = null; + this.rawSound = null; + this.field2435 = null; + this.stream = null; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(CLgt;I)I", + garbageValue = "888672970" + ) + @Export("lowercaseChar") + static int lowercaseChar(char var0, Language var1) { + int var2 = var0 << 4; + if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { + var0 = Character.toLowerCase(var0); + var2 = (var0 << 4) + 1; + } + + if (var0 == 241 && var1 == Language.Language_ES) { + var2 = 1762; + } + + return var2; + } + + @ObfuscatedName("iz") + @ObfuscatedSignature( + signature = "(Lho;III)V", + garbageValue = "1345950027" + ) + static final void method3789(Widget var0, int var1, int var2) { + if (var0.buttonType == 1) { + WorldMapData_1.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); + } + + String var3; + if (var0.buttonType == 2 && !Client.isSpellSelected) { + var3 = VerticalAlignment.method4309(var0); + if (var3 != null) { + WorldMapData_1.insertMenuItemNoShift(var3, World.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); + } + } + + if (var0.buttonType == 3) { + WorldMapData_1.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); + } + + if (var0.buttonType == 4) { + WorldMapData_1.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); + } + + if (var0.buttonType == 5) { + WorldMapData_1.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); + } + + if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) { + WorldMapData_1.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); + } + + int var4; + int var5; + int var19; + if (var0.type == 2) { + var19 = 0; + + for (var4 = 0; var4 < var0.height; ++var4) { + for (var5 = 0; var5 < var0.width; ++var5) { + int var6 = (var0.paddingX + 32) * var5; + int var7 = (var0.paddingY + 32) * var4; + if (var19 < 20) { + var6 += var0.inventoryXOffsets[var19]; + var7 += var0.inventoryYOffsets[var19]; + } + + if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { + Client.dragItemSlotDestination = var19; + DevicePcmPlayerProvider.field391 = var0; + if (var0.itemIds[var19] > 0) { + label331: { + ItemDefinition var8 = Occluder.ItemDefinition_get(var0.itemIds[var19] - 1); + boolean var9; + int var10; + if (Client.isItemSelected == 1) { + var10 = class2.getWidgetClickMask(var0); + var9 = (var10 >> 30 & 1) != 0; + if (var9) { + if (var0.id != class2.selectedItemWidget || var19 != DevicePcmPlayerProvider.selectedItemSlot) { + WorldMapData_1.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + World.colorStartTag(16748608) + var8.name, 31, var8.id, var19, var0.id); + } + break label331; + } + } + + if (Client.isSpellSelected) { + var10 = class2.getWidgetClickMask(var0); + var9 = (var10 >> 30 & 1) != 0; + if (var9) { + if ((ItemContainer.selectedSpellFlags & 16) == 16) { + WorldMapData_1.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + World.colorStartTag(16748608) + var8.name, 32, var8.id, var19, var0.id); + } + break label331; + } + } + + String[] var20 = var8.inventoryActions; + var10 = -1; + if (Client.shiftClickDrop && class14.method174()) { + var10 = var8.getShiftClickIndex(); + } + + int var12 = class2.getWidgetClickMask(var0); + boolean var11 = (var12 >> 30 & 1) != 0; + if (var11) { + for (int var13 = 4; var13 >= 3; --var13) { + if (var13 != var10) { + UrlRequest.addWidgetItemMenuItem(var0, var8, var19, var13, false); + } + } + } + + int var14 = class2.getWidgetClickMask(var0); + boolean var24 = (var14 >> 31 & 1) != 0; + if (var24) { + WorldMapData_1.insertMenuItemNoShift("Use", World.colorStartTag(16748608) + var8.name, 38, var8.id, var19, var0.id); + } + + int var16 = class2.getWidgetClickMask(var0); + boolean var15 = (var16 >> 30 & 1) != 0; + int var17; + if (var15) { + for (var17 = 2; var17 >= 0; --var17) { + if (var10 != var17) { + UrlRequest.addWidgetItemMenuItem(var0, var8, var19, var17, false); + } + } + + if (var10 >= 0) { + UrlRequest.addWidgetItemMenuItem(var0, var8, var19, var10, true); + } + } + + var20 = var0.itemActions; + if (var20 != null) { + for (var17 = 4; var17 >= 0; --var17) { + if (var20[var17] != null) { + byte var18 = 0; + if (var17 == 0) { + var18 = 39; + } + + if (var17 == 1) { + var18 = 40; + } + + if (var17 == 2) { + var18 = 41; + } + + if (var17 == 3) { + var18 = 42; + } + + if (var17 == 4) { + var18 = 43; + } + + WorldMapData_1.insertMenuItemNoShift(var20[var17], World.colorStartTag(16748608) + var8.name, var18, var8.id, var19, var0.id); + } + } + } + + WorldMapData_1.insertMenuItemNoShift("Examine", World.colorStartTag(16748608) + var8.name, 1005, var8.id, var19, var0.id); + } + } + } + + ++var19; + } + } + } + + if (var0.isIf3) { + if (Client.isSpellSelected) { + var4 = class2.getWidgetClickMask(var0); + boolean var25 = (var4 >> 21 & 1) != 0; + if (var25 && (ItemContainer.selectedSpellFlags & 32) == 32) { + WorldMapData_1.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); + } + } else { + for (var19 = 9; var19 >= 5; --var19) { + String var21 = FaceNormal.method3224(var0, var19); + if (var21 != null) { + WorldMapData_1.insertMenuItemNoShift(var21, var0.dataText, 1007, var19 + 1, var0.childIndex, var0.id); + } + } + + var3 = VerticalAlignment.method4309(var0); + if (var3 != null) { + WorldMapData_1.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); + } + + for (var4 = 4; var4 >= 0; --var4) { + String var22 = FaceNormal.method3224(var0, var4); + if (var22 != null) { + AttackOption.insertMenuItem(var22, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field2687); + } + } + + var5 = class2.getWidgetClickMask(var0); + boolean var23 = (var5 & 1) != 0; + if (var23) { + WorldMapData_1.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); + } + } + } + + } + + @ObfuscatedName("ix") + @ObfuscatedSignature( + signature = "([Lho;IIIIIIIB)V", + garbageValue = "-61" + ) + @Export("updateInterface") + static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + for (int var8 = 0; var8 < var0.length; ++var8) { + Widget var9 = var0[var8]; + if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || class2.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { + if (var9.isIf3) { + if (WorldMapSectionType.isComponentHidden(var9)) { + continue; + } + } else if (var9.type == 0 && var9 != NetSocket.mousedOverWidgetIf1 && WorldMapSectionType.isComponentHidden(var9)) { + continue; + } + + int var10 = var9.x + var6; + int var11 = var7 + var9.y; + int var12; + int var13; + int var14; + int var15; + int var17; + int var18; + if (var9.type == 2) { + var12 = var2; + var13 = var3; + var14 = var4; + var15 = var5; + } else { + int var16; + if (var9.type == 9) { + var16 = var10; + var17 = var11; + var18 = var10 + var9.width; + int var19 = var11 + var9.height; + if (var18 < var10) { + var16 = var18; + var18 = var10; + } + + if (var19 < var11) { + var17 = var19; + var19 = var11; + } + + ++var18; + ++var19; + var12 = var16 > var2 ? var16 : var2; + var13 = var17 > var3 ? var17 : var3; + var14 = var18 < var4 ? var18 : var4; + var15 = var19 < var5 ? var19 : var5; + } else { + var16 = var10 + var9.width; + var17 = var11 + var9.height; + var12 = var10 > var2 ? var10 : var2; + var13 = var11 > var3 ? var11 : var3; + var14 = var16 < var4 ? var16 : var4; + var15 = var17 < var5 ? var17 : var5; + } + } + + if (var9 == Client.clickedWidget) { + Client.field817 = true; + Client.field818 = var10; + Client.field819 = var11; + } + + boolean var32 = false; + if (var9.field2619) { + switch(Client.field798) { + case 0: + var32 = true; + case 1: + default: + break; + case 2: + if (Client.field824 == var9.id >>> 16) { + var32 = true; + } + break; + case 3: + if (var9.id == Client.field824) { + var32 = true; + } + } + } + + if (var32 || !var9.isIf3 || var12 < var14 && var13 < var15) { + if (var9.isIf3) { + ScriptEvent var26; + if (var9.noClickThrough) { + if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { + if (var26.isMouseInputEvent) { + var26.remove(); + var26.widget.containsMouse = false; + } + } + + if (ViewportMouse.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + KeyHandler.addCancelMenuEntry(); + } + } + } else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { + if (var26.isMouseInputEvent && var26.widget.onScroll == var26.args) { + var26.remove(); + } + } + } + } + + var17 = MouseHandler.MouseHandler_x; + var18 = MouseHandler.MouseHandler_y; + if (MouseHandler.MouseHandler_lastButton != 0) { + var17 = MouseHandler.MouseHandler_lastPressedX; + var18 = MouseHandler.MouseHandler_lastPressedY; + } + + boolean var33 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15; + if (var9.contentType == 1337) { + if (!Client.isLoading && !Client.isMenuOpen && var33) { + class32.addSceneMenuOptions(var17, var18, var12, var13); + } + } else if (var9.contentType == 1338) { + BufferedSink.checkIfMinimapClicked(var9, var10, var11); + } else { + if (var9.contentType == 1400) { + Tiles.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var33, var10, var11, var9.width, var9.height); + } + + if (!Client.isMenuOpen && var33) { + if (var9.contentType == 1400) { + Tiles.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18); + } else { + method3789(var9, var17 - var10, var18 - var11); + } + } + + boolean var21; + int var23; + if (var32) { + for (int var20 = 0; var20 < var9.field2552.length; ++var20) { + var21 = false; + boolean var22 = false; + if (!var21 && var9.field2552[var20] != null) { + for (var23 = 0; var23 < var9.field2552[var20].length; ++var23) { + boolean var24 = false; + if (var9.field2684 != null) { + var24 = KeyHandler.KeyHandler_pressedKeys[var9.field2552[var20][var23]]; + } + + if (MusicPatchNode2.method3649(var9.field2552[var20][var23]) || var24) { + var21 = true; + if (var9.field2684 != null && var9.field2684[var20] > Client.cycle) { + break; + } + + byte var25 = var9.field2621[var20][var23]; + if (var25 == 0 || ((var25 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var25 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var25 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var25 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) { + var22 = true; + break; + } + } + } + } + + if (var22) { + if (var20 < 10) { + WorldMapSection1.method605(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); + } else if (var20 == 10) { + class208.Widget_runOnTargetLeave(); + class32.selectSpell(var9.id, var9.childIndex, class2.method30(class2.getWidgetClickMask(var9)), var9.itemId); + Client.selectedSpellActionName = VerticalAlignment.method4309(var9); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; + } + + Client.selectedSpellName = var9.dataText + World.colorStartTag(16777215); + } + + var23 = var9.field2586[var20]; + if (var9.field2684 == null) { + var9.field2684 = new int[var9.field2552.length]; + } + + if (var9.field2548 == null) { + var9.field2548 = new int[var9.field2552.length]; + } + + if (var23 != 0) { + if (var9.field2684[var20] == 0) { + var9.field2684[var20] = var23 + Client.cycle + var9.field2548[var20]; + } else { + var9.field2684[var20] = var23 + Client.cycle; + } + } else { + var9.field2684[var20] = Integer.MAX_VALUE; + } + } + + if (!var21 && var9.field2684 != null) { + var9.field2684[var20] = 0; + } + } + } + + if (var9.isIf3) { + if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + var33 = true; + } else { + var33 = false; + } + + boolean var34 = false; + if ((MouseHandler.MouseHandler_currentButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var33) { + var34 = true; + } + + var21 = false; + if ((MouseHandler.MouseHandler_lastButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { + var21 = true; + } + + if (var21) { + class227.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); + } + + if (var9.contentType == 1400) { + Tiles.worldMap.method6422(var17, var18, var33 & var34, var33 & var21); + } + + if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && GrandExchangeOfferTotalQuantityComparator.method93(class2.getWidgetClickMask(var9))) { + Client.draggedOnWidget = var9; + } + + if (var9 == Client.clickedWidgetParent) { + Client.field814 = true; + Client.field695 = var10; + Client.field816 = var11; + } + + if (var9.hasListener) { + ScriptEvent var27; + if (var33 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseY = Client.mouseWheelRotation; + var27.args = var9.onScroll; + Client.scriptEvents.addFirst(var27); + } + + if (Client.clickedWidget != null || Frames.dragInventoryWidget != null || Client.isMenuOpen) { + var21 = false; + var34 = false; + var33 = false; + } + + if (!var9.isClicked && var21) { + var9.isClicked = true; + if (var9.onClick != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; + var27.mouseY = MouseHandler.MouseHandler_lastPressedY - var11; + var27.args = var9.onClick; + Client.scriptEvents.addFirst(var27); + } + } + + if (var9.isClicked && var34 && var9.onClickRepeat != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseX = MouseHandler.MouseHandler_x - var10; + var27.mouseY = MouseHandler.MouseHandler_y - var11; + var27.args = var9.onClickRepeat; + Client.scriptEvents.addFirst(var27); + } + + if (var9.isClicked && !var34) { + var9.isClicked = false; + if (var9.onRelease != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseX = MouseHandler.MouseHandler_x - var10; + var27.mouseY = MouseHandler.MouseHandler_y - var11; + var27.args = var9.onRelease; + Client.field763.addFirst(var27); + } + } + + if (var34 && var9.onHold != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseX = MouseHandler.MouseHandler_x - var10; + var27.mouseY = MouseHandler.MouseHandler_y - var11; + var27.args = var9.onHold; + Client.scriptEvents.addFirst(var27); + } + + if (!var9.containsMouse && var33) { + var9.containsMouse = true; + if (var9.onMouseOver != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseX = MouseHandler.MouseHandler_x - var10; + var27.mouseY = MouseHandler.MouseHandler_y - var11; + var27.args = var9.onMouseOver; + Client.scriptEvents.addFirst(var27); + } + } + + if (var9.containsMouse && var33 && var9.onMouseRepeat != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseX = MouseHandler.MouseHandler_x - var10; + var27.mouseY = MouseHandler.MouseHandler_y - var11; + var27.args = var9.onMouseRepeat; + Client.scriptEvents.addFirst(var27); + } + + if (var9.containsMouse && !var33) { + var9.containsMouse = false; + if (var9.onMouseLeave != null) { + var27 = new ScriptEvent(); + var27.isMouseInputEvent = true; + var27.widget = var9; + var27.mouseX = MouseHandler.MouseHandler_x - var10; + var27.mouseY = MouseHandler.MouseHandler_y - var11; + var27.args = var9.onMouseLeave; + Client.field763.addFirst(var27); + } + } + + if (var9.onTimer != null) { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onTimer; + Client.field836.addFirst(var27); + } + + ScriptEvent var28; + int var35; + int var36; + if (var9.onVarTransmit != null && Client.field823 > var9.field2620) { + if (var9.varTransmitTriggers != null && Client.field823 - var9.field2620 <= 32) { + label876: + for (var35 = var9.field2620; var35 < Client.field823; ++var35) { + var23 = Client.field782[var35 & 31]; + + for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) { + if (var23 == var9.varTransmitTriggers[var36]) { + var28 = new ScriptEvent(); + var28.widget = var9; + var28.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var28); + break label876; + } + } + } + } else { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var27); + } + + var9.field2620 = Client.field823; + } + + if (var9.onInvTransmit != null && Client.field825 > var9.field2680) { + if (var9.invTransmitTriggers != null && Client.field825 - var9.field2680 <= 32) { + label852: + for (var35 = var9.field2680; var35 < Client.field825; ++var35) { + var23 = Client.field820[var35 & 31]; + + for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) { + if (var23 == var9.invTransmitTriggers[var36]) { + var28 = new ScriptEvent(); + var28.widget = var9; + var28.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var28); + break label852; + } + } + } + } else { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var27); + } + + var9.field2680 = Client.field825; + } + + if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field2681) { + if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field2681 <= 32) { + label828: + for (var35 = var9.field2681; var35 < Client.changedSkillsCount; ++var35) { + var23 = Client.changedSkills[var35 & 31]; + + for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) { + if (var23 == var9.statTransmitTriggers[var36]) { + var28 = new ScriptEvent(); + var28.widget = var9; + var28.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var28); + break label828; + } + } + } + } else { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var27); + } + + var9.field2681 = Client.changedSkillsCount; + } + + if (Client.chatCycle > var9.field2558 && var9.onChatTransmit != null) { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onChatTransmit; + Client.scriptEvents.addFirst(var27); + } + + if (Client.field744 > var9.field2558 && var9.onFriendTransmit != null) { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onFriendTransmit; + Client.scriptEvents.addFirst(var27); + } + + if (Client.field830 > var9.field2558 && var9.onClanTransmit != null) { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onClanTransmit; + Client.scriptEvents.addFirst(var27); + } + + if (Client.field831 > var9.field2558 && var9.onStockTransmit != null) { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onStockTransmit; + Client.scriptEvents.addFirst(var27); + } + + if (Client.field832 > var9.field2558 && var9.field2662 != null) { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.field2662; + Client.scriptEvents.addFirst(var27); + } + + if (Client.field833 > var9.field2558 && var9.onMiscTransmit != null) { + var27 = new ScriptEvent(); + var27.widget = var9; + var27.args = var9.onMiscTransmit; + Client.scriptEvents.addFirst(var27); + } + + var9.field2558 = Client.cycleCntr; + if (var9.onKey != null) { + for (var35 = 0; var35 < Client.field857; ++var35) { + ScriptEvent var29 = new ScriptEvent(); + var29.widget = var9; + var29.keyTyped = Client.field859[var35]; + var29.keyPressed = Client.field858[var35]; + var29.args = var9.onKey; + Client.scriptEvents.addFirst(var29); + } + } + } + } + + if (!var9.isIf3) { + if (Client.clickedWidget != null || Frames.dragInventoryWidget != null || Client.isMenuOpen) { + continue; + } + + if ((var9.mouseOverRedirect >= 0 || var9.mouseOverColor != 0) && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + if (var9.mouseOverRedirect >= 0) { + NetSocket.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect]; + } else { + NetSocket.mousedOverWidgetIf1 = var9; + } + } + + if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + Strings.field2767 = var9; + } + + if (var9.scrollHeight > var9.height) { + WorldMapAreaData.method719(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y); + } + } + + if (var9.type == 0) { + updateInterface(var0, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); + if (var9.children != null) { + updateInterface(var9.children, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); + } + + InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var9.id); + if (var30 != null) { + if (var30.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) { + for (ScriptEvent var31 = (ScriptEvent)Client.scriptEvents.last(); var31 != null; var31 = (ScriptEvent)Client.scriptEvents.previous()) { + if (var31.isMouseInputEvent) { + var31.remove(); + var31.widget.containsMouse = false; + } + } + + if (ViewportMouse.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + KeyHandler.addCancelMenuEntry(); + } + } + + AbstractWorldMapData.updateRootInterface(var30.group, var12, var13, var14, var15, var10, var11); + } + } + } + } + } + } + + } +} diff --git a/runescape-client/src/main/java/MusicPatchNode2.java b/runescape-client/src/main/java/MusicPatchNode2.java index b8a3a9fed3..71e4a4d567 100644 --- a/runescape-client/src/main/java/MusicPatchNode2.java +++ b/runescape-client/src/main/java/MusicPatchNode2.java @@ -1,192 +1,96 @@ -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.ScriptOpcodes; - -@ObfuscatedName("gg") -@Implements("MusicPatchNode2") -public class MusicPatchNode2 { - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "Llr;" - ) - static Bounds field2369; - @ObfuscatedName("c") - byte[] field2365; - @ObfuscatedName("x") - byte[] field2361; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 111263501 - ) - int field2368; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 618770801 - ) - int field2360; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 616473833 - ) - int field2364; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -479359019 - ) - int field2363; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1576699207 - ) - int field2366; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -2126224299 - ) - int field2367; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 339059033 - ) - int field2370; - - MusicPatchNode2() { - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(CI)Z", - garbageValue = "-634952153" - ) - @Export("isCharPrintable") - public static boolean isCharPrintable(char var0) { - if (var0 >= ' ' && var0 <= '~') { - return true; - } else if (var0 >= 160 && var0 <= 255) { - return true; - } else { - return var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376; - } - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "-15" - ) - static int method3666(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.OC_NAME) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = Player.ItemDefinition_get(var3).name; - return 1; - } else { - int var4; - ItemDefinition var5; - if (var0 == ScriptOpcodes.OC_OP) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var5 = Player.ItemDefinition_get(var3); - if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_IOP) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var5 = Player.ItemDefinition_get(var3); - if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_COST) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Player.ItemDefinition_get(var3).price; - return 1; - } else if (var0 == ScriptOpcodes.OC_STACKABLE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Player.ItemDefinition_get(var3).isStackable == 1 ? 1 : 0; - return 1; - } else { - ItemDefinition var6; - if (var0 == ScriptOpcodes.OC_CERT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = Player.ItemDefinition_get(var3); - if (var6.noteTemplate == -1 && var6.note >= 0) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6.note; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_UNCERT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = Player.ItemDefinition_get(var3); - if (var6.noteTemplate >= 0 && var6.note >= 0) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6.note; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_MEMBERS) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Player.ItemDefinition_get(var3).isMembersOnly ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = Player.ItemDefinition_get(var3); - if (var6.placeholderTemplate == -1 && var6.placeholder >= 0) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6.placeholder; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = Player.ItemDefinition_get(var3); - if (var6.placeholderTemplate >= 0 && var6.placeholder >= 0) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6.placeholder; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3; - } - - return 1; - } else if (var0 == ScriptOpcodes.OC_FIND) { - String var7 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - KeyHandler.findItemDefinitions(var7, var4 == 1); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GrandExchangeOfferNameComparator.foundItemIdCount; - return 1; - } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { - if (var0 == ScriptOpcodes.OC_FINDRESET) { - ArchiveLoader.foundItemIndex = 0; - return 1; - } else { - return 2; - } - } else { - if (BoundaryObject.foundItemIds != null && ArchiveLoader.foundItemIndex < GrandExchangeOfferNameComparator.foundItemIdCount) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = BoundaryObject.foundItemIds[++ArchiveLoader.foundItemIndex - 1] & '\uffff'; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } - - return 1; - } - } - } - } -} +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("gf") +@Implements("MusicPatchNode2") +public class MusicPatchNode2 { + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1235370225 + ) + public static int field2382; + @ObfuscatedName("z") + byte[] field2376; + @ObfuscatedName("n") + byte[] field2374; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 93349913 + ) + int field2375; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1109994129 + ) + int field2373; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1372771045 + ) + int field2377; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1580268847 + ) + int field2378; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1867393453 + ) + int field2379; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1316855939 + ) + int field2380; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1262915041 + ) + int field2381; + + MusicPatchNode2() { + } + + @ObfuscatedName("fq") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-521075601" + ) + @Export("playSong") + static void playSong(int var0) { + if (var0 == -1 && !Client.field759) { + VertexNormal.method2956(); + } else if (var0 != -1 && var0 != Client.field666 && Client.field761 != 0 && !Client.field759) { + Archive var1 = class225.archive6; + int var2 = Client.field761; + class197.field2386 = 1; + class197.musicTrackArchive = var1; + class188.musicTrackGroupId = var0; + class49.musicTrackFileId = 0; + TileItem.field1223 = var2; + WorldMapSectionType.musicTrackBoolean = false; + field2382 = 2; + } + + Client.field666 = var0; + } + + @ObfuscatedName("ic") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "-93" + ) + static boolean method3649(int var0) { + for (int var1 = 0; var1 < Client.field857; ++var1) { + if (Client.field859[var1] == var0) { + return true; + } + } + + return false; + } +} diff --git a/runescape-client/src/main/java/MusicPatchPcmStream.java b/runescape-client/src/main/java/MusicPatchPcmStream.java index 3f6a9de70e..20d23aa986 100644 --- a/runescape-client/src/main/java/MusicPatchPcmStream.java +++ b/runescape-client/src/main/java/MusicPatchPcmStream.java @@ -1,842 +1,229 @@ -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("gd") -@Implements("MusicPatchPcmStream") -public class MusicPatchPcmStream extends PcmStream { - @ObfuscatedName("gl") - @Export("regionLandArchives") - static byte[][] regionLandArchives; - @ObfuscatedName("ix") - @ObfuscatedGetter( - intValue = 221806607 - ) - @Export("selectedItemWidget") - static int selectedItemWidget; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgt;" - ) - @Export("superStream") - MidiPcmStream superStream; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("queue") - NodeDeque queue; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lcq;" - ) - @Export("mixer") - PcmStreamMixer mixer; - - @ObfuscatedSignature( - signature = "(Lgt;)V" - ) - MusicPatchPcmStream(MidiPcmStream var1) { - this.queue = new NodeDeque(); - this.mixer = new PcmStreamMixer(); - this.superStream = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lgs;[IIIII)V", - garbageValue = "-1588228900" - ) - void method3884(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { - if ((this.superStream.field2395[var1.field2431] & 4) != 0 && var1.field2425 < 0) { - int var6 = this.superStream.field2400[var1.field2431] / GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate; - - while (true) { - int var7 = (var6 + 1048575 - var1.field2422) / var6; - if (var7 > var4) { - var1.field2422 += var6 * var4; - break; - } - - var1.stream.fill(var2, var3, var7); - var3 += var7; - var4 -= var7; - var1.field2422 += var6 * var7 - 1048576; - int var8 = GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate / 100; - int var9 = 262144 / var6; - if (var9 < var8) { - var8 = var9; - } - - RawPcmStream var10 = var1.stream; - if (this.superStream.field2398[var1.field2431] == 0) { - var1.stream = RawPcmStream.method2511(var1.rawSound, var10.method2604(), var10.method2517(), var10.method2518()); - } else { - var1.stream = RawPcmStream.method2511(var1.rawSound, var10.method2604(), 0, var10.method2518()); - this.superStream.method3698(var1, var1.patch.field2450[var1.field2413] < 0); - var1.stream.method2522(var8, var10.method2517()); - } - - if (var1.patch.field2450[var1.field2413] < 0) { - var1.stream.setNumLoops(-1); - } - - var10.method2541(var8); - var10.fill(var2, var3, var5 - var3); - if (var10.method2606()) { - this.mixer.addSubStream(var10); - } - } - } - - var1.stream.fill(var2, var3, var4); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lgs;IS)V", - garbageValue = "-4402" - ) - void method3885(MusicPatchNode var1, int var2) { - if ((this.superStream.field2395[var1.field2431] & 4) != 0 && var1.field2425 < 0) { - int var3 = this.superStream.field2400[var1.field2431] / GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate; - int var4 = (var3 + 1048575 - var1.field2422) / var3; - var1.field2422 = var3 * var2 + var1.field2422 & 1048575; - if (var4 <= var2) { - if (this.superStream.field2398[var1.field2431] == 0) { - var1.stream = RawPcmStream.method2511(var1.rawSound, var1.stream.method2604(), var1.stream.method2517(), var1.stream.method2518()); - } else { - var1.stream = RawPcmStream.method2511(var1.rawSound, var1.stream.method2604(), 0, var1.stream.method2518()); - this.superStream.method3698(var1, var1.patch.field2450[var1.field2413] < 0); - } - - if (var1.patch.field2450[var1.field2413] < 0) { - var1.stream.setNumLoops(-1); - } - - var2 = var1.field2422 / var3; - } - } - - var1.stream.skip(var2); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - MusicPatchNode var1 = (MusicPatchNode)this.queue.last(); - if (var1 == null) { - return null; - } else { - return (PcmStream)(var1.stream != null ? var1.stream : this.nextSubStream()); - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - MusicPatchNode var1; - do { - var1 = (MusicPatchNode)this.queue.previous(); - if (var1 == null) { - return null; - } - } while(var1.stream == null); - - return var1.stream; - } - - @ObfuscatedName("v") - protected int vmethod3881() { - return 0; - } - - @ObfuscatedName("d") - @Export("fill") - protected void fill(int[] var1, int var2, int var3) { - this.mixer.fill(var1, var2, var3); - - for (MusicPatchNode var6 = (MusicPatchNode)this.queue.last(); var6 != null; var6 = (MusicPatchNode)this.queue.previous()) { - if (!this.superStream.method3720(var6)) { - int var4 = var2; - int var5 = var3; - - do { - if (var5 <= var6.field2430) { - this.method3884(var6, var1, var4, var5, var5 + var4); - var6.field2430 -= var5; - break; - } - - this.method3884(var6, var1, var4, var6.field2430, var4 + var5); - var4 += var6.field2430; - var5 -= var6.field2430; - } while(!this.superStream.method3721(var6, var1, var4, var5)); - } - } - - } - - @ObfuscatedName("s") - @Export("skip") - protected void skip(int var1) { - this.mixer.skip(var1); - - for (MusicPatchNode var3 = (MusicPatchNode)this.queue.last(); var3 != null; var3 = (MusicPatchNode)this.queue.previous()) { - if (!this.superStream.method3720(var3)) { - int var2 = var1; - - do { - if (var2 <= var3.field2430) { - this.method3885(var3, var2); - var3.field2430 -= var2; - break; - } - - this.method3885(var3, var3.field2430); - var2 -= var3.field2430; - } while(!this.superStream.method3721(var3, (int[])null, 0, var2)); - } - } - - } - - @ObfuscatedName("ik") - @ObfuscatedSignature( - signature = "([Lhy;IIIIIIIII)V", - garbageValue = "-1121461534" - ) - @Export("drawInterface") - static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - - for (int var9 = 0; var9 < var0.length; ++var9) { - Widget var10 = var0[var9]; - if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) { - int var11; - if (var8 == -1) { - Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6; - Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y; - Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width; - Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height; - var11 = ++Client.rootWidgetCount - 1; - } else { - var11 = var8; - } - - var10.rootIndex = var11; - var10.cycle = Client.cycle; - if (!var10.isIf3 || !NetCache.isComponentHidden(var10)) { - if (var10.contentType > 0) { - class14.method143(var10); - } - - int var12 = var10.x + var6; - int var13 = var7 + var10.y; - int var14 = var10.transparencyTop; - int var15; - int var16; - if (var10 == Client.clickedWidget) { - if (var1 != -1412584499 && !var10.isScrollBar) { - SoundCache.field1410 = var0; - WorldMapSection0.field138 = var6; - GrandExchangeOfferNameComparator.field79 = var7; - continue; - } - - if (Client.isDraggingWidget && Client.field800) { - var15 = MouseHandler.MouseHandler_x; - var16 = MouseHandler.MouseHandler_y; - var15 -= Client.widgetClickX; - var16 -= Client.widgetClickY; - if (var15 < Client.field801) { - var15 = Client.field801; - } - - if (var15 + var10.width > Client.field801 + Client.clickedWidgetParent.width) { - var15 = Client.field801 + Client.clickedWidgetParent.width - var10.width; - } - - if (var16 < Client.field706) { - var16 = Client.field706; - } - - if (var16 + var10.height > Client.field706 + Client.clickedWidgetParent.height) { - var16 = Client.field706 + Client.clickedWidgetParent.height - var10.height; - } - - var12 = var15; - var13 = var16; - } - - if (!var10.isScrollBar) { - var14 = 128; - } - } - - int var17; - int var18; - int var19; - int var20; - int var21; - int var22; - if (var10.type == 2) { - var15 = var2; - var16 = var3; - var17 = var4; - var18 = var5; - } else if (var10.type == 9) { - var19 = var12; - var20 = var13; - var21 = var12 + var10.width; - var22 = var13 + var10.height; - if (var21 < var12) { - var19 = var21; - var21 = var12; - } - - if (var22 < var13) { - var20 = var22; - var22 = var13; - } - - ++var21; - ++var22; - var15 = var19 > var2 ? var19 : var2; - var16 = var20 > var3 ? var20 : var3; - var17 = var21 < var4 ? var21 : var4; - var18 = var22 < var5 ? var22 : var5; - } else { - var19 = var12 + var10.width; - var20 = var13 + var10.height; - var15 = var12 > var2 ? var12 : var2; - var16 = var13 > var3 ? var13 : var3; - var17 = var19 < var4 ? var19 : var4; - var18 = var20 < var5 ? var20 : var5; - } - - if (!var10.isIf3 || var15 < var17 && var16 < var18) { - if (var10.contentType != 0) { - if (var10.contentType == 1336) { - if (Client.displayFps) { - var13 += 15; - class197.fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 16776960, -1); - var13 += 15; - Runtime var42 = Runtime.getRuntime(); - var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L); - var21 = 16776960; - if (var20 > 327680 && !Client.isLowDetail) { - var21 = 16711680; - } - - class197.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); - var13 += 15; - } - continue; - } - - if (var10.contentType == 1337) { - Client.viewportX = var12; - Client.viewportY = var13; - ScriptEvent.drawEntities(var12, var13, var10.width, var10.height); - Client.field827[var10.rootIndex] = true; - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - continue; - } - - if (var10.contentType == 1338) { - class65.drawMinimap(var10, var12, var13, var11); - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - continue; - } - - if (var10.contentType == 1339) { - ScriptEvent.drawCompass(var10, var12, var13, var11); - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - continue; - } - - if (var10.contentType == 1400) { - GrandExchangeOfferUnitPriceComparator.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); - } - - if (var10.contentType == 1401) { - GrandExchangeOfferUnitPriceComparator.worldMap.drawOverview(var12, var13, var10.width, var10.height); - } - - if (var10.contentType == 1402) { - UserComparator5.loginScreenRunesAnimation.draw(var12, Client.cycle); - } - } - - if (var10.type == 0) { - if (!var10.isIf3 && NetCache.isComponentHidden(var10) && var10 != class32.mousedOverWidgetIf1) { - continue; - } - - if (!var10.isIf3) { - if (var10.scrollY > var10.scrollHeight - var10.height) { - var10.scrollY = var10.scrollHeight - var10.height; - } - - if (var10.scrollY < 0) { - var10.scrollY = 0; - } - } - - drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); - if (var10.children != null) { - drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); - } - - InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); - if (var30 != null) { - AbstractWorldMapIcon.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11); - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - } - - if (Client.isResizable || Client.field647[var11] || Client.gameDrawingMode > 1) { - if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { - ServerPacket.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); - } - - if (var10.type != 1) { - int var23; - int var24; - int var25; - int var26; - if (var10.type == 2) { - var19 = 0; - - for (var20 = 0; var20 < var10.rawHeight; ++var20) { - for (var21 = 0; var21 < var10.rawWidth; ++var21) { - var22 = var12 + var21 * (var10.paddingX + 32); - var23 = var13 + var20 * (var10.paddingY + 32); - if (var19 < 20) { - var22 += var10.inventoryXOffsets[var19]; - var23 += var10.inventoryYOffsets[var19]; - } - - if (var10.itemIds[var19] <= 0) { - if (var10.inventorySprites != null && var19 < 20) { - Sprite var45 = var10.getInventorySprite(var19); - if (var45 != null) { - var45.drawTransBgAt(var22, var23); - } else if (Widget.field2668) { - WorldMapID.invalidateWidget(var10); - } - } - } else { - boolean var37 = false; - boolean var38 = false; - var26 = var10.itemIds[var19] - 1; - if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == class4.dragInventoryWidget && var19 == Client.dragItemSlotSource) { - Sprite var27; - if (Client.isItemSelected == 1 && var19 == ModelData0.selectedItemSlot && var10.id == selectedItemWidget) { - var27 = Player.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false); - } else { - var27 = Player.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false); - } - - if (var27 != null) { - if (var10 == class4.dragInventoryWidget && var19 == Client.dragItemSlotSource) { - var24 = MouseHandler.MouseHandler_x - Client.field730; - var25 = MouseHandler.MouseHandler_y - Client.field870; - if (var24 < 5 && var24 > -5) { - var24 = 0; - } - - if (var25 < 5 && var25 > -5) { - var25 = 0; - } - - if (Client.itemDragDuration < 5) { - var24 = 0; - var25 = 0; - } - - var27.drawTransAt(var22 + var24, var25 + var23, 128); - if (var1 != -1) { - Widget var28 = var0[var1 & 65535]; - int var29; - if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) { - var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field683 / 3; - if (var29 > Client.field683 * 10) { - var29 = Client.field683 * 10; - } - - if (var29 > var28.scrollY) { - var29 = var28.scrollY; - } - - var28.scrollY -= var29; - Client.field870 += var29; - WorldMapID.invalidateWidget(var28); - } - - if (var23 + var25 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) { - var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field683 / 3; - if (var29 > Client.field683 * 10) { - var29 = Client.field683 * 10; - } - - if (var29 > var28.scrollHeight - var28.height - var28.scrollY) { - var29 = var28.scrollHeight - var28.height - var28.scrollY; - } - - var28.scrollY += var29; - Client.field870 -= var29; - WorldMapID.invalidateWidget(var28); - } - } - } else if (var10 == Entity.field1835 && var19 == Client.field728) { - var27.drawTransAt(var22, var23, 128); - } else { - var27.drawTransBgAt(var22, var23); - } - } else { - WorldMapID.invalidateWidget(var10); - } - } - } - - ++var19; - } - } - } else if (var10.type == 3) { - if (Tile.runCs1(var10)) { - var19 = var10.color2; - if (var10 == class32.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { - var19 = var10.mouseOverColor2; - } - } else { - var19 = var10.color; - if (var10 == class32.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { - var19 = var10.mouseOverColor; - } - } - - if (var10.fill) { - switch(var10.fillMode.value) { - case 1: - Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2); - break; - case 2: - Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255)); - break; - default: - if (var14 == 0) { - Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19); - } else { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); - } - } - } else if (var14 == 0) { - Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19); - } else { - Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); - } - } else { - Font var39; - if (var10.type == 4) { - var39 = var10.getFont(); - if (var39 == null) { - if (Widget.field2668) { - WorldMapID.invalidateWidget(var10); - } - } else { - String var44 = var10.text; - if (Tile.runCs1(var10)) { - var20 = var10.color2; - if (var10 == class32.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { - var20 = var10.mouseOverColor2; - } - - if (var10.text2.length() > 0) { - var44 = var10.text2; - } - } else { - var20 = var10.color; - if (var10 == class32.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { - var20 = var10.mouseOverColor; - } - } - - if (var10.isIf3 && var10.itemId != -1) { - ItemDefinition var47 = Player.ItemDefinition_get(var10.itemId); - var44 = var47.name; - if (var44 == null) { - var44 = "null"; - } - - if ((var47.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { - var44 = UserComparator7.colorStartTag(16748608) + var44 + "" + " " + 'x' + FriendSystem.formatItemStacks(var10.itemQuantity); - } - } - - if (var10 == Client.meslayerContinueWidget) { - var44 = "Please wait..."; - var20 = var10.color; - } - - if (!var10.isIf3) { - var44 = WorldMapSection1.method551(var44, var10); - } - - var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight); - } - } else if (var10.type == 5) { - Sprite var40; - if (!var10.isIf3) { - var40 = var10.getSprite(Tile.runCs1(var10)); - if (var40 != null) { - var40.drawTransBgAt(var12, var13); - } else if (Widget.field2668) { - WorldMapID.invalidateWidget(var10); - } - } else { - if (var10.itemId != -1) { - var40 = Player.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); - } else { - var40 = var10.getSprite(false); - } - - if (var40 == null) { - if (Widget.field2668) { - WorldMapID.invalidateWidget(var10); - } - } else { - var20 = var40.width; - var21 = var40.height; - if (!var10.spriteTiling) { - var22 = var10.width * 4096 / var20; - if (var10.spriteAngle != 0) { - var40.method6105(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22); - } else if (var14 != 0) { - var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255)); - } else if (var20 == var10.width && var21 == var10.height) { - var40.drawTransBgAt(var12, var13); - } else { - var40.drawScaledAt(var12, var13, var10.width, var10.height); - } - } else { - Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height); - var22 = (var20 - 1 + var10.width) / var20; - var23 = (var21 - 1 + var10.height) / var21; - - for (var24 = 0; var24 < var22; ++var24) { - for (var25 = 0; var25 < var23; ++var25) { - if (var10.spriteAngle != 0) { - var40.method6105(var20 / 2 + var12 + var20 * var24, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096); - } else if (var14 != 0) { - var40.drawTransAt(var12 + var20 * var24, var13 + var21 * var25, 256 - (var14 & 255)); - } else { - var40.drawTransBgAt(var12 + var20 * var24, var13 + var25 * var21); - } - } - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); - } - } - } - } else { - ItemDefinition var32; - if (var10.type == 6) { - boolean var36 = Tile.runCs1(var10); - if (var36) { - var20 = var10.sequenceId2; - } else { - var20 = var10.sequenceId; - } - - Model var41 = null; - var22 = 0; - if (var10.itemId != -1) { - var32 = Player.ItemDefinition_get(var10.itemId); - if (var32 != null) { - var32 = var32.getCountObj(var10.itemQuantity); - var41 = var32.getModel(1); - if (var41 != null) { - var41.calculateBoundsCylinder(); - var22 = var41.height / 2; - } else { - WorldMapID.invalidateWidget(var10); - } - } - } else if (var10.modelType == 5) { - if (var10.modelId == 0) { - var41 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); - } else { - var41 = Varps.localPlayer.getModel(); - } - } else if (var20 == -1) { - var41 = var10.getModel((SequenceDefinition)null, -1, var36, Varps.localPlayer.appearance); - if (var41 == null && Widget.field2668) { - WorldMapID.invalidateWidget(var10); - } - } else { - SequenceDefinition var46 = class83.SequenceDefinition_get(var20); - var41 = var10.getModel(var46, var10.modelFrame, var36, Varps.localPlayer.appearance); - if (var41 == null && Widget.field2668) { - WorldMapID.invalidateWidget(var10); - } - } - - Rasterizer3D.method3033(var10.width / 2 + var12, var10.height / 2 + var13); - var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16; - var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16; - if (var41 != null) { - if (!var10.isIf3) { - var41.method2854(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); - } else { - var41.calculateBoundsCylinder(); - if (var10.modelOrthog) { - var41.method2921(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom); - } else { - var41.method2854(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY); - } - } - } - - Rasterizer3D.Rasterizer3D_method3(); - } else { - if (var10.type == 7) { - var39 = var10.getFont(); - if (var39 == null) { - if (Widget.field2668) { - WorldMapID.invalidateWidget(var10); - } - continue; - } - - var20 = 0; - - for (var21 = 0; var21 < var10.rawHeight; ++var21) { - for (var22 = 0; var22 < var10.rawWidth; ++var22) { - if (var10.itemIds[var20] > 0) { - var32 = Player.ItemDefinition_get(var10.itemIds[var20] - 1); - String var33; - if (var32.isStackable != 1 && var10.itemQuantities[var20] == 1) { - var33 = UserComparator7.colorStartTag(16748608) + var32.name + ""; - } else { - var33 = UserComparator7.colorStartTag(16748608) + var32.name + "" + " " + 'x' + FriendSystem.formatItemStacks(var10.itemQuantities[var20]); - } - - var25 = var12 + var22 * (var10.paddingX + 115); - var26 = var13 + (var10.paddingY + 12) * var21; - if (var10.textXAlignment == 0) { - var39.draw(var33, var25, var26, var10.color, var10.textShadowed ? 0 : -1); - } else if (var10.textXAlignment == 1) { - var39.drawCentered(var33, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1); - } else { - var39.drawRightAligned(var33, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1); - } - } - - ++var20; - } - } - } - - if (var10.type == 8 && var10 == AbstractWorldMapIcon.field292 && Client.field738 == Client.field773) { - var19 = 0; - var20 = 0; - Font var31 = class197.fontPlain12; - String var34 = var10.text; - - String var43; - for (var34 = WorldMapSection1.method551(var34, var10); var34.length() > 0; var20 = var20 + var31.ascent + 1) { - var24 = var34.indexOf("
"); - if (var24 != -1) { - var43 = var34.substring(0, var24); - var34 = var34.substring(var24 + 4); - } else { - var43 = var34; - var34 = ""; - } - - var25 = var31.stringWidth(var43); - if (var25 > var19) { - var19 = var25; - } - } - - var19 += 6; - var20 += 7; - var24 = var12 + var10.width - 5 - var19; - var25 = var13 + var10.height + 5; - if (var24 < var12 + 5) { - var24 = var12 + 5; - } - - if (var19 + var24 > var4) { - var24 = var4 - var19; - } - - if (var20 + var25 > var5) { - var25 = var5 - var20; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120); - Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0); - var34 = var10.text; - var26 = var25 + var31.ascent + 2; - - for (var34 = WorldMapSection1.method551(var34, var10); var34.length() > 0; var26 = var26 + var31.ascent + 1) { - int var35 = var34.indexOf("
"); - if (var35 != -1) { - var43 = var34.substring(0, var35); - var34 = var34.substring(var35 + 4); - } else { - var43 = var34; - var34 = ""; - } - - var31.draw(var43, var24 + 3, var26, 0, -1); - } - } - - if (var10.type == 9) { - if (var10.field2675) { - var19 = var12; - var20 = var13 + var10.height; - var21 = var12 + var10.width; - var22 = var13; - } else { - var19 = var12; - var20 = var13; - var21 = var12 + var10.width; - var22 = var13 + var10.height; - } - - if (var10.lineWid == 1) { - Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color); - } else { - WorldMapIcon_1.method278(var19, var20, var21, var22, var10.color, var10.lineWid); - } - } - } - } - } - } - } - } - } - } - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gp") +@Implements("MusicPatchPcmStream") +public class MusicPatchPcmStream extends PcmStream { + @ObfuscatedName("r") + @Export("SpriteBuffer_yOffsets") + public static int[] SpriteBuffer_yOffsets; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgb;" + ) + @Export("superStream") + MidiPcmStream superStream; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("queue") + NodeDeque queue; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lca;" + ) + @Export("mixer") + PcmStreamMixer mixer; + + @ObfuscatedSignature( + signature = "(Lgb;)V" + ) + MusicPatchPcmStream(MidiPcmStream var1) { + this.queue = new NodeDeque(); + this.mixer = new PcmStreamMixer(); + this.superStream = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lgu;[IIIII)V", + garbageValue = "1901627378" + ) + void method3870(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { + if ((this.superStream.field2404[var1.field2420] & 4) != 0 && var1.field2433 < 0) { + int var6 = this.superStream.field2401[var1.field2420] / UrlRequest.PcmPlayer_sampleRate; + + while (true) { + int var7 = (var6 + 1048575 - var1.field2419) / var6; + if (var7 > var4) { + var1.field2419 += var6 * var4; + break; + } + + var1.stream.fill(var2, var3, var7); + var3 += var7; + var4 -= var7; + var1.field2419 += var7 * var6 - 1048576; + int var8 = UrlRequest.PcmPlayer_sampleRate / 100; + int var9 = 262144 / var6; + if (var9 < var8) { + var8 = var9; + } + + RawPcmStream var10 = var1.stream; + if (this.superStream.field2408[var1.field2420] == 0) { + var1.stream = RawPcmStream.method2544(var1.rawSound, var10.method2527(), var10.method2518(), var10.method2519()); + } else { + var1.stream = RawPcmStream.method2544(var1.rawSound, var10.method2527(), 0, var10.method2519()); + this.superStream.method3673(var1, var1.patch.field2457[var1.field2424] < 0); + var1.stream.method2523(var8, var10.method2518()); + } + + if (var1.patch.field2457[var1.field2424] < 0) { + var1.stream.setNumLoops(-1); + } + + var10.method2525(var8); + var10.fill(var2, var3, var5 - var3); + if (var10.method2529()) { + this.mixer.addSubStream(var10); + } + } + } + + var1.stream.fill(var2, var3, var4); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lgu;IB)V", + garbageValue = "66" + ) + void method3866(MusicPatchNode var1, int var2) { + if ((this.superStream.field2404[var1.field2420] & 4) != 0 && var1.field2433 < 0) { + int var3 = this.superStream.field2401[var1.field2420] / UrlRequest.PcmPlayer_sampleRate; + int var4 = (var3 + 1048575 - var1.field2419) / var3; + var1.field2419 = var3 * var2 + var1.field2419 & 1048575; + if (var4 <= var2) { + if (this.superStream.field2408[var1.field2420] == 0) { + var1.stream = RawPcmStream.method2544(var1.rawSound, var1.stream.method2527(), var1.stream.method2518(), var1.stream.method2519()); + } else { + var1.stream = RawPcmStream.method2544(var1.rawSound, var1.stream.method2527(), 0, var1.stream.method2519()); + this.superStream.method3673(var1, var1.patch.field2457[var1.field2424] < 0); + } + + if (var1.patch.field2457[var1.field2424] < 0) { + var1.stream.setNumLoops(-1); + } + + var2 = var1.field2419 / var3; + } + } + + var1.stream.skip(var2); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("firstSubStream") + protected PcmStream firstSubStream() { + MusicPatchNode var1 = (MusicPatchNode)this.queue.last(); + if (var1 == null) { + return null; + } else { + return (PcmStream)(var1.stream != null ? var1.stream : this.nextSubStream()); + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("nextSubStream") + protected PcmStream nextSubStream() { + MusicPatchNode var1; + do { + var1 = (MusicPatchNode)this.queue.previous(); + if (var1 == null) { + return null; + } + } while(var1.stream == null); + + return var1.stream; + } + + @ObfuscatedName("m") + protected int vmethod3873() { + return 0; + } + + @ObfuscatedName("y") + @Export("fill") + protected void fill(int[] var1, int var2, int var3) { + this.mixer.fill(var1, var2, var3); + + for (MusicPatchNode var6 = (MusicPatchNode)this.queue.last(); var6 != null; var6 = (MusicPatchNode)this.queue.previous()) { + if (!this.superStream.method3695(var6)) { + int var4 = var2; + int var5 = var3; + + do { + if (var5 <= var6.field2438) { + this.method3870(var6, var1, var4, var5, var4 + var5); + var6.field2438 -= var5; + break; + } + + this.method3870(var6, var1, var4, var6.field2438, var4 + var5); + var4 += var6.field2438; + var5 -= var6.field2438; + } while(!this.superStream.method3696(var6, var1, var4, var5)); + } + } + + } + + @ObfuscatedName("c") + @Export("skip") + protected void skip(int var1) { + this.mixer.skip(var1); + + for (MusicPatchNode var3 = (MusicPatchNode)this.queue.last(); var3 != null; var3 = (MusicPatchNode)this.queue.previous()) { + if (!this.superStream.method3695(var3)) { + int var2 = var1; + + do { + if (var2 <= var3.field2438) { + this.method3866(var3, var2); + var3.field2438 -= var2; + break; + } + + this.method3866(var3, var3.field2438); + var2 -= var3.field2438; + } while(!this.superStream.method3696(var3, (int[])null, 0, var2)); + } + } + + } + + @ObfuscatedName("gf") + @ObfuscatedSignature( + signature = "(IIII)I", + garbageValue = "-781967444" + ) + @Export("getTileHeight") + static final int getTileHeight(int var0, int var1, int var2) { + int var3 = var0 >> 7; + int var4 = var1 >> 7; + if (var3 >= 0 && var4 >= 0 && var3 <= 103 && var4 <= 103) { + int var5 = var2; + if (var2 < 3 && (Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { + var5 = var2 + 1; + } + + int var6 = var0 & 127; + int var7 = var1 & 127; + int var8 = (128 - var6) * Tiles.Tiles_heights[var5][var3][var4] + var6 * Tiles.Tiles_heights[var5][var3 + 1][var4] >> 7; + int var9 = var6 * Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] + Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) >> 7; + return var9 * var7 + var8 * (128 - var7) >> 7; + } else { + return 0; + } + } +} diff --git a/runescape-client/src/main/java/MusicTrack.java b/runescape-client/src/main/java/MusicTrack.java index 1d5986291d..1dc1689ed6 100644 --- a/runescape-client/src/main/java/MusicTrack.java +++ b/runescape-client/src/main/java/MusicTrack.java @@ -1,434 +1,434 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gy") -@Implements("MusicTrack") -public class MusicTrack extends Node { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("table") - NodeHashTable table; - @ObfuscatedName("x") - @Export("midi") - byte[] midi; - - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - MusicTrack(Buffer var1) { - var1.offset = var1.array.length - 3; - int var2 = var1.readUnsignedByte(); - int var3 = var1.readUnsignedShort(); - int var4 = var2 * 10 + 14; - var1.offset = 0; - int var5 = 0; - int var6 = 0; - int var7 = 0; - int var8 = 0; - int var9 = 0; - int var10 = 0; - int var11 = 0; - int var12 = 0; - - int var13; - int var14; - int var15; - for (var13 = 0; var13 < var2; ++var13) { - var14 = -1; - - while (true) { - var15 = var1.readUnsignedByte(); - if (var15 != var14) { - ++var4; - } - - var14 = var15 & 15; - if (var15 == 7) { - break; - } - - if (var15 == 23) { - ++var5; - } else if (var14 == 0) { - ++var7; - } else if (var14 == 1) { - ++var8; - } else if (var14 == 2) { - ++var6; - } else if (var14 == 3) { - ++var9; - } else if (var14 == 4) { - ++var10; - } else if (var14 == 5) { - ++var11; - } else { - if (var14 != 6) { - throw new RuntimeException(); - } - - ++var12; - } - } - } - - var4 += var5 * 5; - var4 += (var7 + var8 + var6 + var9 + var11) * 2; - var4 = var4 + var10 + var12; - var13 = var1.offset; - var14 = var2 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + var12; - - for (var15 = 0; var15 < var14; ++var15) { - var1.readVarInt(); - } - - var4 += var1.offset - var13; - var15 = var1.offset; - int var16 = 0; - int var17 = 0; - int var18 = 0; - int var19 = 0; - int var20 = 0; - int var21 = 0; - int var22 = 0; - int var23 = 0; - int var24 = 0; - int var25 = 0; - int var26 = 0; - int var27 = 0; - int var28 = 0; - - int var29; - for (var29 = 0; var29 < var6; ++var29) { - var28 = var28 + var1.readUnsignedByte() & 127; - if (var28 != 0 && var28 != 32) { - if (var28 == 1) { - ++var16; - } else if (var28 == 33) { - ++var17; - } else if (var28 == 7) { - ++var18; - } else if (var28 == 39) { - ++var19; - } else if (var28 == 10) { - ++var20; - } else if (var28 == 42) { - ++var21; - } else if (var28 == 99) { - ++var22; - } else if (var28 == 98) { - ++var23; - } else if (var28 == 101) { - ++var24; - } else if (var28 == 100) { - ++var25; - } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { - ++var27; - } else { - ++var26; - } - } else { - ++var12; - } - } - - var29 = 0; - int var30 = var1.offset; - var1.offset += var26; - int var31 = var1.offset; - var1.offset += var11; - int var32 = var1.offset; - var1.offset += var10; - int var33 = var1.offset; - var1.offset += var9; - int var34 = var1.offset; - var1.offset += var16; - int var35 = var1.offset; - var1.offset += var18; - int var36 = var1.offset; - var1.offset += var20; - int var37 = var1.offset; - var1.offset += var7 + var8 + var11; - int var38 = var1.offset; - var1.offset += var7; - int var39 = var1.offset; - var1.offset += var27; - int var40 = var1.offset; - var1.offset += var8; - int var41 = var1.offset; - var1.offset += var17; - int var42 = var1.offset; - var1.offset += var19; - int var43 = var1.offset; - var1.offset += var21; - int var44 = var1.offset; - var1.offset += var12; - int var45 = var1.offset; - var1.offset += var9; - int var46 = var1.offset; - var1.offset += var22; - int var47 = var1.offset; - var1.offset += var23; - int var48 = var1.offset; - var1.offset += var24; - int var49 = var1.offset; - var1.offset += var25; - int var50 = var1.offset; - var1.offset += var5 * 3; - this.midi = new byte[var4]; - Buffer var51 = new Buffer(this.midi); - var51.writeInt(1297377380); - var51.writeInt(6); - var51.writeShort(var2 > 1 ? 1 : 0); - var51.writeShort(var2); - var51.writeShort(var3); - var1.offset = var13; - int var52 = 0; - int var53 = 0; - int var54 = 0; - int var55 = 0; - int var56 = 0; - int var57 = 0; - int var58 = 0; - int[] var59 = new int[128]; - var28 = 0; - - label230: - for (int var60 = 0; var60 < var2; ++var60) { - var51.writeInt(1297379947); - var51.offset += 4; - int var61 = var51.offset; - int var62 = -1; - - while (true) { - while (true) { - int var63 = var1.readVarInt(); - var51.writeVarInt(var63); - int var64 = var1.array[var29++] & 255; - boolean var65 = var64 != var62; - var62 = var64 & 15; - if (var64 == 7) { - if (var65) { - var51.writeByte(255); - } - - var51.writeByte(47); - var51.writeByte(0); - var51.writeLengthInt(var51.offset - var61); - continue label230; - } - - if (var64 == 23) { - if (var65) { - var51.writeByte(255); - } - - var51.writeByte(81); - var51.writeByte(3); - var51.writeByte(var1.array[var50++]); - var51.writeByte(var1.array[var50++]); - var51.writeByte(var1.array[var50++]); - } else { - var52 ^= var64 >> 4; - if (var62 == 0) { - if (var65) { - var51.writeByte(var52 + 144); - } - - var53 += var1.array[var37++]; - var54 += var1.array[var38++]; - var51.writeByte(var53 & 127); - var51.writeByte(var54 & 127); - } else if (var62 == 1) { - if (var65) { - var51.writeByte(var52 + 128); - } - - var53 += var1.array[var37++]; - var55 += var1.array[var40++]; - var51.writeByte(var53 & 127); - var51.writeByte(var55 & 127); - } else if (var62 == 2) { - if (var65) { - var51.writeByte(var52 + 176); - } - - var28 = var28 + var1.array[var15++] & 127; - var51.writeByte(var28); - byte var66; - if (var28 != 0 && var28 != 32) { - if (var28 == 1) { - var66 = var1.array[var34++]; - } else if (var28 == 33) { - var66 = var1.array[var41++]; - } else if (var28 == 7) { - var66 = var1.array[var35++]; - } else if (var28 == 39) { - var66 = var1.array[var42++]; - } else if (var28 == 10) { - var66 = var1.array[var36++]; - } else if (var28 == 42) { - var66 = var1.array[var43++]; - } else if (var28 == 99) { - var66 = var1.array[var46++]; - } else if (var28 == 98) { - var66 = var1.array[var47++]; - } else if (var28 == 101) { - var66 = var1.array[var48++]; - } else if (var28 == 100) { - var66 = var1.array[var49++]; - } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { - var66 = var1.array[var39++]; - } else { - var66 = var1.array[var30++]; - } - } else { - var66 = var1.array[var44++]; - } - - int var67 = var66 + var59[var28]; - var59[var28] = var67; - var51.writeByte(var67 & 127); - } else if (var62 == 3) { - if (var65) { - var51.writeByte(var52 + 224); - } - - var56 += var1.array[var45++]; - var56 += var1.array[var33++] << 7; - var51.writeByte(var56 & 127); - var51.writeByte(var56 >> 7 & 127); - } else if (var62 == 4) { - if (var65) { - var51.writeByte(var52 + 208); - } - - var57 += var1.array[var32++]; - var51.writeByte(var57 & 127); - } else if (var62 == 5) { - if (var65) { - var51.writeByte(var52 + 160); - } - - var53 += var1.array[var37++]; - var58 += var1.array[var31++]; - var51.writeByte(var53 & 127); - var51.writeByte(var58 & 127); - } else { - if (var62 != 6) { - throw new RuntimeException(); - } - - if (var65) { - var51.writeByte(var52 + 192); - } - - var51.writeByte(var1.array[var44++]); - } - } - } - } - } - - } - - @ObfuscatedName("x") - void method3902() { - if (this.table == null) { - this.table = new NodeHashTable(16); - int[] var1 = new int[16]; - int[] var2 = new int[16]; - var2[9] = 128; - var1[9] = 128; - MidiFileReader var4 = new MidiFileReader(this.midi); - int var5 = var4.trackCount(); - - int var6; - for (var6 = 0; var6 < var5; ++var6) { - var4.gotoTrack(var6); - var4.readTrackLength(var6); - var4.markTrackPosition(var6); - } - - label53: - do { - while (true) { - var6 = var4.getPrioritizedTrack(); - int var7 = var4.trackLengths[var6]; - - while (var7 == var4.trackLengths[var6]) { - var4.gotoTrack(var6); - int var8 = var4.readMessage(var6); - if (var8 == 1) { - var4.setTrackDone(); - var4.markTrackPosition(var6); - continue label53; - } - - int var9 = var8 & 240; - int var10; - int var11; - int var12; - if (var9 == 176) { - var10 = var8 & 15; - var11 = var8 >> 8 & 127; - var12 = var8 >> 16 & 127; - if (var11 == 0) { - var1[var10] = (var12 << 14) + (var1[var10] & -2080769); - } - - if (var11 == 32) { - var1[var10] = (var1[var10] & -16257) + (var12 << 7); - } - } - - if (var9 == 192) { - var10 = var8 & 15; - var11 = var8 >> 8 & 127; - var2[var10] = var11 + var1[var10]; - } - - if (var9 == 144) { - var10 = var8 & 15; - var11 = var8 >> 8 & 127; - var12 = var8 >> 16 & 127; - if (var12 > 0) { - int var13 = var2[var10]; - ByteArrayNode var14 = (ByteArrayNode)this.table.get((long)var13); - if (var14 == null) { - var14 = new ByteArrayNode(new byte[128]); - this.table.put(var14, (long)var13); - } - - var14.byteArray[var11] = 1; - } - } - - var4.readTrackLength(var6); - var4.markTrackPosition(var6); - } - } - } while(!var4.isDone()); - - } - } - - @ObfuscatedName("t") - @Export("clear") - void clear() { - this.table = null; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;II)Lgy;" - ) - @Export("readTrack") - public static MusicTrack readTrack(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); - return var3 == null ? null : new MusicTrack(new Buffer(var3)); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gh") +@Implements("MusicTrack") +public class MusicTrack extends Node { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("table") + NodeHashTable table; + @ObfuscatedName("n") + @Export("midi") + byte[] midi; + + @ObfuscatedSignature( + signature = "(Lkl;)V" + ) + MusicTrack(Buffer var1) { + var1.offset = var1.array.length - 3; + int var2 = var1.readUnsignedByte(); + int var3 = var1.readUnsignedShort(); + int var4 = var2 * 10 + 14; + var1.offset = 0; + int var5 = 0; + int var6 = 0; + int var7 = 0; + int var8 = 0; + int var9 = 0; + int var10 = 0; + int var11 = 0; + int var12 = 0; + + int var13; + int var14; + int var15; + for (var13 = 0; var13 < var2; ++var13) { + var14 = -1; + + while (true) { + var15 = var1.readUnsignedByte(); + if (var15 != var14) { + ++var4; + } + + var14 = var15 & 15; + if (var15 == 7) { + break; + } + + if (var15 == 23) { + ++var5; + } else if (var14 == 0) { + ++var7; + } else if (var14 == 1) { + ++var8; + } else if (var14 == 2) { + ++var6; + } else if (var14 == 3) { + ++var9; + } else if (var14 == 4) { + ++var10; + } else if (var14 == 5) { + ++var11; + } else { + if (var14 != 6) { + throw new RuntimeException(); + } + + ++var12; + } + } + } + + var4 += var5 * 5; + var4 += (var7 + var8 + var6 + var9 + var11) * 2; + var4 = var4 + var10 + var12; + var13 = var1.offset; + var14 = var2 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + var12; + + for (var15 = 0; var15 < var14; ++var15) { + var1.readVarInt(); + } + + var4 += var1.offset - var13; + var15 = var1.offset; + int var16 = 0; + int var17 = 0; + int var18 = 0; + int var19 = 0; + int var20 = 0; + int var21 = 0; + int var22 = 0; + int var23 = 0; + int var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + int var28 = 0; + + int var29; + for (var29 = 0; var29 < var6; ++var29) { + var28 = var28 + var1.readUnsignedByte() & 127; + if (var28 != 0 && var28 != 32) { + if (var28 == 1) { + ++var16; + } else if (var28 == 33) { + ++var17; + } else if (var28 == 7) { + ++var18; + } else if (var28 == 39) { + ++var19; + } else if (var28 == 10) { + ++var20; + } else if (var28 == 42) { + ++var21; + } else if (var28 == 99) { + ++var22; + } else if (var28 == 98) { + ++var23; + } else if (var28 == 101) { + ++var24; + } else if (var28 == 100) { + ++var25; + } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { + ++var27; + } else { + ++var26; + } + } else { + ++var12; + } + } + + var29 = 0; + int var30 = var1.offset; + var1.offset += var26; + int var31 = var1.offset; + var1.offset += var11; + int var32 = var1.offset; + var1.offset += var10; + int var33 = var1.offset; + var1.offset += var9; + int var34 = var1.offset; + var1.offset += var16; + int var35 = var1.offset; + var1.offset += var18; + int var36 = var1.offset; + var1.offset += var20; + int var37 = var1.offset; + var1.offset += var7 + var8 + var11; + int var38 = var1.offset; + var1.offset += var7; + int var39 = var1.offset; + var1.offset += var27; + int var40 = var1.offset; + var1.offset += var8; + int var41 = var1.offset; + var1.offset += var17; + int var42 = var1.offset; + var1.offset += var19; + int var43 = var1.offset; + var1.offset += var21; + int var44 = var1.offset; + var1.offset += var12; + int var45 = var1.offset; + var1.offset += var9; + int var46 = var1.offset; + var1.offset += var22; + int var47 = var1.offset; + var1.offset += var23; + int var48 = var1.offset; + var1.offset += var24; + int var49 = var1.offset; + var1.offset += var25; + int var50 = var1.offset; + var1.offset += var5 * 3; + this.midi = new byte[var4]; + Buffer var51 = new Buffer(this.midi); + var51.writeInt(1297377380); + var51.writeInt(6); + var51.writeShort(var2 > 1 ? 1 : 0); + var51.writeShort(var2); + var51.writeShort(var3); + var1.offset = var13; + int var52 = 0; + int var53 = 0; + int var54 = 0; + int var55 = 0; + int var56 = 0; + int var57 = 0; + int var58 = 0; + int[] var59 = new int[128]; + var28 = 0; + + label221: + for (int var60 = 0; var60 < var2; ++var60) { + var51.writeInt(1297379947); + var51.offset += 4; + int var61 = var51.offset; + int var62 = -1; + + while (true) { + while (true) { + int var63 = var1.readVarInt(); + var51.writeVarInt(var63); + int var64 = var1.array[var29++] & 255; + boolean var65 = var64 != var62; + var62 = var64 & 15; + if (var64 == 7) { + if (var65) { + var51.writeByte(255); + } + + var51.writeByte(47); + var51.writeByte(0); + var51.writeLengthInt(var51.offset - var61); + continue label221; + } + + if (var64 == 23) { + if (var65) { + var51.writeByte(255); + } + + var51.writeByte(81); + var51.writeByte(3); + var51.writeByte(var1.array[var50++]); + var51.writeByte(var1.array[var50++]); + var51.writeByte(var1.array[var50++]); + } else { + var52 ^= var64 >> 4; + if (var62 == 0) { + if (var65) { + var51.writeByte(var52 + 144); + } + + var53 += var1.array[var37++]; + var54 += var1.array[var38++]; + var51.writeByte(var53 & 127); + var51.writeByte(var54 & 127); + } else if (var62 == 1) { + if (var65) { + var51.writeByte(var52 + 128); + } + + var53 += var1.array[var37++]; + var55 += var1.array[var40++]; + var51.writeByte(var53 & 127); + var51.writeByte(var55 & 127); + } else if (var62 == 2) { + if (var65) { + var51.writeByte(var52 + 176); + } + + var28 = var28 + var1.array[var15++] & 127; + var51.writeByte(var28); + byte var66; + if (var28 != 0 && var28 != 32) { + if (var28 == 1) { + var66 = var1.array[var34++]; + } else if (var28 == 33) { + var66 = var1.array[var41++]; + } else if (var28 == 7) { + var66 = var1.array[var35++]; + } else if (var28 == 39) { + var66 = var1.array[var42++]; + } else if (var28 == 10) { + var66 = var1.array[var36++]; + } else if (var28 == 42) { + var66 = var1.array[var43++]; + } else if (var28 == 99) { + var66 = var1.array[var46++]; + } else if (var28 == 98) { + var66 = var1.array[var47++]; + } else if (var28 == 101) { + var66 = var1.array[var48++]; + } else if (var28 == 100) { + var66 = var1.array[var49++]; + } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { + var66 = var1.array[var39++]; + } else { + var66 = var1.array[var30++]; + } + } else { + var66 = var1.array[var44++]; + } + + int var67 = var66 + var59[var28]; + var59[var28] = var67; + var51.writeByte(var67 & 127); + } else if (var62 == 3) { + if (var65) { + var51.writeByte(var52 + 224); + } + + var56 += var1.array[var45++]; + var56 += var1.array[var33++] << 7; + var51.writeByte(var56 & 127); + var51.writeByte(var56 >> 7 & 127); + } else if (var62 == 4) { + if (var65) { + var51.writeByte(var52 + 208); + } + + var57 += var1.array[var32++]; + var51.writeByte(var57 & 127); + } else if (var62 == 5) { + if (var65) { + var51.writeByte(var52 + 160); + } + + var53 += var1.array[var37++]; + var58 += var1.array[var31++]; + var51.writeByte(var53 & 127); + var51.writeByte(var58 & 127); + } else { + if (var62 != 6) { + throw new RuntimeException(); + } + + if (var65) { + var51.writeByte(var52 + 192); + } + + var51.writeByte(var1.array[var44++]); + } + } + } + } + } + + } + + @ObfuscatedName("n") + void method3886() { + if (this.table == null) { + this.table = new NodeHashTable(16); + int[] var1 = new int[16]; + int[] var2 = new int[16]; + var2[9] = 128; + var1[9] = 128; + MidiFileReader var4 = new MidiFileReader(this.midi); + int var5 = var4.trackCount(); + + int var6; + for (var6 = 0; var6 < var5; ++var6) { + var4.gotoTrack(var6); + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } + + label56: + do { + while (true) { + var6 = var4.getPrioritizedTrack(); + int var7 = var4.trackLengths[var6]; + + while (var7 == var4.trackLengths[var6]) { + var4.gotoTrack(var6); + int var8 = var4.readMessage(var6); + if (var8 == 1) { + var4.setTrackDone(); + var4.markTrackPosition(var6); + continue label56; + } + + int var9 = var8 & 240; + int var10; + int var11; + int var12; + if (var9 == 176) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var12 = var8 >> 16 & 127; + if (var11 == 0) { + var1[var10] = (var12 << 14) + (var1[var10] & -2080769); + } + + if (var11 == 32) { + var1[var10] = (var1[var10] & -16257) + (var12 << 7); + } + } + + if (var9 == 192) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var2[var10] = var11 + var1[var10]; + } + + if (var9 == 144) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var12 = var8 >> 16 & 127; + if (var12 > 0) { + int var13 = var2[var10]; + ByteArrayNode var14 = (ByteArrayNode)this.table.get((long)var13); + if (var14 == null) { + var14 = new ByteArrayNode(new byte[128]); + this.table.put(var14, (long)var13); + } + + var14.byteArray[var11] = 1; + } + } + + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } + } + } while(!var4.isDone()); + + } + } + + @ObfuscatedName("v") + @Export("clear") + void clear() { + this.table = null; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;II)Lgh;" + ) + @Export("readTrack") + public static MusicTrack readTrack(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new MusicTrack(new Buffer(var3)); + } +} diff --git a/runescape-client/src/main/java/NPC.java b/runescape-client/src/main/java/NPC.java index 0cf3d44d84..ab848c42d4 100644 --- a/runescape-client/src/main/java/NPC.java +++ b/runescape-client/src/main/java/NPC.java @@ -1,202 +1,187 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ct") -@Implements("NPC") -public final class NPC extends Actor { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lia;" - ) - @Export("definition") - NPCDefinition definition; - - NPC() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IBI)V", - garbageValue = "-267690393" - ) - final void method2010(int var1, byte var2) { - int var3 = super.pathX[0]; - int var4 = super.pathY[0]; - if (var1 == 0) { - --var3; - ++var4; - } - - if (var1 == 1) { - ++var4; - } - - if (var1 == 2) { - ++var3; - ++var4; - } - - if (var1 == 3) { - --var3; - } - - if (var1 == 4) { - ++var3; - } - - if (var1 == 5) { - --var3; - --var4; - } - - if (var1 == 6) { - --var4; - } - - if (var1 == 7) { - ++var3; - --var4; - } - - if (super.sequence != -1 && class83.SequenceDefinition_get(super.sequence).field3501 == 1) { - super.sequence = -1; - } - - if (super.pathLength < 9) { - ++super.pathLength; - } - - for (int var5 = super.pathLength; var5 > 0; --var5) { - super.pathX[var5] = super.pathX[var5 - 1]; - super.pathY[var5] = super.pathY[var5 - 1]; - super.pathTraversed[var5] = super.pathTraversed[var5 - 1]; - } - - super.pathX[0] = var3; - super.pathY[0] = var4; - super.pathTraversed[0] = var2; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIZB)V", - garbageValue = "14" - ) - final void method2011(int var1, int var2, boolean var3) { - if (super.sequence != -1 && class83.SequenceDefinition_get(super.sequence).field3501 == 1) { - super.sequence = -1; - } - - if (!var3) { - int var4 = var1 - super.pathX[0]; - int var5 = var2 - super.pathY[0]; - if (var4 >= -8 && var4 <= 8 && var5 >= -8 && var5 <= 8) { - if (super.pathLength < 9) { - ++super.pathLength; - } - - for (int var6 = super.pathLength; var6 > 0; --var6) { - super.pathX[var6] = super.pathX[var6 - 1]; - super.pathY[var6] = super.pathY[var6 - 1]; - super.pathTraversed[var6] = super.pathTraversed[var6 - 1]; - } - - super.pathX[0] = var1; - super.pathY[0] = var2; - super.pathTraversed[0] = 1; - return; - } - } - - super.pathLength = 0; - super.field969 = 0; - super.field975 = 0; - super.pathX[0] = var1; - super.pathY[0] = var2; - super.x = super.size * -294686528 + super.pathX[0] * -589373056; - super.y = super.size * 64 + super.pathY[0] * 128; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ldr;", - garbageValue = "-35" - ) - @Export("getModel") - protected final Model getModel() { - if (this.definition == null) { - return null; - } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? class83.SequenceDefinition_get(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence != -1 && (super.movementSequence != super.readySequence || var1 == null) ? class83.SequenceDefinition_get(super.movementSequence) : null; - Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); - if (var3 == null) { - return null; - } else { - var3.calculateBoundsCylinder(); - super.defaultHeight = var3.height; - if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { - Model var4 = NetCache.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); - if (var4 != null) { - var4.offsetBy(0, -super.heightOffset, 0); - Model[] var5 = new Model[]{var3, var4}; - var3 = new Model(var5, 2); - } - } - - if (this.definition.size == 1) { - var3.isSingleTile = true; - } - - return var3; - } - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "93" - ) - @Export("isVisible") - final boolean isVisible() { - return this.definition != null; - } - - @ObfuscatedName("gv") - @ObfuscatedSignature( - signature = "(IIIB)V", - garbageValue = "116" - ) - @Export("worldToScreen") - static final void worldToScreen(int var0, int var1, int var2) { - if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { - int var3 = WorldMapAreaData.getTileHeight(var0, var1, MouseRecorder.plane) - var2; - var0 -= ScriptFrame.cameraX; - var3 -= GrandExchangeOfferTotalQuantityComparator.cameraY; - var1 -= class14.cameraZ; - int var4 = Rasterizer3D.Rasterizer3D_sine[class319.cameraPitch]; - int var5 = Rasterizer3D.Rasterizer3D_cosine[class319.cameraPitch]; - int var6 = Rasterizer3D.Rasterizer3D_sine[Tile.cameraYaw]; - int var7 = Rasterizer3D.Rasterizer3D_cosine[Tile.cameraYaw]; - int var8 = var6 * var1 + var0 * var7 >> 16; - var1 = var7 * var1 - var0 * var6 >> 16; - var0 = var8; - var8 = var3 * var5 - var4 * var1 >> 16; - var1 = var5 * var1 + var4 * var3 >> 16; - if (var1 >= 50) { - Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; - Client.viewportTempY = var8 * Client.viewportZoom / var1 + Client.viewportHeight / 2; - } else { - Client.viewportTempX = -1; - Client.viewportTempY = -1; - } - - } else { - Client.viewportTempX = -1; - Client.viewportTempY = -1; - } - } -} +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("ck") +@Implements("NPC") +public final class NPC extends Actor { + @ObfuscatedName("ej") + @ObfuscatedGetter( + intValue = 2095761251 + ) + @Export("port3") + static int port3; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lil;" + ) + @Export("definition") + NPCDefinition definition; + + NPC() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IBB)V", + garbageValue = "-90" + ) + final void method2044(int var1, byte var2) { + int var3 = super.pathX[0]; + int var4 = super.pathY[0]; + if (var1 == 0) { + --var3; + ++var4; + } + + if (var1 == 1) { + ++var4; + } + + if (var1 == 2) { + ++var3; + ++var4; + } + + if (var1 == 3) { + --var3; + } + + if (var1 == 4) { + ++var3; + } + + if (var1 == 5) { + --var3; + --var4; + } + + if (var1 == 6) { + --var4; + } + + if (var1 == 7) { + ++var3; + --var4; + } + + if (super.sequence != -1 && GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(super.sequence).field3510 == 1) { + super.sequence = -1; + } + + if (super.pathLength < 9) { + ++super.pathLength; + } + + for (int var5 = super.pathLength; var5 > 0; --var5) { + super.pathX[var5] = super.pathX[var5 - 1]; + super.pathY[var5] = super.pathY[var5 - 1]; + super.pathTraversed[var5] = super.pathTraversed[var5 - 1]; + } + + super.pathX[0] = var3; + super.pathY[0] = var4; + super.pathTraversed[0] = var2; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIZB)V", + garbageValue = "1" + ) + final void method2038(int var1, int var2, boolean var3) { + if (super.sequence != -1 && GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(super.sequence).field3510 == 1) { + super.sequence = -1; + } + + if (!var3) { + int var4 = var1 - super.pathX[0]; + int var5 = var2 - super.pathY[0]; + if (var4 >= -8 && var4 <= 8 && var5 >= -8 && var5 <= 8) { + if (super.pathLength < 9) { + ++super.pathLength; + } + + for (int var6 = super.pathLength; var6 > 0; --var6) { + super.pathX[var6] = super.pathX[var6 - 1]; + super.pathY[var6] = super.pathY[var6 - 1]; + super.pathTraversed[var6] = super.pathTraversed[var6 - 1]; + } + + super.pathX[0] = var1; + super.pathY[0] = var2; + super.pathTraversed[0] = 1; + return; + } + } + + super.pathLength = 0; + super.field988 = 0; + super.field949 = 0; + super.pathX[0] = var1; + super.pathY[0] = var2; + super.x = super.pathX[0] * 128 + super.field932 * -527978816; + super.y = super.field932 * 1330337984 + super.pathY[0] * -595411840; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ldh;", + garbageValue = "-62237472" + ) + @Export("getModel") + protected final Model getModel() { + if (this.definition == null) { + return null; + } else { + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence != -1 && (super.movementSequence != super.readySequence || var1 == null) ? GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(super.movementSequence) : null; + Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); + if (var3 == null) { + return null; + } else { + var3.calculateBoundsCylinder(); + super.defaultHeight = var3.height; + if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { + Model var4 = InterfaceParent.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); + if (var4 != null) { + var4.offsetBy(0, -super.heightOffset, 0); + Model[] var5 = new Model[]{var3, var4}; + var3 = new Model(var5, 2); + } + } + + if (this.definition.size == 1) { + var3.isSingleTile = true; + } + + return var3; + } + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(S)Z", + garbageValue = "180" + ) + @Export("isVisible") + final boolean isVisible() { + return this.definition != null; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;II)V", + garbageValue = "89732729" + ) + static final void method2046(String var0, int var1) { + PacketBufferNode var2 = InterfaceParent.getPacketBufferNode(ClientPacket.field2254, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var0) + 1); + var2.packetBuffer.writeByte(var1); + var2.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var2); + } +} diff --git a/runescape-client/src/main/java/NPCDefinition.java b/runescape-client/src/main/java/NPCDefinition.java index eee7638180..49ed100656 100644 --- a/runescape-client/src/main/java/NPCDefinition.java +++ b/runescape-client/src/main/java/NPCDefinition.java @@ -1,602 +1,633 @@ -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("ia") -@Implements("NPCDefinition") -public class NPCDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("NpcDefinition_archive") - static AbstractArchive NpcDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("NpcDefinition_modelArchive") - static AbstractArchive NpcDefinition_modelArchive; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("NpcDefinition_cached") - public static EvictingDualNodeHashTable NpcDefinition_cached; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("NpcDefinition_cachedModels") - public static EvictingDualNodeHashTable NpcDefinition_cachedModels; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1179562569 - ) - @Export("id") - public int id; - @ObfuscatedName("u") - @Export("name") - public String name; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1130309811 - ) - @Export("size") - public int size; - @ObfuscatedName("v") - @Export("models") - int[] models; - @ObfuscatedName("d") - int[] field3442; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1926244731 - ) - @Export("readySequence") - public int readySequence; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1860203865 - ) - @Export("turnLeftSequence") - public int turnLeftSequence; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1645839893 - ) - @Export("turnRightSequence") - public int turnRightSequence; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1654352409 - ) - @Export("walkSequence") - public int walkSequence; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -481831155 - ) - @Export("walkBackSequence") - public int walkBackSequence; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1281358171 - ) - @Export("walkLeftSequence") - public int walkLeftSequence; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 635151657 - ) - @Export("walkRightSequence") - public int walkRightSequence; - @ObfuscatedName("i") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("q") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("y") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("r") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("k") - @Export("actions") - public String[] actions; - @ObfuscatedName("w") - @Export("drawMapDot") - public boolean drawMapDot; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1016212355 - ) - @Export("combatLevel") - public int combatLevel; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1692227669 - ) - @Export("widthScale") - int widthScale; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -865473463 - ) - @Export("heightScale") - int heightScale; - @ObfuscatedName("b") - @Export("isVisible") - public boolean isVisible; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 1170326303 - ) - @Export("ambient") - int ambient; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = 1272255561 - ) - @Export("contrast") - int contrast; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -559174833 - ) - @Export("headIconPrayer") - public int headIconPrayer; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -1537984033 - ) - @Export("rotation") - public int rotation; - @ObfuscatedName("an") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = -1455750217 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = -1354222713 - ) - @Export("transformVarp") - int transformVarp; - @ObfuscatedName("ad") - @Export("isInteractable") - public boolean isInteractable; - @ObfuscatedName("ap") - @Export("isClickable") - public boolean isClickable; - @ObfuscatedName("ax") - @Export("isFollower") - public boolean isFollower; - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("params") - IterableNodeHashTable params; - - static { - NpcDefinition_cached = new EvictingDualNodeHashTable(64); - NpcDefinition_cachedModels = new EvictingDualNodeHashTable(50); - } - - NPCDefinition() { - this.name = "null"; - this.size = 1; - this.readySequence = -1; - this.turnLeftSequence = -1; - this.turnRightSequence = -1; - this.walkSequence = -1; - this.walkBackSequence = -1; - this.walkLeftSequence = -1; - this.walkRightSequence = -1; - this.actions = new String[5]; - this.drawMapDot = true; - this.combatLevel = -1; - this.widthScale = 128; - this.heightScale = 128; - this.isVisible = false; - this.ambient = 0; - this.contrast = 0; - this.headIconPrayer = -1; - this.rotation = 32; - this.transformVarbit = -1; - this.transformVarp = -1; - this.isInteractable = true; - this.isClickable = true; - this.isFollower = false; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-772276819" - ) - @Export("postDecode") - void postDecode() { - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;S)V", - garbageValue = "510" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "18" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { - var3 = var1.readUnsignedByte(); - this.models = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.models[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 2) { - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 12) { - this.size = var1.readUnsignedByte(); - } else if (var2 == 13) { - this.readySequence = var1.readUnsignedShort(); - } else if (var2 == 14) { - this.walkSequence = var1.readUnsignedShort(); - } else if (var2 == 15) { - this.turnLeftSequence = var1.readUnsignedShort(); - } else if (var2 == 16) { - this.turnRightSequence = var1.readUnsignedShort(); - } else if (var2 == 17) { - this.walkSequence = var1.readUnsignedShort(); - this.walkBackSequence = var1.readUnsignedShort(); - this.walkLeftSequence = var1.readUnsignedShort(); - this.walkRightSequence = var1.readUnsignedShort(); - } else if (var2 >= 30 && var2 < 35) { - this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); - if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { - this.actions[var2 - 30] = null; - } - } else if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 60) { - var3 = var1.readUnsignedByte(); - this.field3442 = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.field3442[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 93) { - this.drawMapDot = false; - } else if (var2 == 95) { - this.combatLevel = var1.readUnsignedShort(); - } else if (var2 == 97) { - this.widthScale = var1.readUnsignedShort(); - } else if (var2 == 98) { - this.heightScale = var1.readUnsignedShort(); - } else if (var2 == 99) { - this.isVisible = true; - } else if (var2 == 100) { - this.ambient = var1.readByte(); - } else if (var2 == 101) { - this.contrast = var1.readByte(); - } else if (var2 == 102) { - this.headIconPrayer = var1.readUnsignedShort(); - } else if (var2 == 103) { - this.rotation = var1.readUnsignedShort(); - } else if (var2 != 106 && var2 != 118) { - if (var2 == 107) { - this.isInteractable = false; - } else if (var2 == 109) { - this.isClickable = false; - } else if (var2 == 111) { - this.isFollower = true; - } else if (var2 == 249) { - this.params = FloorOverlayDefinition.readStringIntParameters(var1, this.params); - } - } else { - this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { - this.transformVarbit = -1; - } - - this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { - this.transformVarp = -1; - } - - var3 = -1; - if (var2 == 118) { - var3 = var1.readUnsignedShort(); - if (var3 == 65535) { - var3 = -1; - } - } - - var4 = var1.readUnsignedByte(); - this.transforms = new int[var4 + 2]; - - for (int var5 = 0; var5 <= var4; ++var5) { - this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { - this.transforms[var5] = -1; - } - } - - this.transforms[var4 + 1] = var3; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Liw;ILiw;II)Ldr;", - garbageValue = "-248037111" - ) - @Export("getModel") - public final Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { - if (this.transforms != null) { - NPCDefinition var12 = this.transform(); - return var12 == null ? null : var12.getModel(var1, var2, var3, var4); - } else { - Model var5 = (Model)NpcDefinition_cachedModels.get((long)this.id); - if (var5 == null) { - boolean var6 = false; - - for (int var7 = 0; var7 < this.models.length; ++var7) { - if (!NpcDefinition_modelArchive.tryLoadFile(this.models[var7], 0)) { - var6 = true; - } - } - - if (var6) { - return null; - } - - ModelData[] var8 = new ModelData[this.models.length]; - - int var9; - for (var9 = 0; var9 < this.models.length; ++var9) { - var8[var9] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.models[var9], 0); - } - - ModelData var11; - if (var8.length == 1) { - var11 = var8[0]; - } else { - var11 = new ModelData(var8, var8.length); - } - - if (this.recolorFrom != null) { - for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { - var11.recolor(this.recolorFrom[var9], this.recolorTo[var9]); - } - } - - if (this.retextureFrom != null) { - for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { - var11.retexture(this.retextureFrom[var9], this.retextureTo[var9]); - } - } - - var5 = var11.toModel(this.ambient + 64, this.contrast * 5 + 850, -30, -50, -30); - NpcDefinition_cachedModels.put(var5, (long)this.id); - } - - Model var10; - if (var1 != null && var3 != null) { - var10 = var1.applyTransformations(var5, var2, var3, var4); - } else if (var1 != null) { - var10 = var1.transformActorModel(var5, var2); - } else if (var3 != null) { - var10 = var3.transformActorModel(var5, var4); - } else { - var10 = var5.toSharedSequenceModel(true); - } - - if (this.widthScale != 128 || this.heightScale != 128) { - var10.scale(this.widthScale, this.heightScale, this.widthScale); - } - - return var10; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(S)Lds;", - garbageValue = "25216" - ) - @Export("getModelData") - public final ModelData getModelData() { - if (this.transforms != null) { - NPCDefinition var1 = this.transform(); - return var1 == null ? null : var1.getModelData(); - } else if (this.field3442 == null) { - return null; - } else { - boolean var5 = false; - - for (int var2 = 0; var2 < this.field3442.length; ++var2) { - if (!NpcDefinition_modelArchive.tryLoadFile(this.field3442[var2], 0)) { - var5 = true; - } - } - - if (var5) { - return null; - } else { - ModelData[] var6 = new ModelData[this.field3442.length]; - - for (int var3 = 0; var3 < this.field3442.length; ++var3) { - var6[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field3442[var3], 0); - } - - ModelData var7; - if (var6.length == 1) { - var7 = var6[0]; - } else { - var7 = new ModelData(var6, var6.length); - } - - int var4; - if (this.recolorFrom != null) { - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { - var7.recolor(this.recolorFrom[var4], this.recolorTo[var4]); - } - } - - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var7.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } - - return var7; - } - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)Lia;", - garbageValue = "816548420" - ) - @Export("transform") - public final NPCDefinition transform() { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapCacheName.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { - var1 = Varps.Varps_main[this.transformVarp]; - } - - int var2; - if (var1 >= 0 && var1 < this.transforms.length - 1) { - var2 = this.transforms[var1]; - } else { - var2 = this.transforms[this.transforms.length - 1]; - } - - return var2 != -1 ? FontName.getNpcDefinition(var2) : null; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1304116843" - ) - @Export("transformIsVisible") - public boolean transformIsVisible() { - if (this.transforms == null) { - return true; - } else { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapCacheName.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { - var1 = Varps.Varps_main[this.transformVarp]; - } - - if (var1 >= 0 && var1 < this.transforms.length) { - return this.transforms[var1] != -1; - } else { - return this.transforms[this.transforms.length - 1] != -1; - } - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "1" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - return class65.method1177(this.params, var1, var2); - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;B)Ljava/lang/String;", - garbageValue = "88" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; - String var3; - if (var4 == null) { - var3 = var2; - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); - if (var5 == null) { - var3 = var2; - } else { - var3 = (String)var5.obj; - } - } - - return var3; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;B)V", - garbageValue = "0" - ) - public static void method4749(AbstractArchive var0, AbstractArchive var1) { - HealthBarDefinition.HealthBarDefinition_archive = var0; - HealthBarDefinition.HitSplatDefinition_spritesArchive = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-265097719" - ) - public static boolean method4750(int var0) { - return var0 >= WorldMapDecorationType.field2704.id && var0 <= WorldMapDecorationType.field2697.id || var0 == WorldMapDecorationType.field2698.id; - } -} +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("il") +@Implements("NPCDefinition") +public class NPCDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("NpcDefinition_archive") + public static AbstractArchive NpcDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("NpcDefinition_modelArchive") + public static AbstractArchive NpcDefinition_modelArchive; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("NpcDefinition_cached") + public static EvictingDualNodeHashTable NpcDefinition_cached; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("NpcDefinition_cachedModels") + public static EvictingDualNodeHashTable NpcDefinition_cachedModels; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 795033679 + ) + @Export("id") + public int id; + @ObfuscatedName("p") + @Export("name") + public String name; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -441203939 + ) + @Export("size") + public int size; + @ObfuscatedName("m") + @Export("models") + int[] models; + @ObfuscatedName("y") + int[] field3448; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -182220755 + ) + @Export("readySequence") + public int readySequence; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1669190657 + ) + @Export("turnLeftSequence") + public int turnLeftSequence; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -394985883 + ) + @Export("turnRightSequence") + public int turnRightSequence; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 1951589919 + ) + @Export("walkSequence") + public int walkSequence; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1113665339 + ) + @Export("walkBackSequence") + public int walkBackSequence; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1204590857 + ) + @Export("walkLeftSequence") + public int walkLeftSequence; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -2041030831 + ) + @Export("walkRightSequence") + public int walkRightSequence; + @ObfuscatedName("t") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("g") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("x") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("h") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("s") + @Export("actions") + public String[] actions; + @ObfuscatedName("f") + @Export("drawMapDot") + public boolean drawMapDot; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1360683279 + ) + @Export("combatLevel") + public int combatLevel; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 758770497 + ) + @Export("widthScale") + int widthScale; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1757828027 + ) + @Export("heightScale") + int heightScale; + @ObfuscatedName("k") + @Export("isVisible") + public boolean isVisible; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = 1963706097 + ) + @Export("ambient") + int ambient; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -1216133169 + ) + @Export("contrast") + int contrast; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 246799047 + ) + @Export("headIconPrayer") + public int headIconPrayer; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 950956241 + ) + @Export("rotation") + public int rotation; + @ObfuscatedName("ap") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 1759904707 + ) + @Export("transformVarbit") + int transformVarbit; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -313433817 + ) + @Export("transformVarp") + int transformVarp; + @ObfuscatedName("ax") + @Export("isInteractable") + public boolean isInteractable; + @ObfuscatedName("as") + @Export("isClickable") + public boolean isClickable; + @ObfuscatedName("ao") + @Export("isFollower") + public boolean isFollower; + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("params") + IterableNodeHashTable params; + + static { + NpcDefinition_cached = new EvictingDualNodeHashTable(64); + NpcDefinition_cachedModels = new EvictingDualNodeHashTable(50); + } + + NPCDefinition() { + this.name = "null"; + this.size = 1; + this.readySequence = -1; + this.turnLeftSequence = -1; + this.turnRightSequence = -1; + this.walkSequence = -1; + this.walkBackSequence = -1; + this.walkLeftSequence = -1; + this.walkRightSequence = -1; + this.actions = new String[5]; + this.drawMapDot = true; + this.combatLevel = -1; + this.widthScale = 128; + this.heightScale = 128; + this.isVisible = false; + this.ambient = 0; + this.contrast = 0; + this.headIconPrayer = -1; + this.rotation = 32; + this.transformVarbit = -1; + this.transformVarp = -1; + this.isInteractable = true; + this.isClickable = true; + this.isFollower = false; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-117" + ) + @Export("postDecode") + void postDecode() { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-41" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-1943278683" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedByte(); + this.models = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.models[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 2) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 12) { + this.size = var1.readUnsignedByte(); + } else if (var2 == 13) { + this.readySequence = var1.readUnsignedShort(); + } else if (var2 == 14) { + this.walkSequence = var1.readUnsignedShort(); + } else if (var2 == 15) { + this.turnLeftSequence = var1.readUnsignedShort(); + } else if (var2 == 16) { + this.turnRightSequence = var1.readUnsignedShort(); + } else if (var2 == 17) { + this.walkSequence = var1.readUnsignedShort(); + this.walkBackSequence = var1.readUnsignedShort(); + this.walkLeftSequence = var1.readUnsignedShort(); + this.walkRightSequence = var1.readUnsignedShort(); + } else if (var2 >= 30 && var2 < 35) { + this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); + if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { + this.actions[var2 - 30] = null; + } + } else if (var2 == 40) { + var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short)var1.readUnsignedShort(); + this.recolorTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 41) { + var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short)var1.readUnsignedShort(); + this.retextureTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 60) { + var3 = var1.readUnsignedByte(); + this.field3448 = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.field3448[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 93) { + this.drawMapDot = false; + } else if (var2 == 95) { + this.combatLevel = var1.readUnsignedShort(); + } else if (var2 == 97) { + this.widthScale = var1.readUnsignedShort(); + } else if (var2 == 98) { + this.heightScale = var1.readUnsignedShort(); + } else if (var2 == 99) { + this.isVisible = true; + } else if (var2 == 100) { + this.ambient = var1.readByte(); + } else if (var2 == 101) { + this.contrast = var1.readByte(); + } else if (var2 == 102) { + this.headIconPrayer = var1.readUnsignedShort(); + } else if (var2 == 103) { + this.rotation = var1.readUnsignedShort(); + } else if (var2 != 106 && var2 != 118) { + if (var2 == 107) { + this.isInteractable = false; + } else if (var2 == 109) { + this.isClickable = false; + } else if (var2 == 111) { + this.isFollower = true; + } else if (var2 == 249) { + this.params = UserComparator5.readStringIntParameters(var1, this.params); + } + } else { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } + + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } + + var3 = -1; + if (var2 == 118) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } + + var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; + + for (int var5 = 0; var5 <= var4; ++var5) { + this.transforms[var5] = var1.readUnsignedShort(); + if (this.transforms[var5] == 65535) { + this.transforms[var5] = -1; + } + } + + this.transforms[var4 + 1] = var3; + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lix;ILix;IS)Ldh;", + garbageValue = "-24084" + ) + @Export("getModel") + public final Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { + if (this.transforms != null) { + NPCDefinition var12 = this.transform(); + return var12 == null ? null : var12.getModel(var1, var2, var3, var4); + } else { + Model var5 = (Model)NpcDefinition_cachedModels.get((long)this.id); + if (var5 == null) { + boolean var6 = false; + + for (int var7 = 0; var7 < this.models.length; ++var7) { + if (!NpcDefinition_modelArchive.tryLoadFile(this.models[var7], 0)) { + var6 = true; + } + } + + if (var6) { + return null; + } + + ModelData[] var8 = new ModelData[this.models.length]; + + int var9; + for (var9 = 0; var9 < this.models.length; ++var9) { + var8[var9] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.models[var9], 0); + } + + ModelData var11; + if (var8.length == 1) { + var11 = var8[0]; + } else { + var11 = new ModelData(var8, var8.length); + } + + if (this.recolorFrom != null) { + for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { + var11.recolor(this.recolorFrom[var9], this.recolorTo[var9]); + } + } + + if (this.retextureFrom != null) { + for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { + var11.retexture(this.retextureFrom[var9], this.retextureTo[var9]); + } + } + + var5 = var11.toModel(this.ambient + 64, this.contrast * 5 + 850, -30, -50, -30); + NpcDefinition_cachedModels.put(var5, (long)this.id); + } + + Model var10; + if (var1 != null && var3 != null) { + var10 = var1.applyTransformations(var5, var2, var3, var4); + } else if (var1 != null) { + var10 = var1.transformActorModel(var5, var2); + } else if (var3 != null) { + var10 = var3.transformActorModel(var5, var4); + } else { + var10 = var5.toSharedSequenceModel(true); + } + + if (this.widthScale != 128 || this.heightScale != 128) { + var10.scale(this.widthScale, this.heightScale, this.widthScale); + } + + return var10; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)Ldw;", + garbageValue = "58" + ) + @Export("getModelData") + public final ModelData getModelData() { + if (this.transforms != null) { + NPCDefinition var1 = this.transform(); + return var1 == null ? null : var1.getModelData(); + } else if (this.field3448 == null) { + return null; + } else { + boolean var5 = false; + + for (int var2 = 0; var2 < this.field3448.length; ++var2) { + if (!NpcDefinition_modelArchive.tryLoadFile(this.field3448[var2], 0)) { + var5 = true; + } + } + + if (var5) { + return null; + } else { + ModelData[] var6 = new ModelData[this.field3448.length]; + + for (int var3 = 0; var3 < this.field3448.length; ++var3) { + var6[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field3448[var3], 0); + } + + ModelData var7; + if (var6.length == 1) { + var7 = var6[0]; + } else { + var7 = new ModelData(var6, var6.length); + } + + int var4; + if (this.recolorFrom != null) { + for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var7.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } + + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var7.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } + + return var7; + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Lil;", + garbageValue = "1423511184" + ) + @Export("transform") + public final NPCDefinition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = WorldMapSprite.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } + + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } + + return var2 != -1 ? PacketBufferNode.getNpcDefinition(var2) : null; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-43" + ) + @Export("transformIsVisible") + public boolean transformIsVisible() { + if (this.transforms == null) { + return true; + } else { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = WorldMapSprite.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } + + if (var1 >= 0 && var1 < this.transforms.length) { + return this.transforms[var1] != -1; + } else { + return this.transforms[this.transforms.length - 1] != -1; + } + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-1804168798" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + return HealthBar.method2030(this.params, var1, var2); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "-1270482233" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class96.method2259(this.params, var1, var2); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lhp;III)Llf;", + garbageValue = "-1092680498" + ) + @Export("SpriteBuffer_getSprite") + public static Sprite SpriteBuffer_getSprite(AbstractArchive var0, int var1, int var2) { + return !VertexNormal.method2958(var0, var1, var2) ? null : FillMode.method6007(); + } + + @ObfuscatedName("gr") + @ObfuscatedSignature( + signature = "(IIIIIIII)V", + garbageValue = "474931921" + ) + static final void method4665(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var8 = var6 - 334; + if (var8 < 0) { + var8 = 0; + } else if (var8 > 100) { + var8 = 100; + } + + int var9 = (Client.zoomWidth - Client.zoomHeight) * var8 / 100 + Client.zoomHeight; + int var7 = var5 * var9 / 256; + var8 = 2048 - var3 & 2047; + var9 = 2048 - var4 & 2047; + int var10 = 0; + int var11 = 0; + int var12 = var7; + int var13; + int var14; + int var15; + if (var8 != 0) { + var13 = Rasterizer3D.Rasterizer3D_sine[var8]; + var14 = Rasterizer3D.Rasterizer3D_cosine[var8]; + var15 = var11 * var14 - var7 * var13 >> 16; + var12 = var14 * var7 + var13 * var11 >> 16; + var11 = var15; + } + + if (var9 != 0) { + var13 = Rasterizer3D.Rasterizer3D_sine[var9]; + var14 = Rasterizer3D.Rasterizer3D_cosine[var9]; + var15 = var10 * var14 + var13 * var12 >> 16; + var12 = var12 * var14 - var10 * var13 >> 16; + var10 = var15; + } + + GrandExchangeOfferOwnWorldComparator.cameraX = var0 - var10; + Varcs.cameraY = var1 - var11; + WorldMapIcon_1.cameraZ = var2 - var12; + IgnoreList.cameraPitch = var3; + WorldMapSection2.cameraYaw = var4; + if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (ObjectSound.oculusOrbFocalPointX >> 7 != class223.localPlayer.x >> 7 || class14.oculusOrbFocalPointY >> 7 != class223.localPlayer.y * 682054857 >> 7)) { + var13 = class223.localPlayer.plane; + var14 = class223.baseX * 64 + (ObjectSound.oculusOrbFocalPointX >> 7); + var15 = class286.baseY * 64 + (class14.oculusOrbFocalPointY >> 7); + class287.method5205(var14, var15, var13, true); + } + + } +} diff --git a/runescape-client/src/main/java/NanoClock.java b/runescape-client/src/main/java/NanoClock.java index f5cd5bd3a0..485a59cdb3 100644 --- a/runescape-client/src/main/java/NanoClock.java +++ b/runescape-client/src/main/java/NanoClock.java @@ -1,58 +1,80 @@ -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("fz") -@Implements("NanoClock") -public class NanoClock extends Clock { - @ObfuscatedName("c") - @ObfuscatedGetter( - longValue = -2766745709479662017L - ) - @Export("lastTimeNano") - long lastTimeNano; - - NanoClock() { - this.lastTimeNano = System.nanoTime(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-250719361" - ) - @Export("mark") - public void mark() { - this.lastTimeNano = System.nanoTime(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1652957447" - ) - @Export("wait") - public int wait(int var1, int var2) { - long var3 = 1000000L * (long)var2; - long var5 = this.lastTimeNano - System.nanoTime(); - if (var5 < var3) { - var5 = var3; - } - - FriendsList.sleepMillis(var5 / 1000000L); - long var7 = System.nanoTime(); - - int var9; - for (var9 = 0; var9 < 10 && (var9 < 1 || this.lastTimeNano < var7); this.lastTimeNano += 1000000L * (long)var1) { - ++var9; - } - - if (this.lastTimeNano < var7) { - this.lastTimeNano = var7; - } - - return var9; - } -} +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("fq") +@Implements("NanoClock") +public class NanoClock extends Clock { + @ObfuscatedName("z") + @ObfuscatedGetter( + longValue = -5918640064271728259L + ) + @Export("lastTimeNano") + long lastTimeNano; + + NanoClock() { + this.lastTimeNano = System.nanoTime(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-54" + ) + @Export("mark") + public void mark() { + this.lastTimeNano = System.nanoTime(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "569029249" + ) + @Export("wait") + public int wait(int var1, int var2) { + long var3 = (long)var2 * 1000000L; + long var5 = this.lastTimeNano - System.nanoTime(); + if (var5 < var3) { + var5 = var3; + } + + long var7 = var5 / 1000000L; + long var9; + if (var7 > 0L) { + if (var7 % 10L == 0L) { + var9 = var7 - 1L; + + try { + Thread.sleep(var9); + } catch (InterruptedException var16) { + } + + try { + Thread.sleep(1L); + } catch (InterruptedException var15) { + } + } else { + try { + Thread.sleep(var7); + } catch (InterruptedException var14) { + } + } + } + + var9 = System.nanoTime(); + + int var13; + for (var13 = 0; var13 < 10 && (var13 < 1 || this.lastTimeNano < var9); this.lastTimeNano += 1000000L * (long)var1) { + ++var13; + } + + if (this.lastTimeNano < var9) { + this.lastTimeNano = var9; + } + + return var13; + } +} diff --git a/runescape-client/src/main/java/NetCache.java b/runescape-client/src/main/java/NetCache.java index b0fbcf1ed7..08202c0415 100644 --- a/runescape-client/src/main/java/NetCache.java +++ b/runescape-client/src/main/java/NetCache.java @@ -1,177 +1,169 @@ -import java.util.zip.CRC32; -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("in") -@Implements("NetCache") -public class NetCache { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lks;" - ) - @Export("NetCache_socket") - public static AbstractSocket NetCache_socket; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1834591969 - ) - @Export("NetCache_loadTime") - public static int NetCache_loadTime; - @ObfuscatedName("t") - @ObfuscatedGetter( - longValue = -4753750507167035977L - ) - public static long field3145; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("NetCache_pendingPriorityWrites") - public static NodeHashTable NetCache_pendingPriorityWrites; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -433484907 - ) - @Export("NetCache_pendingPriorityWritesCount") - public static int NetCache_pendingPriorityWritesCount; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("NetCache_pendingPriorityResponses") - public static NodeHashTable NetCache_pendingPriorityResponses; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1725604983 - ) - @Export("NetCache_pendingPriorityResponsesCount") - public static int NetCache_pendingPriorityResponsesCount; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lig;" - ) - @Export("NetCache_pendingWritesQueue") - public static DualNodeDeque NetCache_pendingWritesQueue; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("NetCache_pendingWrites") - public static NodeHashTable NetCache_pendingWrites; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 379281979 - ) - @Export("NetCache_pendingWritesCount") - public static int NetCache_pendingWritesCount; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("NetCache_pendingResponses") - public static NodeHashTable NetCache_pendingResponses; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 2084128285 - ) - @Export("NetCache_pendingResponsesCount") - public static int NetCache_pendingResponsesCount; - @ObfuscatedName("f") - static boolean field3156; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lhg;" - ) - @Export("NetCache_currentResponse") - public static NetFileRequest NetCache_currentResponse; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lkz;" - ) - @Export("NetCache_responseHeaderBuffer") - public static Buffer NetCache_responseHeaderBuffer; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1063353551 - ) - public static int field3154; - @ObfuscatedName("y") - @Export("NetCache_crc") - static CRC32 NetCache_crc; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "[Lio;" - ) - @Export("NetCache_archives") - static Archive[] NetCache_archives; - @ObfuscatedName("w") - public static byte field3158; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -660950913 - ) - @Export("NetCache_crcMismatches") - public static int NetCache_crcMismatches; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1715585873 - ) - @Export("NetCache_ioExceptions") - public static int NetCache_ioExceptions; - - static { - NetCache_loadTime = 0; - NetCache_pendingPriorityWrites = new NodeHashTable(4096); - NetCache_pendingPriorityWritesCount = 0; - NetCache_pendingPriorityResponses = new NodeHashTable(32); - NetCache_pendingPriorityResponsesCount = 0; - NetCache_pendingWritesQueue = new DualNodeDeque(); - NetCache_pendingWrites = new NodeHashTable(4096); - NetCache_pendingWritesCount = 0; - NetCache_pendingResponses = new NodeHashTable(4096); - NetCache_pendingResponsesCount = 0; - NetCache_responseHeaderBuffer = new Buffer(8); - field3154 = 0; - NetCache_crc = new CRC32(); - NetCache_archives = new Archive[256]; - field3158 = 0; - NetCache_crcMismatches = 0; - NetCache_ioExceptions = 0; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Lim;", - garbageValue = "-202532712" - ) - @Export("SpotAnimationDefinition_get") - public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { - SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = SpotAnimationDefinition.SpotAnimationDefinition_archive.takeFile(13, var0); - var1 = new SpotAnimationDefinition(); - var1.id = var0; - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("kj") - @ObfuscatedSignature( - signature = "(Lhy;B)Z", - garbageValue = "-91" - ) - @Export("isComponentHidden") - static boolean isComponentHidden(Widget var0) { - return var0.isHidden; - } -} +import java.util.zip.CRC32; +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("io") +@Implements("NetCache") +public class NetCache { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lky;" + ) + @Export("NetCache_socket") + static AbstractSocket NetCache_socket; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -76407529 + ) + @Export("NetCache_loadTime") + static int NetCache_loadTime; + @ObfuscatedName("v") + @ObfuscatedGetter( + longValue = -6661371924416565423L + ) + static long field3142; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("NetCache_pendingPriorityWrites") + static NodeHashTable NetCache_pendingPriorityWrites; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 2004934077 + ) + @Export("NetCache_pendingPriorityWritesCount") + static int NetCache_pendingPriorityWritesCount; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("NetCache_pendingPriorityResponses") + static NodeHashTable NetCache_pendingPriorityResponses; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1183889597 + ) + @Export("NetCache_pendingPriorityResponsesCount") + static int NetCache_pendingPriorityResponsesCount; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lic;" + ) + @Export("NetCache_pendingWritesQueue") + static DualNodeDeque NetCache_pendingWritesQueue; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("NetCache_pendingWrites") + static NodeHashTable NetCache_pendingWrites; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 809384467 + ) + @Export("NetCache_pendingWritesCount") + static int NetCache_pendingWritesCount; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("NetCache_pendingResponses") + static NodeHashTable NetCache_pendingResponses; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1880332209 + ) + @Export("NetCache_pendingResponsesCount") + static int NetCache_pendingResponsesCount; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lkl;" + ) + @Export("NetCache_responseHeaderBuffer") + static Buffer NetCache_responseHeaderBuffer; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 361699237 + ) + static int field3140; + @ObfuscatedName("x") + @Export("NetCache_crc") + static CRC32 NetCache_crc; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "[Lie;" + ) + @Export("NetCache_archives") + static Archive[] NetCache_archives; + @ObfuscatedName("f") + static byte field3156; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 2096105199 + ) + @Export("NetCache_crcMismatches") + public static int NetCache_crcMismatches; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -703948451 + ) + @Export("NetCache_ioExceptions") + public static int NetCache_ioExceptions; + + static { + NetCache_loadTime = 0; + NetCache_pendingPriorityWrites = new NodeHashTable(4096); + NetCache_pendingPriorityWritesCount = 0; + NetCache_pendingPriorityResponses = new NodeHashTable(32); + NetCache_pendingPriorityResponsesCount = 0; + NetCache_pendingWritesQueue = new DualNodeDeque(); + NetCache_pendingWrites = new NodeHashTable(4096); + NetCache_pendingWritesCount = 0; + NetCache_pendingResponses = new NodeHashTable(4096); + NetCache_pendingResponsesCount = 0; + NetCache_responseHeaderBuffer = new Buffer(8); + field3140 = 0; + NetCache_crc = new CRC32(); + NetCache_archives = new Archive[256]; + field3156 = 0; + NetCache_crcMismatches = 0; + NetCache_ioExceptions = 0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIS)Z", + garbageValue = "20573" + ) + static boolean method4284(int var0, int var1) { + return var0 != 4 || var1 < 8; + } + + @ObfuscatedName("jk") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "-108" + ) + @Export("clanKickUser") + static final void clanKickUser(String var0) { + if (Varps.clanChat != null) { + PacketBufferNode var1 = InterfaceParent.getPacketBufferNode(ClientPacket.field2215, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } + } + + @ObfuscatedName("kl") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "-101" + ) + static void method4267(int var0) { + Client.oculusOrbState = var0; + } +} diff --git a/runescape-client/src/main/java/NetFileRequest.java b/runescape-client/src/main/java/NetFileRequest.java index 5cca47f57d..55385b4dad 100644 --- a/runescape-client/src/main/java/NetFileRequest.java +++ b/runescape-client/src/main/java/NetFileRequest.java @@ -1,145 +1,28 @@ -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("hg") -@Implements("NetFileRequest") -public class NetFileRequest extends DualNode { - @ObfuscatedName("q") - static String[] field3096; - @ObfuscatedName("w") - static String field3101; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive") - Archive archive; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1552948799 - ) - @Export("crc") - int crc; - @ObfuscatedName("t") - @Export("padding") - byte padding; - - NetFileRequest() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Liz;", - garbageValue = "1206500813" - ) - @Export("getEnum") - public static EnumDefinition getEnum(int var0) { - EnumDefinition var1 = (EnumDefinition)EnumDefinition.EnumDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = EnumDefinition.EnumDefinition_archive.takeFile(8, var0); - var1 = new EnumDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - EnumDefinition.EnumDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("ir") - @ObfuscatedSignature( - signature = "(Lby;IIIB)V", - garbageValue = "-27" - ) - @Export("addPlayerToMenu") - static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { - if (Varps.localPlayer != var0) { - if (Client.menuOptionsCount < 400) { - String var4; - int var7; - if (var0.skillLevel == 0) { - String var5 = var0.actions[0] + var0.username + var0.actions[1]; - var7 = var0.combatLevel; - int var8 = Varps.localPlayer.combatLevel; - int var9 = var8 - var7; - String var6; - if (var9 < -9) { - var6 = UserComparator7.colorStartTag(16711680); - } else if (var9 < -6) { - var6 = UserComparator7.colorStartTag(16723968); - } else if (var9 < -3) { - var6 = UserComparator7.colorStartTag(16740352); - } else if (var9 < 0) { - var6 = UserComparator7.colorStartTag(16756736); - } else if (var9 > 9) { - var6 = UserComparator7.colorStartTag(65280); - } else if (var9 > 6) { - var6 = UserComparator7.colorStartTag(4259584); - } else if (var9 > 3) { - var6 = UserComparator7.colorStartTag(8453888); - } else if (var9 > 0) { - var6 = UserComparator7.colorStartTag(12648192); - } else { - var6 = UserComparator7.colorStartTag(16776960); - } - - var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; - } else { - var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; - } - - int var10; - if (Client.isItemSelected == 1) { - FontName.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + UserComparator7.colorStartTag(16777215) + var4, 14, var1, var2, var3); - } else if (Client.isSpellSelected) { - if ((BuddyRankComparator.selectedSpellFlags & 8) == 8) { - FontName.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + UserComparator7.colorStartTag(16777215) + var4, 15, var1, var2, var3); - } - } else { - for (var10 = 7; var10 >= 0; --var10) { - if (Client.playerMenuActions[var10] != null) { - short var11 = 0; - if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { - if (Client.playerAttackOption == AttackOption.AttackOption_hidden) { - continue; - } - - if (Client.playerAttackOption == AttackOption.AttackOption_alwaysRightClick || Client.playerAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && var0.combatLevel > Varps.localPlayer.combatLevel) { - var11 = 2000; - } - - if (Varps.localPlayer.team != 0 && var0.team != 0) { - if (var0.team == Varps.localPlayer.team) { - var11 = 2000; - } else { - var11 = 0; - } - } - } else if (Client.playerOptionsPriorities[var10]) { - var11 = 2000; - } - - boolean var12 = false; - var7 = Client.playerMenuOpcodes[var10] + var11; - FontName.insertMenuItemNoShift(Client.playerMenuActions[var10], UserComparator7.colorStartTag(16777215) + var4, var7, var1, var2, var3); - } - } - } - - for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { - if (Client.menuOpcodes[var10] == 23) { - Client.menuTargets[var10] = UserComparator7.colorStartTag(16777215) + var4; - break; - } - } - - } - } - } -} +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("hc") +@Implements("NetFileRequest") +public class NetFileRequest extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive") + Archive archive; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -461319929 + ) + @Export("crc") + int crc; + @ObfuscatedName("v") + @Export("padding") + byte padding; + + NetFileRequest() { + } +} diff --git a/runescape-client/src/main/java/NetSocket.java b/runescape-client/src/main/java/NetSocket.java index 2ef7ba414a..4eb201c732 100644 --- a/runescape-client/src/main/java/NetSocket.java +++ b/runescape-client/src/main/java/NetSocket.java @@ -1,319 +1,548 @@ -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.Socket; -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("fp") -@Implements("NetSocket") -public final class NetSocket extends AbstractSocket implements Runnable { - @ObfuscatedName("c") - @Export("inputStream") - InputStream inputStream; - @ObfuscatedName("x") - @Export("outputStream") - OutputStream outputStream; - @ObfuscatedName("t") - @Export("socket") - Socket socket; - @ObfuscatedName("g") - @Export("isClosed") - boolean isClosed; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lfq;" - ) - @Export("taskHandler") - TaskHandler taskHandler; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lfc;" - ) - @Export("task") - Task task; - @ObfuscatedName("j") - @Export("outBuffer") - byte[] outBuffer; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 507236183 - ) - @Export("outLength") - int outLength; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 33510263 - ) - @Export("outOffset") - int outOffset; - @ObfuscatedName("z") - @Export("exceptionWriting") - boolean exceptionWriting; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -687559731 - ) - @Export("bufferLength") - final int bufferLength; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1564055385 - ) - @Export("maxPacketLength") - final int maxPacketLength; - - @ObfuscatedSignature( - signature = "(Ljava/net/Socket;Lfq;I)V" - ) - public NetSocket(Socket var1, TaskHandler var2, int var3) throws IOException { - this.isClosed = false; - this.outLength = 0; - this.outOffset = 0; - this.exceptionWriting = false; - this.taskHandler = var2; - this.socket = var1; - this.bufferLength = var3; - this.maxPacketLength = var3 - 100; - this.socket.setSoTimeout(30000); - this.socket.setTcpNoDelay(true); - this.socket.setReceiveBufferSize(65536); - this.socket.setSendBufferSize(65536); - this.inputStream = this.socket.getInputStream(); - this.outputStream = this.socket.getOutputStream(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-75" - ) - @Export("close") - public void close() { - if (!this.isClosed) { - synchronized(this) { - this.isClosed = true; - this.notifyAll(); - } - - if (this.task != null) { - while (this.task.status == 0) { - FriendsList.sleepMillis(1L); - } - - if (this.task.status == 1) { - try { - ((Thread)this.task.result).join(); - } catch (InterruptedException var3) { - } - } - } - - this.task = null; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1827163357" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() throws IOException { - return this.isClosed ? 0 : this.inputStream.read(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1354053248" - ) - @Export("available") - public int available() throws IOException { - return this.isClosed ? 0 : this.inputStream.available(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-377412375" - ) - @Export("isAvailable") - public boolean isAvailable(int var1) throws IOException { - if (this.isClosed) { - return false; - } else { - return this.inputStream.available() >= var1; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "([BIII)I", - garbageValue = "2063129771" - ) - @Export("read") - public int read(byte[] var1, int var2, int var3) throws IOException { - if (this.isClosed) { - return 0; - } else { - int var4; - int var5; - for (var4 = var3; var3 > 0; var3 -= var5) { - var5 = this.inputStream.read(var1, var2, var3); - if (var5 <= 0) { - throw new EOFException(); - } - - var2 += var5; - } - - return var4; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "-25" - ) - @Export("write0") - void write0(byte[] var1, int var2, int var3) throws IOException { - if (!this.isClosed) { - if (this.exceptionWriting) { - this.exceptionWriting = false; - throw new IOException(); - } else { - if (this.outBuffer == null) { - this.outBuffer = new byte[this.bufferLength]; - } - - synchronized(this) { - for (int var5 = 0; var5 < var3; ++var5) { - this.outBuffer[this.outOffset] = var1[var5 + var2]; - this.outOffset = (this.outOffset + 1) % this.bufferLength; - if ((this.maxPacketLength + this.outLength) % this.bufferLength == this.outOffset) { - throw new IOException(); - } - } - - if (this.task == null) { - this.task = this.taskHandler.newThreadTask(this, 3); - } - - this.notifyAll(); - } - } - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "([BIIB)V", - garbageValue = "9" - ) - @Export("write") - public void write(byte[] var1, int var2, int var3) throws IOException { - this.write0(var1, var2, var3); - } - - protected void finalize() { - this.close(); - } - - protected void aaj() { - this.close(); - } - - public void run() { - try { - while (true) { - label84: { - int var1; - int var2; - synchronized(this) { - if (this.outOffset == this.outLength) { - if (this.isClosed) { - break label84; - } - - try { - this.wait(); - } catch (InterruptedException var10) { - } - } - - var2 = this.outLength; - if (this.outOffset >= this.outLength) { - var1 = this.outOffset - this.outLength; - } else { - var1 = this.bufferLength - this.outLength; - } - } - - if (var1 <= 0) { - continue; - } - - try { - this.outputStream.write(this.outBuffer, var2, var1); - } catch (IOException var9) { - this.exceptionWriting = true; - } - - this.outLength = (var1 + this.outLength) % this.bufferLength; - - try { - if (this.outOffset == this.outLength) { - this.outputStream.flush(); - } - } catch (IOException var8) { - this.exceptionWriting = true; - } - continue; - } - - try { - if (this.inputStream != null) { - this.inputStream.close(); - } - - if (this.outputStream != null) { - this.outputStream.close(); - } - - if (this.socket != null) { - this.socket.close(); - } - } catch (IOException var7) { - } - - this.outBuffer = null; - break; - } - } catch (Exception var12) { - class188.RunException_sendStackTrace((String)null, var12); - } - - } - - @ObfuscatedName("gh") - @ObfuscatedSignature( - signature = "(Lby;I)Z", - garbageValue = "1278760398" - ) - static boolean method3531(Player var0) { - if (Client.drawPlayerNames == 0) { - return false; - } else if (Varps.localPlayer != var0) { - boolean var1 = (Client.drawPlayerNames & 4) != 0; - return var1 || class160.method3419() && var0.isFriend() || Projectile.method2087() && var0.isClanMember(); - } else { - return UrlRequester.method3273(); - } - } -} +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +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("fu") +@Implements("NetSocket") +public final class NetSocket extends AbstractSocket implements Runnable { + @ObfuscatedName("ly") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("mousedOverWidgetIf1") + static Widget mousedOverWidgetIf1; + @ObfuscatedName("z") + @Export("inputStream") + InputStream inputStream; + @ObfuscatedName("n") + @Export("outputStream") + OutputStream outputStream; + @ObfuscatedName("v") + @Export("socket") + Socket socket; + @ObfuscatedName("u") + @Export("isClosed") + boolean isClosed; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lfm;" + ) + @Export("taskHandler") + TaskHandler taskHandler; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lfv;" + ) + @Export("task") + Task task; + @ObfuscatedName("q") + @Export("outBuffer") + byte[] outBuffer; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -428981347 + ) + @Export("outLength") + int outLength; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 386347925 + ) + @Export("outOffset") + int outOffset; + @ObfuscatedName("i") + @Export("exceptionWriting") + boolean exceptionWriting; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -539294119 + ) + @Export("bufferLength") + final int bufferLength; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 312930257 + ) + @Export("maxPacketLength") + final int maxPacketLength; + + @ObfuscatedSignature( + signature = "(Ljava/net/Socket;Lfm;I)V" + ) + public NetSocket(Socket var1, TaskHandler var2, int var3) throws IOException { + this.isClosed = false; + this.outLength = 0; + this.outOffset = 0; + this.exceptionWriting = false; + this.taskHandler = var2; + this.socket = var1; + this.bufferLength = var3; + this.maxPacketLength = var3 - 100; + this.socket.setSoTimeout(30000); + this.socket.setTcpNoDelay(true); + this.socket.setReceiveBufferSize(65536); + this.socket.setSendBufferSize(65536); + this.inputStream = this.socket.getInputStream(); + this.outputStream = this.socket.getOutputStream(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-119" + ) + @Export("close") + public void close() { + if (!this.isClosed) { + synchronized(this) { + this.isClosed = true; + this.notifyAll(); + } + + if (this.task != null) { + while (this.task.status == 0) { + try { + Thread.sleep(1L); + } catch (InterruptedException var4) { + } + } + + if (this.task.status == 1) { + try { + ((Thread)this.task.result).join(); + } catch (InterruptedException var3) { + } + } + } + + this.task = null; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1784126558" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() throws IOException { + return this.isClosed ? 0 : this.inputStream.read(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "3" + ) + @Export("available") + public int available() throws IOException { + return this.isClosed ? 0 : this.inputStream.available(); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-336706705" + ) + @Export("isAvailable") + public boolean isAvailable(int var1) throws IOException { + if (this.isClosed) { + return false; + } else { + return this.inputStream.available() >= var1; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "([BIII)I", + garbageValue = "-2035668362" + ) + @Export("read") + public int read(byte[] var1, int var2, int var3) throws IOException { + if (this.isClosed) { + return 0; + } else { + int var4; + int var5; + for (var4 = var3; var3 > 0; var3 -= var5) { + var5 = this.inputStream.read(var1, var2, var3); + if (var5 <= 0) { + throw new EOFException(); + } + + var2 += var5; + } + + return var4; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "-2110504051" + ) + @Export("write0") + void write0(byte[] var1, int var2, int var3) throws IOException { + if (!this.isClosed) { + if (this.exceptionWriting) { + this.exceptionWriting = false; + throw new IOException(); + } else { + if (this.outBuffer == null) { + this.outBuffer = new byte[this.bufferLength]; + } + + synchronized(this) { + for (int var5 = 0; var5 < var3; ++var5) { + this.outBuffer[this.outOffset] = var1[var5 + var2]; + this.outOffset = (this.outOffset + 1) % this.bufferLength; + if ((this.maxPacketLength + this.outLength) % this.bufferLength == this.outOffset) { + throw new IOException(); + } + } + + if (this.task == null) { + this.task = this.taskHandler.newThreadTask(this, 3); + } + + this.notifyAll(); + } + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIIB)V", + garbageValue = "-68" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + this.write0(var1, var2, var3); + } + + protected void finalize() { + this.close(); + } + + protected void aav() { + this.close(); + } + + protected void aao() { + this.close(); + } + + public void run() { + try { + while (true) { + label84: { + int var1; + int var2; + synchronized(this) { + if (this.outLength == this.outOffset) { + if (this.isClosed) { + break label84; + } + + try { + this.wait(); + } catch (InterruptedException var10) { + } + } + + var2 = this.outLength; + if (this.outOffset >= this.outLength) { + var1 = this.outOffset - this.outLength; + } else { + var1 = this.bufferLength - this.outLength; + } + } + + if (var1 <= 0) { + continue; + } + + try { + this.outputStream.write(this.outBuffer, var2, var1); + } catch (IOException var9) { + this.exceptionWriting = true; + } + + this.outLength = (var1 + this.outLength) % this.bufferLength; + + try { + if (this.outOffset == this.outLength) { + this.outputStream.flush(); + } + } catch (IOException var8) { + this.exceptionWriting = true; + } + continue; + } + + try { + if (this.inputStream != null) { + this.inputStream.close(); + } + + if (this.outputStream != null) { + this.outputStream.close(); + } + + if (this.socket != null) { + this.socket.close(); + } + } catch (IOException var7) { + } + + this.outBuffer = null; + break; + } + } catch (Exception var12) { + class32.RunException_sendStackTrace((String)null, var12); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([Lga;II)Lga;", + garbageValue = "-846037107" + ) + @Export("findEnumerated") + public static Enumerated findEnumerated(Enumerated[] var0, int var1) { + Enumerated[] var2 = var0; + + for (int var3 = 0; var3 < var2.length; ++var3) { + Enumerated var4 = var2[var3]; + if (var1 == var4.rsOrdinal()) { + return var4; + } + } + + return null; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;B)Z", + garbageValue = "-100" + ) + @Export("isNumber") + public static boolean isNumber(CharSequence var0) { + return MouseRecorder.method1209(var0, 10, true); + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "-175447114" + ) + public static String method3467(String var0) { + int var1 = var0.length(); + char[] var2 = new char[var1]; + byte var3 = 2; + + for (int var4 = 0; var4 < var1; ++var4) { + char var5 = var0.charAt(var4); + if (var3 == 0) { + var5 = Character.toLowerCase(var5); + } else if (var3 == 2 || Character.isUpperCase(var5)) { + var5 = UrlRequester.method3256(var5); + } + + if (Character.isLetter(var5)) { + var3 = 0; + } else if (var5 != '.' && var5 != '?' && var5 != '!') { + if (Character.isSpaceChar(var5)) { + if (var3 != 2) { + var3 = 1; + } + } else { + var3 = 1; + } + } else { + var3 = 2; + } + + var2[var4] = var5; + } + + return new String(var2); + } + + @ObfuscatedName("jp") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1514465632" + ) + static final void method3468(int var0) { + class325.method6167(); + + for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var1.obj != null) { + var1.set(); + } + } + + int var4 = AbstractWorldMapData.method288(var0).type; + if (var4 != 0) { + int var2 = Varps.Varps_main[var0]; + if (var4 == 1) { + if (var2 == 1) { + Rasterizer3D.Rasterizer3D_setBrightness(0.9D); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.9D); + } + + if (var2 == 2) { + Rasterizer3D.Rasterizer3D_setBrightness(0.8D); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.8D); + } + + if (var2 == 3) { + Rasterizer3D.Rasterizer3D_setBrightness(0.7D); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.7D); + } + + if (var2 == 4) { + Rasterizer3D.Rasterizer3D_setBrightness(0.6D); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.6D); + } + + ItemDefinition.ItemDefinition_cachedSprites.clear(); + } + + if (var4 == 3) { + short var3 = 0; + if (var2 == 0) { + var3 = 255; + } + + if (var2 == 1) { + var3 = 192; + } + + if (var2 == 2) { + var3 = 128; + } + + if (var2 == 3) { + var3 = 64; + } + + if (var2 == 4) { + var3 = 0; + } + + if (var3 != Client.field761) { + if (Client.field761 == 0 && Client.field666 != -1) { + class83.method2064(class225.archive6, Client.field666, 0, var3, false); + Client.field759 = false; + } else if (var3 == 0) { + VertexNormal.method2956(); + Client.field759 = false; + } else if (class197.field2386 != 0) { + TileItem.field1223 = var3; + } else { + class49.midiPcmStream.method3751(var3); + } + + Client.field761 = var3; + } + } + + if (var4 == 4) { + if (var2 == 0) { + Client.soundEffectVolume = 127; + } + + if (var2 == 1) { + Client.soundEffectVolume = 96; + } + + if (var2 == 2) { + Client.soundEffectVolume = 64; + } + + if (var2 == 3) { + Client.soundEffectVolume = 32; + } + + if (var2 == 4) { + Client.soundEffectVolume = 0; + } + } + + if (var4 == 5) { + Client.leftClickOpensMenu = var2; + } + + if (var4 == 6) { + Client.chatEffects = var2; + } + + if (var4 == 9) { + Client.field873 = var2; + } + + if (var4 == 10) { + if (var2 == 0) { + Client.field868 = 127; + } + + if (var2 == 1) { + Client.field868 = 96; + } + + if (var2 == 2) { + Client.field868 = 64; + } + + if (var2 == 3) { + Client.field868 = 32; + } + + if (var2 == 4) { + Client.field868 = 0; + } + } + + if (var4 == 17) { + Client.followerIndex = var2 & 65535; + } + + if (var4 == 18) { + Client.playerAttackOption = (AttackOption)findEnumerated(FloorUnderlayDefinition.method4383(), var2); + if (Client.playerAttackOption == null) { + Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; + } + } + + if (var4 == 19) { + if (var2 == -1) { + Client.combatTargetPlayerIndex = -1; + } else { + Client.combatTargetPlayerIndex = var2 & 2047; + } + } + + if (var4 == 22) { + Client.npcAttackOption = (AttackOption)findEnumerated(FloorUnderlayDefinition.method4383(), var2); + if (Client.npcAttackOption == null) { + Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; + } + } + + } + } +} diff --git a/runescape-client/src/main/java/Node.java b/runescape-client/src/main/java/Node.java index 9b022b17d0..76c0df5b6b 100644 --- a/runescape-client/src/main/java/Node.java +++ b/runescape-client/src/main/java/Node.java @@ -1,41 +1,41 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fn") -@Implements("Node") -public class Node { - @ObfuscatedName("cx") - @Export("key") - public long key; - @ObfuscatedName("ci") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("previous") - public Node previous; - @ObfuscatedName("cf") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("next") - public Node next; - - @ObfuscatedName("ft") - @Export("remove") - public void remove() { - if (this.next != null) { - this.next.previous = this.previous; - this.previous.next = this.next; - this.previous = null; - this.next = null; - } - } - - @ObfuscatedName("ff") - @Export("hasNext") - public boolean hasNext() { - return this.next != null; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fx") +@Implements("Node") +public class Node { + @ObfuscatedName("cl") + @Export("key") + public long key; + @ObfuscatedName("cw") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("previous") + public Node previous; + @ObfuscatedName("cq") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("next") + public Node next; + + @ObfuscatedName("fu") + @Export("remove") + public void remove() { + if (this.next != null) { + this.next.previous = this.previous; + this.previous.next = this.next; + this.previous = null; + this.next = null; + } + } + + @ObfuscatedName("fa") + @Export("hasNext") + public boolean hasNext() { + return this.next != null; + } +} diff --git a/runescape-client/src/main/java/NodeDeque.java b/runescape-client/src/main/java/NodeDeque.java index 466e5d21be..7207a5e5af 100644 --- a/runescape-client/src/main/java/NodeDeque.java +++ b/runescape-client/src/main/java/NodeDeque.java @@ -1,183 +1,183 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jv") -@Implements("NodeDeque") -public class NodeDeque { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("sentinel") - public Node sentinel; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("current") - Node current; - - public NodeDeque() { - this.sentinel = new Node(); - this.sentinel.previous = this.sentinel; - this.sentinel.next = this.sentinel; - } - - @ObfuscatedName("c") - @Export("clear") - public void clear() { - while (true) { - Node var1 = this.sentinel.previous; - if (var1 == this.sentinel) { - this.current = null; - return; - } - - var1.remove(); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lfn;)V" - ) - @Export("addFirst") - public void addFirst(Node var1) { - if (var1.next != null) { - var1.remove(); - } - - var1.next = this.sentinel.next; - var1.previous = this.sentinel; - var1.next.previous = var1; - var1.previous.next = var1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lfn;)V" - ) - @Export("addLast") - public void addLast(Node var1) { - if (var1.next != null) { - var1.remove(); - } - - var1.next = this.sentinel; - var1.previous = this.sentinel.previous; - var1.next.previous = var1; - var1.previous.next = var1; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("removeLast") - public Node removeLast() { - Node var1 = this.sentinel.previous; - if (var1 == this.sentinel) { - return null; - } else { - var1.remove(); - return var1; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("removeFirst") - public Node removeFirst() { - Node var1 = this.sentinel.next; - if (var1 == this.sentinel) { - return null; - } else { - var1.remove(); - return var1; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("last") - public Node last() { - Node var1 = this.sentinel.previous; - if (var1 == this.sentinel) { - this.current = null; - return null; - } else { - this.current = var1.previous; - return var1; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("first") - public Node first() { - Node var1 = this.sentinel.next; - if (var1 == this.sentinel) { - this.current = null; - return null; - } else { - this.current = var1.next; - return var1; - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("previous") - public Node previous() { - Node var1 = this.current; - if (var1 == this.sentinel) { - this.current = null; - return null; - } else { - this.current = var1.previous; - return var1; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("next") - public Node next() { - Node var1 = this.current; - if (var1 == this.sentinel) { - this.current = null; - return null; - } else { - this.current = var1.next; - return var1; - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lfn;Lfn;)V" - ) - @Export("NodeDeque_addBefore") - public static void NodeDeque_addBefore(Node var0, Node var1) { - if (var0.next != null) { - var0.remove(); - } - - var0.next = var1.next; - var0.previous = var1; - var0.next.previous = var0; - var0.previous.next = var0; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jv") +@Implements("NodeDeque") +public class NodeDeque { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("sentinel") + public Node sentinel; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("current") + Node current; + + public NodeDeque() { + this.sentinel = new Node(); + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } + + @ObfuscatedName("z") + @Export("clear") + public void clear() { + while (true) { + Node var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + this.current = null; + return; + } + + var1.remove(); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lfx;)V" + ) + @Export("addFirst") + public void addFirst(Node var1) { + if (var1.next != null) { + var1.remove(); + } + + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lfx;)V" + ) + @Export("addLast") + public void addLast(Node var1) { + if (var1.next != null) { + var1.remove(); + } + + var1.next = this.sentinel; + var1.previous = this.sentinel.previous; + var1.next.previous = var1; + var1.previous.next = var1; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("removeLast") + public Node removeLast() { + Node var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + return null; + } else { + var1.remove(); + return var1; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("removeFirst") + public Node removeFirst() { + Node var1 = this.sentinel.next; + if (var1 == this.sentinel) { + return null; + } else { + var1.remove(); + return var1; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("last") + public Node last() { + Node var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("first") + public Node first() { + Node var1 = this.sentinel.next; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.next; + return var1; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("previous") + public Node previous() { + Node var1 = this.current; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("next") + public Node next() { + Node var1 = this.current; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.next; + return var1; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lfx;Lfx;)V" + ) + @Export("NodeDeque_addBefore") + public static void NodeDeque_addBefore(Node var0, Node var1) { + if (var0.next != null) { + var0.remove(); + } + + var0.next = var1.next; + var0.previous = var1; + var0.next.previous = var0; + var0.previous.next = var0; + } +} diff --git a/runescape-client/src/main/java/NodeHashTable.java b/runescape-client/src/main/java/NodeHashTable.java index 2b69ca43b1..78cff2a716 100644 --- a/runescape-client/src/main/java/NodeHashTable.java +++ b/runescape-client/src/main/java/NodeHashTable.java @@ -1,119 +1,119 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lm") -@Implements("NodeHashTable") -public final class NodeHashTable { - @ObfuscatedName("c") - @Export("size") - int size; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Lfn;" - ) - @Export("buckets") - Node[] buckets; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("currentGet") - Node currentGet; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lfn;" - ) - @Export("current") - Node current; - @ObfuscatedName("l") - @Export("index") - int index; - - public NodeHashTable(int var1) { - this.index = 0; - this.size = var1; - this.buckets = new Node[var1]; - - for (int var2 = 0; var2 < var1; ++var2) { - Node var3 = this.buckets[var2] = new Node(); - var3.previous = var3; - var3.next = var3; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(J)Lfn;" - ) - @Export("get") - public Node get(long var1) { - Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; - - for (this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { - if (this.currentGet.key == var1) { - Node var4 = this.currentGet; - this.currentGet = this.currentGet.previous; - return var4; - } - } - - this.currentGet = null; - return null; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lfn;J)V" - ) - @Export("put") - public void put(Node var1, long var2) { - if (var1.next != null) { - var1.remove(); - } - - Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; - var1.next = var4.next; - var1.previous = var4; - var1.next.previous = var1; - var1.previous.next = var1; - var1.key = var2; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("first") - public Node first() { - this.index = 0; - return this.next(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "()Lfn;" - ) - @Export("next") - public Node next() { - Node var1; - if (this.index > 0 && this.buckets[this.index - 1] != this.current) { - var1 = this.current; - this.current = var1.previous; - return var1; - } else { - do { - if (this.index >= this.size) { - return null; - } - - var1 = this.buckets[this.index++].previous; - } while(var1 == this.buckets[this.index - 1]); - - this.current = var1.previous; - return var1; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lq") +@Implements("NodeHashTable") +public final class NodeHashTable { + @ObfuscatedName("z") + @Export("size") + int size; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "[Lfx;" + ) + @Export("buckets") + Node[] buckets; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("currentGet") + Node currentGet; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lfx;" + ) + @Export("current") + Node current; + @ObfuscatedName("r") + @Export("index") + int index; + + public NodeHashTable(int var1) { + this.index = 0; + this.size = var1; + this.buckets = new Node[var1]; + + for (int var2 = 0; var2 < var1; ++var2) { + Node var3 = this.buckets[var2] = new Node(); + var3.previous = var3; + var3.next = var3; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(J)Lfx;" + ) + @Export("get") + public Node get(long var1) { + Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; + + for (this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { + if (this.currentGet.key == var1) { + Node var4 = this.currentGet; + this.currentGet = this.currentGet.previous; + return var4; + } + } + + this.currentGet = null; + return null; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lfx;J)V" + ) + @Export("put") + public void put(Node var1, long var2) { + if (var1.next != null) { + var1.remove(); + } + + Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; + var1.next = var4.next; + var1.previous = var4; + var1.next.previous = var1; + var1.previous.next = var1; + var1.key = var2; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("first") + public Node first() { + this.index = 0; + return this.next(); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "()Lfx;" + ) + @Export("next") + public Node next() { + Node var1; + if (this.index > 0 && this.buckets[this.index - 1] != this.current) { + var1 = this.current; + this.current = var1.previous; + return var1; + } else { + do { + if (this.index >= this.size) { + return null; + } + + var1 = this.buckets[this.index++].previous; + } while(var1 == this.buckets[this.index - 1]); + + this.current = var1.previous; + return var1; + } + } +} diff --git a/runescape-client/src/main/java/ObjectDefinition.java b/runescape-client/src/main/java/ObjectDefinition.java index 69a84514dc..963868d38a 100644 --- a/runescape-client/src/main/java/ObjectDefinition.java +++ b/runescape-client/src/main/java/ObjectDefinition.java @@ -1,924 +1,902 @@ -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("iy") -@Implements("ObjectDefinition") -public class ObjectDefinition extends DualNode { - @ObfuscatedName("c") - @Export("ObjectDefinition_isLowDetail") - public static boolean ObjectDefinition_isLowDetail; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("ObjectDefinition_modelsArchive") - public static AbstractArchive ObjectDefinition_modelsArchive; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ObjectDefinition_cached") - public static EvictingDualNodeHashTable ObjectDefinition_cached; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ObjectDefinition_cachedModelData") - public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ObjectDefinition_cachedEntities") - public static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ObjectDefinition_cachedModels") - public static EvictingDualNodeHashTable ObjectDefinition_cachedModels; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "[Lds;" - ) - static ModelData[] field3327; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -545591347 - ) - @Export("id") - public int id; - @ObfuscatedName("z") - @Export("modelIds") - int[] modelIds; - @ObfuscatedName("n") - @Export("models") - int[] models; - @ObfuscatedName("h") - @Export("name") - public String name; - @ObfuscatedName("f") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("s") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("p") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("e") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -990983821 - ) - @Export("sizeX") - public int sizeX; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1188301771 - ) - @Export("sizeY") - public int sizeY; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -1383285113 - ) - @Export("interactType") - public int interactType; - @ObfuscatedName("r") - @Export("boolean1") - public boolean boolean1; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -1653553991 - ) - @Export("int1") - public int int1; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1147145001 - ) - @Export("clipType") - int clipType; - @ObfuscatedName("m") - @Export("nonFlatShading") - boolean nonFlatShading; - @ObfuscatedName("o") - @Export("modelClipped") - public boolean modelClipped; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 1639970711 - ) - @Export("animationId") - public int animationId; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 24923255 - ) - @Export("int2") - public int int2; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -220594225 - ) - @Export("ambient") - int ambient; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = 1695913497 - ) - @Export("contrast") - int contrast; - @ObfuscatedName("ao") - @Export("actions") - public String[] actions; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -472672021 - ) - @Export("mapIconId") - public int mapIconId; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 1963389165 - ) - @Export("mapSceneId") - public int mapSceneId; - @ObfuscatedName("al") - @Export("isRotated") - boolean isRotated; - @ObfuscatedName("as") - @Export("clipped") - public boolean clipped; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -268077835 - ) - @Export("modelSizeX") - int modelSizeX; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -836159353 - ) - @Export("modelHeight") - int modelHeight; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -1200492277 - ) - @Export("modelSizeY") - int modelSizeY; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -1725405821 - ) - @Export("offsetX") - int offsetX; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -21640863 - ) - @Export("offsetHeight") - int offsetHeight; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = 1871035727 - ) - @Export("offsetY") - int offsetY; - @ObfuscatedName("ak") - @Export("boolean2") - public boolean boolean2; - @ObfuscatedName("ay") - @Export("isSolid") - boolean isSolid; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -1373058007 - ) - @Export("int3") - public int int3; - @ObfuscatedName("ah") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 373593885 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 204174799 - ) - @Export("transformVarp") - int transformVarp; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -570641919 - ) - @Export("ambientSoundId") - public int ambientSoundId; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = 858779645 - ) - @Export("int4") - public int int4; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = -515993299 - ) - @Export("int5") - public int int5; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = 1628227829 - ) - @Export("int6") - public int int6; - @ObfuscatedName("am") - @Export("soundEffectIds") - public int[] soundEffectIds; - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("params") - IterableNodeHashTable params; - - static { - ObjectDefinition_isLowDetail = false; - ObjectDefinition_cached = new EvictingDualNodeHashTable(4096); - ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500); - ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30); - ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30); - field3327 = new ModelData[4]; - } - - ObjectDefinition() { - this.name = "null"; - this.sizeX = 1; - this.sizeY = 1; - this.interactType = 2; - this.boolean1 = true; - this.int1 = -1; - this.clipType = -1; - this.nonFlatShading = false; - this.modelClipped = false; - this.animationId = -1; - this.int2 = 16; - this.ambient = 0; - this.contrast = 0; - this.actions = new String[5]; - this.mapIconId = -1; - this.mapSceneId = -1; - this.isRotated = false; - this.clipped = true; - this.modelSizeX = 128; - this.modelHeight = 128; - this.modelSizeY = 128; - this.offsetX = 0; - this.offsetHeight = 0; - this.offsetY = 0; - this.boolean2 = false; - this.isSolid = false; - this.int3 = -1; - this.transformVarbit = -1; - this.transformVarp = -1; - this.ambientSoundId = -1; - this.int4 = 0; - this.int5 = 0; - this.int6 = 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "496885162" - ) - @Export("postDecode") - void postDecode() { - if (this.int1 == -1) { - this.int1 = 0; - if (this.modelIds != null && (this.models == null || this.models[0] == 10)) { - this.int1 = 1; - } - - for (int var1 = 0; var1 < 5; ++var1) { - if (this.actions[var1] != null) { - this.int1 = 1; - } - } - } - - if (this.int3 == -1) { - this.int3 = this.interactType != 0 ? 1 : 0; - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-436591818" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "1935097280" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { - var3 = var1.readUnsignedByte(); - if (var3 > 0) { - if (this.modelIds != null && !ObjectDefinition_isLowDetail) { - var1.offset += var3 * 3; - } else { - this.models = new int[var3]; - this.modelIds = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.modelIds[var4] = var1.readUnsignedShort(); - this.models[var4] = var1.readUnsignedByte(); - } - } - } - } else if (var2 == 2) { - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 5) { - var3 = var1.readUnsignedByte(); - if (var3 > 0) { - if (this.modelIds != null && !ObjectDefinition_isLowDetail) { - var1.offset += var3 * 2; - } else { - this.models = null; - this.modelIds = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.modelIds[var4] = var1.readUnsignedShort(); - } - } - } - } else if (var2 == 14) { - this.sizeX = var1.readUnsignedByte(); - } else if (var2 == 15) { - this.sizeY = var1.readUnsignedByte(); - } else if (var2 == 17) { - this.interactType = 0; - this.boolean1 = false; - } else if (var2 == 18) { - this.boolean1 = false; - } else if (var2 == 19) { - this.int1 = var1.readUnsignedByte(); - } else if (var2 == 21) { - this.clipType = 0; - } else if (var2 == 22) { - this.nonFlatShading = true; - } else if (var2 == 23) { - this.modelClipped = true; - } else if (var2 == 24) { - this.animationId = var1.readUnsignedShort(); - if (this.animationId == 65535) { - this.animationId = -1; - } - } else if (var2 == 27) { - this.interactType = 1; - } else if (var2 == 28) { - this.int2 = var1.readUnsignedByte(); - } else if (var2 == 29) { - this.ambient = var1.readByte(); - } else if (var2 == 39) { - this.contrast = var1.readByte() * 25; - } else if (var2 >= 30 && var2 < 35) { - this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); - if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { - this.actions[var2 - 30] = null; - } - } else if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 62) { - this.isRotated = true; - } else if (var2 == 64) { - this.clipped = false; - } else if (var2 == 65) { - this.modelSizeX = var1.readUnsignedShort(); - } else if (var2 == 66) { - this.modelHeight = var1.readUnsignedShort(); - } else if (var2 == 67) { - this.modelSizeY = var1.readUnsignedShort(); - } else if (var2 == 68) { - this.mapSceneId = var1.readUnsignedShort(); - } else if (var2 == 69) { - var1.readUnsignedByte(); - } else if (var2 == 70) { - this.offsetX = var1.readShort(); - } else if (var2 == 71) { - this.offsetHeight = var1.readShort(); - } else if (var2 == 72) { - this.offsetY = var1.readShort(); - } else if (var2 == 73) { - this.boolean2 = true; - } else if (var2 == 74) { - this.isSolid = true; - } else if (var2 == 75) { - this.int3 = var1.readUnsignedByte(); - } else if (var2 != 77 && var2 != 92) { - if (var2 == 78) { - this.ambientSoundId = var1.readUnsignedShort(); - this.int4 = var1.readUnsignedByte(); - } else if (var2 == 79) { - this.int5 = var1.readUnsignedShort(); - this.int6 = var1.readUnsignedShort(); - this.int4 = var1.readUnsignedByte(); - var3 = var1.readUnsignedByte(); - this.soundEffectIds = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.soundEffectIds[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 81) { - this.clipType = var1.readUnsignedByte() * 256; - } else if (var2 == 82) { - this.mapIconId = var1.readUnsignedShort(); - } else if (var2 == 249) { - this.params = FloorOverlayDefinition.readStringIntParameters(var1, this.params); - } - } else { - this.transformVarbit = var1.readUnsignedShort(); - if (this.transformVarbit == 65535) { - this.transformVarbit = -1; - } - - this.transformVarp = var1.readUnsignedShort(); - if (this.transformVarp == 65535) { - this.transformVarp = -1; - } - - var3 = -1; - if (var2 == 92) { - var3 = var1.readUnsignedShort(); - if (var3 == 65535) { - var3 = -1; - } - } - - var4 = var1.readUnsignedByte(); - this.transforms = new int[var4 + 2]; - - for (int var5 = 0; var5 <= var4; ++var5) { - this.transforms[var5] = var1.readUnsignedShort(); - if (this.transforms[var5] == 65535) { - this.transforms[var5] = -1; - } - } - - this.transforms[var4 + 1] = var3; - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1028274806" - ) - public final boolean method4599(int var1) { - if (this.models != null) { - for (int var4 = 0; var4 < this.models.length; ++var4) { - if (this.models[var4] == var1) { - return ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var4] & 65535, 0); - } - } - - return true; - } else if (this.modelIds == null) { - return true; - } else if (var1 != 10) { - return true; - } else { - boolean var2 = true; - - for (int var3 = 0; var3 < this.modelIds.length; ++var3) { - var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var3] & 65535, 0); - } - - return var2; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "422089001" - ) - @Export("needsModelFiles") - public final boolean needsModelFiles() { - if (this.modelIds == null) { - return true; - } else { - boolean var1 = true; - - for (int var2 = 0; var2 < this.modelIds.length; ++var2) { - var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var2] & 65535, 0); - } - - return var1; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(II[[IIIII)Lel;", - garbageValue = "887035835" - ) - @Export("getEntity") - public final Entity getEntity(int var1, int var2, int[][] var3, int var4, int var5, int var6) { - long var7; - if (this.models == null) { - var7 = (long)(var2 + (this.id << 10)); - } else { - var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); - } - - Object var9 = (Entity)ObjectDefinition_cachedEntities.get(var7); - if (var9 == null) { - ModelData var10 = this.getModelData(var1, var2); - if (var10 == null) { - return null; - } - - if (!this.nonFlatShading) { - var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); - } else { - var10.ambient = (short)(this.ambient + 64); - var10.contrast = (short)(this.contrast + 768); - var10.calculateVertexNormals(); - var9 = var10; - } - - ObjectDefinition_cachedEntities.put((DualNode)var9, var7); - } - - if (this.nonFlatShading) { - var9 = ((ModelData)var9).method2735(); - } - - if (this.clipType * 65536 >= 0) { - if (var9 instanceof Model) { - var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType * 65536); - } else if (var9 instanceof ModelData) { - var9 = ((ModelData)var9).method2733(var3, var4, var5, var6, true, this.clipType * 65536); - } - } - - return (Entity)var9; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(II[[IIIII)Ldr;", - garbageValue = "-670018760" - ) - @Export("getModel") - public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) { - long var7; - if (this.models == null) { - var7 = (long)(var2 + (this.id << 10)); - } else { - var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); - } - - Model var9 = (Model)ObjectDefinition_cachedModels.get(var7); - if (var9 == null) { - ModelData var10 = this.getModelData(var1, var2); - if (var10 == null) { - return null; - } - - var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); - ObjectDefinition_cachedModels.put(var9, var7); - } - - if (this.clipType * 65536 >= 0) { - var9 = var9.contourGround(var3, var4, var5, var6, true, this.clipType * 65536); - } - - return var9; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(II[[IIIILiw;II)Ldr;", - garbageValue = "1509494247" - ) - @Export("getModelDynamic") - public final Model getModelDynamic(int var1, int var2, int[][] var3, int var4, int var5, int var6, SequenceDefinition var7, int var8) { - long var9; - if (this.models == null) { - var9 = (long)(var2 + (this.id << 10)); - } else { - var9 = (long)(var2 + (var1 << 3) + (this.id << 10)); - } - - Model var11 = (Model)ObjectDefinition_cachedModels.get(var9); - if (var11 == null) { - ModelData var12 = this.getModelData(var1, var2); - if (var12 == null) { - return null; - } - - var11 = var12.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); - ObjectDefinition_cachedModels.put(var11, var9); - } - - if (var7 == null && this.clipType * 65536 == -1) { - return var11; - } else { - if (var7 != null) { - var11 = var7.transformObjectModel(var11, var8, var2); - } else { - var11 = var11.toSharedSequenceModel(true); - } - - if (this.clipType * 65536 >= 0) { - var11 = var11.contourGround(var3, var4, var5, var6, false, this.clipType * 65536); - } - - return var11; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(III)Lds;", - garbageValue = "2075456813" - ) - @Export("getModelData") - final ModelData getModelData(int var1, int var2) { - ModelData var3 = null; - boolean var4; - int var5; - int var7; - if (this.models == null) { - if (var1 != 10) { - return null; - } - - if (this.modelIds == null) { - return null; - } - - var4 = this.isRotated; - if (var1 == 2 && var2 > 3) { - var4 = !var4; - } - - var5 = this.modelIds.length; - - for (int var6 = 0; var6 < var5; ++var6) { - var7 = this.modelIds[var6]; - if (var4) { - var7 += 65536; - } - - var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7); - if (var3 == null) { - var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var7 & 65535, 0); - if (var3 == null) { - return null; - } - - if (var4) { - var3.method2776(); - } - - ObjectDefinition_cachedModelData.put(var3, (long)var7); - } - - if (var5 > 1) { - field3327[var6] = var3; - } - } - - if (var5 > 1) { - var3 = new ModelData(field3327, var5); - } - } else { - int var9 = -1; - - for (var5 = 0; var5 < this.models.length; ++var5) { - if (this.models[var5] == var1) { - var9 = var5; - break; - } - } - - if (var9 == -1) { - return null; - } - - var5 = this.modelIds[var9]; - boolean var10 = this.isRotated ^ var2 > 3; - if (var10) { - var5 += 65536; - } - - var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5); - if (var3 == null) { - var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var5 & 65535, 0); - if (var3 == null) { - return null; - } - - if (var10) { - var3.method2776(); - } - - ObjectDefinition_cachedModelData.put(var3, (long)var5); - } - } - - if (this.modelSizeX == 128 && this.modelHeight == 128 && this.modelSizeY == 128) { - var4 = false; - } else { - var4 = true; - } - - boolean var11; - if (this.offsetX == 0 && this.offsetHeight == 0 && this.offsetY == 0) { - var11 = false; - } else { - var11 = true; - } - - ModelData var8 = new ModelData(var3, var2 == 0 && !var4 && !var11, this.recolorFrom == null, null == this.retextureFrom, true); - if (var1 == 4 && var2 > 3) { - var8.method2741(256); - var8.changeOffset(45, 0, -45); - } - - var2 &= 3; - if (var2 == 1) { - var8.method2738(); - } else if (var2 == 2) { - var8.method2739(); - } else if (var2 == 3) { - var8.method2740(); - } - - if (this.recolorFrom != null) { - for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { - var8.recolor(this.recolorFrom[var7], this.recolorTo[var7]); - } - } - - if (this.retextureFrom != null) { - for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { - var8.retexture(this.retextureFrom[var7], this.retextureTo[var7]); - } - } - - if (var4) { - var8.resize(this.modelSizeX, this.modelHeight, this.modelSizeY); - } - - if (var11) { - var8.changeOffset(this.offsetX, this.offsetHeight, this.offsetY); - } - - return var8; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)Liy;", - garbageValue = "-464070462" - ) - @Export("transform") - public final ObjectDefinition transform() { - int var1 = -1; - if (this.transformVarbit != -1) { - var1 = WorldMapCacheName.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { - var1 = Varps.Varps_main[this.transformVarp]; - } - - int var2; - if (var1 >= 0 && var1 < this.transforms.length - 1) { - var2 = this.transforms[var1]; - } else { - var2 = this.transforms[this.transforms.length - 1]; - } - - return var2 != -1 ? WallDecoration.getObjectDefinition(var2) : null; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1219134228" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - return class65.method1177(this.params, var1, var2); - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1108527519" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; - String var3; - if (var4 == null) { - var3 = var2; - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); - if (var5 == null) { - var3 = var2; - } else { - var3 = (String)var5.obj; - } - } - - return var3; - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-110" - ) - @Export("hasSound") - public boolean hasSound() { - if (this.transforms == null) { - return this.ambientSoundId != -1 || this.soundEffectIds != null; - } else { - for (int var1 = 0; var1 < this.transforms.length; ++var1) { - if (this.transforms[var1] != -1) { - ObjectDefinition var2 = WallDecoration.getObjectDefinition(this.transforms[var1]); - if (var2.ambientSoundId != -1 || var2.soundEffectIds != null) { - return true; - } - } - } - - return false; - } - } - - @ObfuscatedName("c") - static double method4645(double var0) { - return Math.exp(var0 * -var0 / 2.0D) / Math.sqrt(6.283185307179586D); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-1689171043" - ) - public static int method4644(int var0, int var1) { - int var2 = var0 >>> 31; - return (var0 + var2) / var1 - var2; - } -} +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("iz") +@Implements("ObjectDefinition") +public class ObjectDefinition extends DualNode { + @ObfuscatedName("z") + @Export("ObjectDefinition_isLowDetail") + public static boolean ObjectDefinition_isLowDetail; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ObjectDefinition_archive") + public static AbstractArchive ObjectDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ObjectDefinition_modelsArchive") + public static AbstractArchive ObjectDefinition_modelsArchive; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ObjectDefinition_cached") + public static EvictingDualNodeHashTable ObjectDefinition_cached; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ObjectDefinition_cachedModelData") + public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ObjectDefinition_cachedEntities") + public static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ObjectDefinition_cachedModels") + public static EvictingDualNodeHashTable ObjectDefinition_cachedModels; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "[Ldw;" + ) + static ModelData[] field3342; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -10424721 + ) + @Export("id") + public int id; + @ObfuscatedName("i") + @Export("modelIds") + int[] modelIds; + @ObfuscatedName("c") + @Export("models") + int[] models; + @ObfuscatedName("b") + @Export("name") + public String name; + @ObfuscatedName("o") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("a") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("e") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("w") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1768434003 + ) + @Export("sizeX") + public int sizeX; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -1471425107 + ) + @Export("sizeY") + public int sizeY; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 887491837 + ) + @Export("interactType") + public int interactType; + @ObfuscatedName("h") + @Export("boolean1") + public boolean boolean1; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 2069443219 + ) + @Export("int1") + public int int1; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1385916293 + ) + @Export("clipType") + int clipType; + @ObfuscatedName("j") + @Export("nonFlatShading") + boolean nonFlatShading; + @ObfuscatedName("d") + @Export("modelClipped") + public boolean modelClipped; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1077296785 + ) + @Export("animationId") + public int animationId; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1255987799 + ) + @Export("int2") + public int int2; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -1443717983 + ) + @Export("ambient") + int ambient; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -1558537711 + ) + @Export("contrast") + int contrast; + @ObfuscatedName("aw") + @Export("actions") + public String[] actions; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 2127089139 + ) + @Export("mapIconId") + public int mapIconId; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 468378425 + ) + @Export("mapSceneId") + public int mapSceneId; + @ObfuscatedName("ar") + @Export("isRotated") + boolean isRotated; + @ObfuscatedName("ab") + @Export("clipped") + public boolean clipped; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -1167602213 + ) + @Export("modelSizeX") + int modelSizeX; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -570144093 + ) + @Export("modelHeight") + int modelHeight; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 1741322051 + ) + @Export("modelSizeY") + int modelSizeY; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 771948197 + ) + @Export("offsetX") + int offsetX; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 1528184415 + ) + @Export("offsetHeight") + int offsetHeight; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 1216184101 + ) + @Export("offsetY") + int offsetY; + @ObfuscatedName("ai") + @Export("boolean2") + public boolean boolean2; + @ObfuscatedName("ak") + @Export("isSolid") + boolean isSolid; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 1194600097 + ) + @Export("int3") + public int int3; + @ObfuscatedName("am") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -702042991 + ) + @Export("transformVarbit") + int transformVarbit; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = 884373055 + ) + @Export("transformVarp") + int transformVarp; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = -214798847 + ) + @Export("ambientSoundId") + public int ambientSoundId; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -423945127 + ) + @Export("int4") + public int int4; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = -1044165733 + ) + @Export("int5") + public int int5; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -1994867697 + ) + @Export("int6") + public int int6; + @ObfuscatedName("au") + @Export("soundEffectIds") + public int[] soundEffectIds; + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("params") + IterableNodeHashTable params; + + static { + ObjectDefinition_isLowDetail = false; + ObjectDefinition_cached = new EvictingDualNodeHashTable(4096); + ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500); + ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30); + ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30); + field3342 = new ModelData[4]; + } + + ObjectDefinition() { + this.name = "null"; + this.sizeX = 1; + this.sizeY = 1; + this.interactType = 2; + this.boolean1 = true; + this.int1 = -1; + this.clipType = -1; + this.nonFlatShading = false; + this.modelClipped = false; + this.animationId = -1; + this.int2 = 16; + this.ambient = 0; + this.contrast = 0; + this.actions = new String[5]; + this.mapIconId = -1; + this.mapSceneId = -1; + this.isRotated = false; + this.clipped = true; + this.modelSizeX = 128; + this.modelHeight = 128; + this.modelSizeY = 128; + this.offsetX = 0; + this.offsetHeight = 0; + this.offsetY = 0; + this.boolean2 = false; + this.isSolid = false; + this.int3 = -1; + this.transformVarbit = -1; + this.transformVarp = -1; + this.ambientSoundId = -1; + this.int4 = 0; + this.int5 = 0; + this.int6 = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "52" + ) + @Export("postDecode") + void postDecode() { + if (this.int1 == -1) { + this.int1 = 0; + if (this.modelIds != null && (this.models == null || this.models[0] == 10)) { + this.int1 = 1; + } + + for (int var1 = 0; var1 < 5; ++var1) { + if (this.actions[var1] != null) { + this.int1 = 1; + } + } + } + + if (this.int3 == -1) { + this.int3 = this.interactType != 0 ? 1 : 0; + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "76" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-912301650" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedByte(); + if (var3 > 0) { + if (this.modelIds != null && !ObjectDefinition_isLowDetail) { + var1.offset += 3 * var3; + } else { + this.models = new int[var3]; + this.modelIds = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.modelIds[var4] = var1.readUnsignedShort(); + this.models[var4] = var1.readUnsignedByte(); + } + } + } + } else if (var2 == 2) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 5) { + var3 = var1.readUnsignedByte(); + if (var3 > 0) { + if (this.modelIds != null && !ObjectDefinition_isLowDetail) { + var1.offset += var3 * 2; + } else { + this.models = null; + this.modelIds = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.modelIds[var4] = var1.readUnsignedShort(); + } + } + } + } else if (var2 == 14) { + this.sizeX = var1.readUnsignedByte(); + } else if (var2 == 15) { + this.sizeY = var1.readUnsignedByte(); + } else if (var2 == 17) { + this.interactType = 0; + this.boolean1 = false; + } else if (var2 == 18) { + this.boolean1 = false; + } else if (var2 == 19) { + this.int1 = var1.readUnsignedByte(); + } else if (var2 == 21) { + this.clipType = 0; + } else if (var2 == 22) { + this.nonFlatShading = true; + } else if (var2 == 23) { + this.modelClipped = true; + } else if (var2 == 24) { + this.animationId = var1.readUnsignedShort(); + if (this.animationId == 65535) { + this.animationId = -1; + } + } else if (var2 == 27) { + this.interactType = 1; + } else if (var2 == 28) { + this.int2 = var1.readUnsignedByte(); + } else if (var2 == 29) { + this.ambient = var1.readByte(); + } else if (var2 == 39) { + this.contrast = var1.readByte(); + } else if (var2 >= 30 && var2 < 35) { + this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); + if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { + this.actions[var2 - 30] = null; + } + } else if (var2 == 40) { + var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short)var1.readUnsignedShort(); + this.recolorTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 41) { + var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short)var1.readUnsignedShort(); + this.retextureTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 62) { + this.isRotated = true; + } else if (var2 == 64) { + this.clipped = false; + } else if (var2 == 65) { + this.modelSizeX = var1.readUnsignedShort(); + } else if (var2 == 66) { + this.modelHeight = var1.readUnsignedShort(); + } else if (var2 == 67) { + this.modelSizeY = var1.readUnsignedShort(); + } else if (var2 == 68) { + this.mapSceneId = var1.readUnsignedShort(); + } else if (var2 == 69) { + var1.readUnsignedByte(); + } else if (var2 == 70) { + this.offsetX = var1.readShort(); + } else if (var2 == 71) { + this.offsetHeight = var1.readShort(); + } else if (var2 == 72) { + this.offsetY = var1.readShort(); + } else if (var2 == 73) { + this.boolean2 = true; + } else if (var2 == 74) { + this.isSolid = true; + } else if (var2 == 75) { + this.int3 = var1.readUnsignedByte(); + } else if (var2 != 77 && var2 != 92) { + if (var2 == 78) { + this.ambientSoundId = var1.readUnsignedShort(); + this.int4 = var1.readUnsignedByte(); + } else if (var2 == 79) { + this.int5 = var1.readUnsignedShort(); + this.int6 = var1.readUnsignedShort(); + this.int4 = var1.readUnsignedByte(); + var3 = var1.readUnsignedByte(); + this.soundEffectIds = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.soundEffectIds[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 81) { + this.clipType = var1.readUnsignedByte() * 256; + } else if (var2 == 82) { + this.mapIconId = var1.readUnsignedShort(); + } else if (var2 == 249) { + this.params = UserComparator5.readStringIntParameters(var1, this.params); + } + } else { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } + + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } + + var3 = -1; + if (var2 == 92) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } + + var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; + + for (int var5 = 0; var5 <= var4; ++var5) { + this.transforms[var5] = var1.readUnsignedShort(); + if (this.transforms[var5] == 65535) { + this.transforms[var5] = -1; + } + } + + this.transforms[var4 + 1] = var3; + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1830976839" + ) + public final boolean method4555(int var1) { + if (this.models != null) { + for (int var4 = 0; var4 < this.models.length; ++var4) { + if (this.models[var4] == var1) { + return ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var4] & 65535, 0); + } + } + + return true; + } else if (this.modelIds == null) { + return true; + } else if (var1 != 10) { + return true; + } else { + boolean var2 = true; + + for (int var3 = 0; var3 < this.modelIds.length; ++var3) { + var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var3] & 65535, 0); + } + + return var2; + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1580173918" + ) + @Export("needsModelFiles") + public final boolean needsModelFiles() { + if (this.modelIds == null) { + return true; + } else { + boolean var1 = true; + + for (int var2 = 0; var2 < this.modelIds.length; ++var2) { + var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var2] & 65535, 0); + } + + return var1; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(II[[IIIIB)Ler;", + garbageValue = "-50" + ) + @Export("getEntity") + public final Entity getEntity(int var1, int var2, int[][] var3, int var4, int var5, int var6) { + long var7; + if (this.models == null) { + var7 = (long)(var2 + (this.id << 10)); + } else { + var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); + } + + Object var9 = (Entity)ObjectDefinition_cachedEntities.get(var7); + if (var9 == null) { + ModelData var10 = this.getModelData(var1, var2); + if (var10 == null) { + return null; + } + + if (!this.nonFlatShading) { + var9 = var10.toModel(this.ambient + 64, this.contrast * 25 + 768, -50, -10, -50); + } else { + var10.ambient = (short)(this.ambient + 64); + var10.contrast = (short)(this.contrast * 25 + 768); + var10.calculateVertexNormals(); + var9 = var10; + } + + ObjectDefinition_cachedEntities.put((DualNode)var9, var7); + } + + if (this.nonFlatShading) { + var9 = ((ModelData)var9).method2760(); + } + + if (this.clipType * 65536 >= 0) { + if (var9 instanceof Model) { + var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType * 65536); + } else if (var9 instanceof ModelData) { + var9 = ((ModelData)var9).method2761(var3, var4, var5, var6, true, this.clipType * 65536); + } + } + + return (Entity)var9; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(II[[IIIII)Ldh;", + garbageValue = "-2129252392" + ) + @Export("getModel") + public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) { + long var7; + if (this.models == null) { + var7 = (long)(var2 + (this.id << 10)); + } else { + var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); + } + + Model var9 = (Model)ObjectDefinition_cachedModels.get(var7); + if (var9 == null) { + ModelData var10 = this.getModelData(var1, var2); + if (var10 == null) { + return null; + } + + var9 = var10.toModel(this.ambient + 64, this.contrast * 25 + 768, -50, -10, -50); + ObjectDefinition_cachedModels.put(var9, var7); + } + + if (this.clipType * 65536 >= 0) { + var9 = var9.contourGround(var3, var4, var5, var6, true, this.clipType * 65536); + } + + return var9; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(II[[IIIILix;II)Ldh;", + garbageValue = "680709040" + ) + @Export("getModelDynamic") + public final Model getModelDynamic(int var1, int var2, int[][] var3, int var4, int var5, int var6, SequenceDefinition var7, int var8) { + long var9; + if (this.models == null) { + var9 = (long)(var2 + (this.id << 10)); + } else { + var9 = (long)(var2 + (var1 << 3) + (this.id << 10)); + } + + Model var11 = (Model)ObjectDefinition_cachedModels.get(var9); + if (var11 == null) { + ModelData var12 = this.getModelData(var1, var2); + if (var12 == null) { + return null; + } + + var11 = var12.toModel(this.ambient + 64, this.contrast * 25 + 768, -50, -10, -50); + ObjectDefinition_cachedModels.put(var11, var9); + } + + if (var7 == null && this.clipType * 65536 == -1) { + return var11; + } else { + if (var7 != null) { + var11 = var7.transformObjectModel(var11, var8, var2); + } else { + var11 = var11.toSharedSequenceModel(true); + } + + if (this.clipType * 65536 >= 0) { + var11 = var11.contourGround(var3, var4, var5, var6, false, this.clipType * 65536); + } + + return var11; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(III)Ldw;", + garbageValue = "-1968594863" + ) + @Export("getModelData") + final ModelData getModelData(int var1, int var2) { + ModelData var3 = null; + boolean var4; + int var5; + int var7; + if (this.models == null) { + if (var1 != 10) { + return null; + } + + if (this.modelIds == null) { + return null; + } + + var4 = this.isRotated; + if (var1 == 2 && var2 > 3) { + var4 = !var4; + } + + var5 = this.modelIds.length; + + for (int var6 = 0; var6 < var5; ++var6) { + var7 = this.modelIds[var6]; + if (var4) { + var7 += 65536; + } + + var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7); + if (var3 == null) { + var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var7 & 65535, 0); + if (var3 == null) { + return null; + } + + if (var4) { + var3.method2770(); + } + + ObjectDefinition_cachedModelData.put(var3, (long)var7); + } + + if (var5 > 1) { + field3342[var6] = var3; + } + } + + if (var5 > 1) { + var3 = new ModelData(field3342, var5); + } + } else { + int var9 = -1; + + for (var5 = 0; var5 < this.models.length; ++var5) { + if (this.models[var5] == var1) { + var9 = var5; + break; + } + } + + if (var9 == -1) { + return null; + } + + var5 = this.modelIds[var9]; + boolean var10 = this.isRotated ^ var2 > 3; + if (var10) { + var5 += 65536; + } + + var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5); + if (var3 == null) { + var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var5 & 65535, 0); + if (var3 == null) { + return null; + } + + if (var10) { + var3.method2770(); + } + + ObjectDefinition_cachedModelData.put(var3, (long)var5); + } + } + + if (this.modelSizeX == 128 && this.modelHeight == 128 && this.modelSizeY == 128) { + var4 = false; + } else { + var4 = true; + } + + boolean var11; + if (this.offsetX == 0 && this.offsetHeight == 0 && this.offsetY == 0) { + var11 = false; + } else { + var11 = true; + } + + ModelData var8 = new ModelData(var3, var2 == 0 && !var4 && !var11, this.recolorFrom == null, null == this.retextureFrom, true); + if (var1 == 4 && var2 > 3) { + var8.method2763(256); + var8.changeOffset(45, 0, -45); + } + + var2 &= 3; + if (var2 == 1) { + var8.method2831(); + } else if (var2 == 2) { + var8.method2757(); + } else if (var2 == 3) { + var8.method2796(); + } + + if (this.recolorFrom != null) { + for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { + var8.recolor(this.recolorFrom[var7], this.recolorTo[var7]); + } + } + + if (this.retextureFrom != null) { + for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { + var8.retexture(this.retextureFrom[var7], this.retextureTo[var7]); + } + } + + if (var4) { + var8.resize(this.modelSizeX, this.modelHeight, this.modelSizeY); + } + + if (var11) { + var8.changeOffset(this.offsetX, this.offsetHeight, this.offsetY); + } + + return var8; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)Liz;", + garbageValue = "16" + ) + @Export("transform") + public final ObjectDefinition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = WorldMapSprite.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } + + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } + + return var2 != -1 ? GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var2) : null; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "79" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + return HealthBar.method2030(this.params, var1, var2); + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;B)Ljava/lang/String;", + garbageValue = "-65" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class96.method2259(this.params, var1, var2); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1401395643" + ) + @Export("hasSound") + public boolean hasSound() { + if (this.transforms == null) { + return this.ambientSoundId != -1 || this.soundEffectIds != null; + } else { + for (int var1 = 0; var1 < this.transforms.length; ++var1) { + if (this.transforms[var1] != -1) { + ObjectDefinition var2 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(this.transforms[var1]); + if (var2.ambientSoundId != -1 || var2.soundEffectIds != null) { + return true; + } + } + } + + return false; + } + } +} diff --git a/runescape-client/src/main/java/ObjectNode.java b/runescape-client/src/main/java/ObjectNode.java index 11c6be3f77..39eb4c4219 100644 --- a/runescape-client/src/main/java/ObjectNode.java +++ b/runescape-client/src/main/java/ObjectNode.java @@ -1,15 +1,15 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("fl") -@Implements("ObjectNode") -public class ObjectNode extends Node { - @ObfuscatedName("c") - @Export("obj") - public final Object obj; - - public ObjectNode(Object var1) { - this.obj = var1; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("fn") +@Implements("ObjectNode") +public class ObjectNode extends Node { + @ObfuscatedName("z") + @Export("obj") + public final Object obj; + + public ObjectNode(Object var1) { + this.obj = var1; + } +} diff --git a/runescape-client/src/main/java/ObjectSound.java b/runescape-client/src/main/java/ObjectSound.java index dbc2bd3970..26cca75c7a 100644 --- a/runescape-client/src/main/java/ObjectSound.java +++ b/runescape-client/src/main/java/ObjectSound.java @@ -1,632 +1,140 @@ -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.ScriptOpcodes; - -@ObfuscatedName("br") -@Implements("ObjectSound") -public final class ObjectSound extends Node { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("objectSounds") - static NodeDeque objectSounds; - @ObfuscatedName("fm") - @ObfuscatedGetter( - longValue = 3707891332291918019L - ) - static long field1055; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -131681461 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -847535653 - ) - @Export("plane") - int plane; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -296755339 - ) - @Export("x") - int x; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 433341051 - ) - int field1043; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -558893015 - ) - int field1051; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1563858607 - ) - int field1039; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1387482755 - ) - @Export("soundEffectId") - int soundEffectId; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lda;" - ) - @Export("stream1") - RawPcmStream stream1; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1081184403 - ) - int field1048; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 348352431 - ) - int field1049; - @ObfuscatedName("h") - @Export("soundEffectIds") - int[] soundEffectIds; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1879322163 - ) - int field1042; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lda;" - ) - @Export("stream2") - RawPcmStream stream2; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Liy;" - ) - @Export("obj") - ObjectDefinition obj; - - static { - objectSounds = new NodeDeque(); - } - - ObjectSound() { - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "43406199" - ) - @Export("set") - void set() { - int var1 = this.soundEffectId; - ObjectDefinition var2 = this.obj.transform(); - if (var2 != null) { - this.soundEffectId = var2.ambientSoundId; - this.field1039 = var2.int4 * 128; - this.field1048 = var2.int5; - this.field1049 = var2.int6; - this.soundEffectIds = var2.soundEffectIds; - } else { - this.soundEffectId = -1; - this.field1039 = 0; - this.field1048 = 0; - this.field1049 = 0; - this.soundEffectIds = null; - } - - if (var1 != this.soundEffectId && this.stream1 != null) { - class51.pcmStreamMixer.removeSubStream(this.stream1); - this.stream1 = null; - } - - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "-1423312068" - ) - static int method1884(int var0, Script var1, boolean var2) { - int var3; - if (var0 == 6600) { - var3 = MouseRecorder.plane; - int var9 = class4.baseX * 64 + (Varps.localPlayer.x * -78439701 >> 7); - int var5 = ScriptEvent.baseY + (Varps.localPlayer.y >> 7); - class1.getWorldMap().method6275(var3, var9, var5, true); - return 1; - } else { - WorldMapArea var11; - if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - String var16 = ""; - var11 = class1.getWorldMap().getMapArea(var3); - if (var11 != null) { - var16 = var11.getExternalName(); - } - - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var16; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - class1.getWorldMap().setCurrentMapAreaId(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().getZoomLevel(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - class1.getWorldMap().setZoomPercentage(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().isCacheLoaded() ? 1 : 0; - return 1; - } else { - Coord var15; - if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { - var15 = new Coord(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - class1.getWorldMap().setWorldMapPositionTarget(var15.x, var15.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { - var15 = new Coord(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - class1.getWorldMap().setWorldMapPositionTargetInstant(var15.x, var15.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { - var15 = new Coord(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - class1.getWorldMap().jumpToSourceCoord(var15.plane, var15.x, var15.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { - var15 = new Coord(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - class1.getWorldMap().jumpToSourceCoordInstant(var15.plane, var15.x, var15.y); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().getDisplayX(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().getDisplayY(); - return 1; - } else { - WorldMapArea var13; - if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var13 = class1.getWorldMap().getMapArea(var3); - if (var13 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var13.getOrigin().packed(); - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var13 = class1.getWorldMap().getMapArea(var3); - if (var13 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (var13.getRegionHighX() - var13.getRegionLowX() + 1) * 64; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (var13.getRegionHighY() - var13.getRegionLowY() + 1) * 64; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var13 = class1.getWorldMap().getMapArea(var3); - if (var13 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var13.getRegionLowX() * 64; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var13.getRegionLowY() * 64; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var13.getRegionHighX() * 64 + 64 - 1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var13.getRegionHighY() * 64 + 64 - 1; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var13 = class1.getWorldMap().getMapArea(var3); - if (var13 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var13.getZoom(); - } - - return 1; - } else if (var0 == 6615) { - var15 = class1.getWorldMap().getDisplayCoord(); - if (var15 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var15.x; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var15.y; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().currentMapAreaId(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { - var15 = new Coord(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - var13 = class1.getWorldMap().getCurrentMapArea(); - if (var13 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - return 1; - } else { - int[] var14 = var13.position(var15.plane, var15.x, var15.y); - if (var14 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var14[0]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var14[1]; - } - - return 1; - } - } else { - Coord var7; - if (var0 == 6618) { - var15 = new Coord(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - var13 = class1.getWorldMap().getCurrentMapArea(); - if (var13 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - return 1; - } else { - var7 = var13.coord(var15.x, var15.y); - if (var7 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var7.packed(); - } - - return 1; - } - } else { - Coord var12; - if (var0 == 6619) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var12 = new Coord(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - WorldMapSprite.method380(var3, var12, false); - return 1; - } else if (var0 == 6620) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var12 = new Coord(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - WorldMapSprite.method380(var3, var12, true); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var12 = new Coord(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - var11 = class1.getWorldMap().getMapArea(var3); - if (var11 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - return 1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var11.containsCoord(var12.plane, var12.x, var12.y) ? 1 : 0; - return 1; - } - } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().getDisplayWith(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().getDisplayHeight(); - return 1; - } else if (var0 == 6623) { - var15 = new Coord(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - var13 = class1.getWorldMap().mapAreaAtCoord(var15.plane, var15.x, var15.y); - if (var13 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var13.getId(); - } - - return 1; - } else if (var0 == 6624) { - class1.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - return 1; - } else if (var0 == 6625) { - class1.getWorldMap().resetMaxFlashCount(); - return 1; - } else if (var0 == 6626) { - class1.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - return 1; - } else if (var0 == 6627) { - class1.getWorldMap().resetCyclesPerFlash(); - return 1; - } else { - boolean var10; - if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class1.getWorldMap().setPerpetualFlash(var10); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - class1.getWorldMap().flashElement(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - class1.getWorldMap().flashCategory(var3); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { - class1.getWorldMap().stopCurrentFlashes(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class1.getWorldMap().setElementsDisabled(var10); - return 1; - } else { - boolean var4; - if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1] == 1; - class1.getWorldMap().disableElement(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1] == 1; - class1.getWorldMap().setCategoryDisabled(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().getElementsDisabled() ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().isElementDisabled(var3) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class1.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; - return 1; - } else if (var0 == 6638) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var12 = new Coord(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - var7 = class1.getWorldMap().method6319(var3, var12); - if (var7 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var7.packed(); - } - - return 1; - } else { - AbstractWorldMapIcon var8; - if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { - var8 = class1.getWorldMap().iconStart(); - if (var8 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var8.getElement(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var8.coord2.packed(); - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { - var8 = class1.getWorldMap().iconNext(); - if (var8 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var8.getElement(); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var8.coord2.packed(); - } - - return 1; - } else { - WorldMapElement var6; - if (var0 == ScriptOpcodes.MEC_TEXT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = WorldMapSection1.WorldMapElement_get(var3); - if (var6.name == null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var6.name; - } - - return 1; - } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = WorldMapSection1.WorldMapElement_get(var3); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6.textSize; - return 1; - } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = WorldMapSection1.WorldMapElement_get(var3); - if (var6 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6.category; - } - - return 1; - } else if (var0 == ScriptOpcodes.MEC_SPRITE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var6 = WorldMapSection1.WorldMapElement_get(var3); - if (var6 == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var6.sprite1; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class32.worldMapEvent.mapElement; - return 1; - } else if (var0 == 6698) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class32.worldMapEvent.coord1.packed(); - return 1; - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class32.worldMapEvent.coord2.packed(); - return 1; - } else { - return 2; - } - } - } - } - } - } - } - } - } - } - } - - @ObfuscatedName("hj") - @ObfuscatedSignature( - signature = "(Lkt;I)V", - garbageValue = "-1146990373" - ) - static final void method1888(PacketBuffer var0) { - for (int var1 = 0; var1 < Client.field666; ++var1) { - int var2 = Client.field881[var1]; - NPC var3 = Client.npcs[var2]; - int var4 = var0.readUnsignedByte(); - int var5; - if ((var4 & 4) != 0) { - var3.spotAnimation = var0.method5459(); - var5 = var0.method5587(); - var3.heightOffset = var5 >> 16; - var3.field957 = (var5 & 65535) + Client.cycle; - var3.spotAnimationFrame = 0; - var3.spotAnimationFrameCycle = 0; - if (var3.field957 > Client.cycle) { - var3.spotAnimationFrame = -1; - } - - if (var3.spotAnimation == 65535) { - var3.spotAnimation = -1; - } - } - - int var6; - int var7; - int var8; - if ((var4 & 1) != 0) { - var5 = var0.method5503(); - var6 = var0.method5503(); - var7 = var3.x * -78439701 - (var5 - class4.baseX * 64 - class4.baseX * 64) * 64; - var8 = var3.y - (var6 - ScriptEvent.baseY - ScriptEvent.baseY) * 64; - if (var7 != 0 || var8 != 0) { - var3.field945 = (int)(Math.atan2((double)var7, (double)var8) * 325.949D) & 2047; - } - } - - if ((var4 & 64) != 0) { - var3.overheadText = var0.readStringCp1252NullTerminated(); - var3.overheadTextCyclesRemaining = 100; - } - - if ((var4 & 8) != 0) { - var3.targetIndex = var0.method5459(); - if (var3.targetIndex == 65535) { - var3.targetIndex = -1; - } - } - - if ((var4 & 2) != 0) { - var5 = var0.method5547(); - int var9; - int var10; - int var11; - if (var5 > 0) { - for (var6 = 0; var6 < var5; ++var6) { - var8 = -1; - var9 = -1; - var10 = -1; - var7 = var0.readUShortSmart(); - if (var7 == 32767) { - var7 = var0.readUShortSmart(); - var9 = var0.readUShortSmart(); - var8 = var0.readUShortSmart(); - var10 = var0.readUShortSmart(); - } else if (var7 != 32766) { - var9 = var0.readUShortSmart(); - } else { - var7 = -1; - } - - var11 = var0.readUShortSmart(); - var3.addHitSplat(var7, var9, var8, var10, Client.cycle, var11); - } - } - - var6 = var0.method5494(); - if (var6 > 0) { - for (var7 = 0; var7 < var6; ++var7) { - var8 = var0.readUShortSmart(); - var9 = var0.readUShortSmart(); - if (var9 != 32767) { - var10 = var0.readUShortSmart(); - var11 = var0.readUnsignedByte(); - int var12 = var9 > 0 ? var0.method5547() : var11; - var3.addHealthBar(var8, Client.cycle, var9, var10, var11, var12); - } else { - var3.removeHealthBar(var8); - } - } - } - } - - if ((var4 & 32) != 0) { - var5 = var0.method5514(); - if (var5 == 65535) { - var5 = -1; - } - - var6 = var0.readUnsignedByteNegate(); - if (var5 == var3.sequence && var5 != -1) { - var7 = class83.SequenceDefinition_get(var5).field3502; - if (var7 == 1) { - var3.sequenceFrame = 0; - var3.sequenceFrameCycle = 0; - var3.sequenceDelay = var6; - var3.field924 = 0; - } - - if (var7 == 2) { - var3.field924 = 0; - } - } else if (var5 == -1 || var3.sequence == -1 || class83.SequenceDefinition_get(var5).field3504 >= class83.SequenceDefinition_get(var3.sequence).field3504) { - var3.sequence = var5; - var3.sequenceFrame = 0; - var3.sequenceFrameCycle = 0; - var3.sequenceDelay = var6; - var3.field924 = 0; - var3.field969 = var3.pathLength; - } - } - - if ((var4 & 16) != 0) { - var3.definition = FontName.getNpcDefinition(var0.method5514()); - var3.size = var3.definition.size; - var3.field953 = var3.definition.rotation; - var3.walkSequence = var3.definition.walkSequence; - var3.walkBackSequence = var3.definition.walkBackSequence; - var3.walkLeftSequence = var3.definition.walkLeftSequence; - var3.walkRightSequence = var3.definition.walkRightSequence; - var3.readySequence = var3.definition.readySequence; - var3.turnLeftSequence = var3.definition.turnLeftSequence; - var3.turnRightSequence = var3.definition.turnRightSequence; - } - } - - } -} +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("bg") +@Implements("ObjectSound") +public final class ObjectSound extends Node { + @ObfuscatedName("pk") + @ObfuscatedSignature( + signature = "Llf;" + ) + @Export("sceneMinimapSprite") + static Sprite sceneMinimapSprite; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("objectSounds") + static NodeDeque objectSounds; + @ObfuscatedName("hs") + @ObfuscatedGetter( + intValue = -1030939799 + ) + @Export("oculusOrbFocalPointX") + static int oculusOrbFocalPointX; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1622269101 + ) + int field1059; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1770378821 + ) + @Export("plane") + int plane; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -331149697 + ) + @Export("x") + int x; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Liz;" + ) + @Export("obj") + ObjectDefinition obj; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 514830237 + ) + @Export("y") + int y; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -394210361 + ) + int field1060; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1094960613 + ) + int field1061; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 287004655 + ) + @Export("soundEffectId") + int soundEffectId; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Ldu;" + ) + @Export("stream1") + RawPcmStream stream1; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 985540703 + ) + int field1064; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -91764577 + ) + int field1070; + @ObfuscatedName("o") + @Export("soundEffectIds") + int[] soundEffectIds; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1113854033 + ) + int field1067; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ldu;" + ) + @Export("stream2") + RawPcmStream stream2; + + static { + objectSounds = new NodeDeque(); + } + + ObjectSound() { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-28" + ) + @Export("set") + void set() { + int var1 = this.soundEffectId; + ObjectDefinition var2 = this.obj.transform(); + if (var2 != null) { + this.soundEffectId = var2.ambientSoundId; + this.field1061 = var2.int4 * 128; + this.field1064 = var2.int5; + this.field1070 = var2.int6; + this.soundEffectIds = var2.soundEffectIds; + } else { + this.soundEffectId = -1; + this.field1061 = 0; + this.field1064 = 0; + this.field1070 = 0; + this.soundEffectIds = null; + } + + if (var1 != this.soundEffectId && this.stream1 != null) { + WorldMapLabelSize.pcmStreamMixer.removeSubStream(this.stream1); + this.stream1 = null; + } + + } +} diff --git a/runescape-client/src/main/java/Occluder.java b/runescape-client/src/main/java/Occluder.java index c8e59e7f6b..7b42301a5c 100644 --- a/runescape-client/src/main/java/Occluder.java +++ b/runescape-client/src/main/java/Occluder.java @@ -1,149 +1,236 @@ -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("ek") -@Implements("Occluder") -public final class Occluder { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 362641763 - ) - @Export("minTileX") - int minTileX; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1829777649 - ) - @Export("maxTileX") - int maxTileX; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -990403321 - ) - @Export("minTileY") - int minTileY; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 2788625 - ) - @Export("maxTileY") - int maxTileY; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 2035384345 - ) - @Export("type") - int type; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -37921347 - ) - @Export("minX") - int minX; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -774956393 - ) - @Export("maxX") - int maxX; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1495961471 - ) - @Export("minZ") - int minZ; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1326985595 - ) - @Export("maxZ") - int maxZ; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -790456829 - ) - @Export("minY") - int minY; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1754197059 - ) - @Export("maxY") - int maxY; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1722833995 - ) - int field1872; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -112821165 - ) - int field1873; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -226733423 - ) - int field1861; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 387341237 - ) - int field1879; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1097243593 - ) - int field1876; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1639828993 - ) - int field1871; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 218753559 - ) - int field1878; - - Occluder() { - } - - @ObfuscatedName("go") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "8" - ) - static final void method3253() { - Client.field735 = 0; - int var0 = class4.baseX * 64 + (Varps.localPlayer.x * -78439701 >> 7); - int var1 = (Varps.localPlayer.y >> 7) + ScriptEvent.baseY; - if (var0 >= 3053 && var0 <= 3156 && var1 >= 3056 && var1 <= 3136) { - Client.field735 = 1; - } - - if (var0 >= 3072 && var0 <= 3118 && var1 >= 9492 && var1 <= 9535) { - Client.field735 = 1; - } - - if (Client.field735 == 1 && var0 >= 3139 && var0 <= 3199 && var1 >= 3008 && var1 <= 3062) { - Client.field735 = 0; - } - - } - - @ObfuscatedName("ix") - @ObfuscatedSignature( - signature = "(IIIZB)V", - garbageValue = "48" - ) - @Export("resizeComponents") - static final void resizeComponents(int var0, int var1, int var2, boolean var3) { - if (TaskHandler.loadInterface(var0)) { - class80.resizeInterface(class289.Widget_interfaceComponents[var0], -1, var1, var2, var3); - } - } -} +import java.util.Date; +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("es") +@Implements("Occluder") +public final class Occluder { + @ObfuscatedName("ns") + @ObfuscatedGetter( + intValue = 1790718175 + ) + static int field1889; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1195661333 + ) + @Export("minTileX") + int minTileX; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1045185805 + ) + @Export("maxTileX") + int maxTileX; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1813082719 + ) + @Export("minTileY") + int minTileY; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 2061838755 + ) + @Export("maxTileY") + int maxTileY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1843610955 + ) + @Export("type") + int type; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -629573769 + ) + @Export("minX") + int minX; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1170068749 + ) + @Export("maxX") + int maxX; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1998915961 + ) + @Export("minZ") + int minZ; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 88556865 + ) + @Export("maxZ") + int maxZ; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1146642601 + ) + @Export("minY") + int minY; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -486759885 + ) + @Export("maxY") + int maxY; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1230823835 + ) + int field1882; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1799381643 + ) + int field1884; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -269756741 + ) + int field1871; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1633183437 + ) + int field1885; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 265274287 + ) + int field1886; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1265477601 + ) + int field1879; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -163200097 + ) + int field1887; + + Occluder() { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)Lit;", + garbageValue = "1430884212" + ) + @Export("ItemDefinition_get") + public static ItemDefinition ItemDefinition_get(int var0) { + ItemDefinition var1 = (ItemDefinition)ItemDefinition.ItemDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = ItemDefinition.ItemDefinition_archive.takeFile(10, var0); + var1 = new ItemDefinition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.post(); + if (var1.noteTemplate != -1) { + var1.genCert(ItemDefinition_get(var1.noteTemplate), ItemDefinition_get(var1.note)); + } + + if (var1.notedId != -1) { + var1.genBought(ItemDefinition_get(var1.notedId), ItemDefinition_get(var1.unnotedId)); + } + + if (var1.placeholderTemplate != -1) { + var1.genPlaceholder(ItemDefinition_get(var1.placeholderTemplate), ItemDefinition_get(var1.placeholder)); + } + + if (!class162.ItemDefinition_inMembersWorld && var1.isMembersOnly) { + var1.name = "Members object"; + var1.isTradable = false; + var1.groundActions = null; + var1.inventoryActions = null; + var1.shiftClickIndex = -1; + var1.team = 0; + if (var1.params != null) { + boolean var3 = false; + + for (Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) { + ParamDefinition var5 = WallDecoration.getParamDefinition((int)var4.key); + if (var5.autoDisable) { + var4.remove(); + } else { + var3 = true; + } + } + + if (!var3) { + var1.params = null; + } + } + } + + ItemDefinition.ItemDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-37" + ) + public static void method3248() { + try { + JagexCache.JagexCache_dat2File.close(); + + for (int var0 = 0; var0 < JagexCache.idxCount; ++var0) { + class189.JagexCache_idxFiles[var0].close(); + } + + JagexCache.JagexCache_idx255File.close(); + JagexCache.JagexCache_randomDat.close(); + } catch (Exception var2) { + } + + } + + @ObfuscatedName("ku") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "-1221499190" + ) + static void method3247(String var0) { + class197.field2390 = var0; + + try { + String var1 = ViewportMouse.client.getParameter(Integer.toString(18)); + String var2 = ViewportMouse.client.getParameter(Integer.toString(13)); + String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2; + if (var0.length() == 0) { + var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; + } else { + String var4 = var3 + "; Expires="; + long var6 = class30.method566() + 94608000000L; + Calendar.Calendar_calendar.setTime(new Date(var6)); + int var8 = Calendar.Calendar_calendar.get(7); + int var9 = Calendar.Calendar_calendar.get(5); + int var10 = Calendar.Calendar_calendar.get(2); + int var11 = Calendar.Calendar_calendar.get(1); + int var12 = Calendar.Calendar_calendar.get(11); + int var13 = Calendar.Calendar_calendar.get(12); + int var14 = Calendar.Calendar_calendar.get(13); + String var5 = Calendar.DAYS_OF_THE_WEEK[var8 - 1] + ", " + var9 / 10 + var9 % 10 + "-" + Calendar.MONTH_NAMES_ENGLISH_GERMAN[0][var10] + "-" + var11 + " " + var12 / 10 + var12 % 10 + ":" + var13 / 10 + var13 % 10 + ":" + var14 / 10 + var14 % 10 + " GMT"; + var3 = var4 + var5 + "; Max-Age=" + 94608000L; + } + + class47.method880(ViewportMouse.client, "document.cookie=\"" + var3 + "\""); + } catch (Throwable var15) { + } + + } +} diff --git a/runescape-client/src/main/java/PacketBuffer.java b/runescape-client/src/main/java/PacketBuffer.java index b99bd340c6..fc35227a97 100644 --- a/runescape-client/src/main/java/PacketBuffer.java +++ b/runescape-client/src/main/java/PacketBuffer.java @@ -1,160 +1,242 @@ -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("kt") -@Implements("PacketBuffer") -public class PacketBuffer extends Buffer { - @ObfuscatedName("x") - static final int[] field3690; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("isaacCipher") - IsaacCipher isaacCipher; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -2134590215 - ) - @Export("bitIndex") - int bitIndex; - - static { - field3690 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; - } - - public PacketBuffer(int var1) { - super(var1); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([II)V", - garbageValue = "-39144257" - ) - @Export("newIsaacCipher") - public void newIsaacCipher(int[] var1) { - this.isaacCipher = new IsaacCipher(var1); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lld;I)V", - garbageValue = "-1534737114" - ) - @Export("setIsaacCipher") - public void setIsaacCipher(IsaacCipher var1) { - this.isaacCipher = var1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-52" - ) - @Export("writeByteIsaac") - public void writeByteIsaac(int var1) { - super.array[++super.offset - 1] = (byte)(var1 + this.isaacCipher.nextInt()); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "2" - ) - @Export("readByteIsaac") - public int readByteIsaac() { - return super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-618198962" - ) - public boolean method5417() { - int var1 = super.array[super.offset] - this.isaacCipher.method6210() & 255; - return var1 >= 128; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "0" - ) - @Export("readSmartByteShortIsaac") - public int readSmartByteShortIsaac() { - int var1 = super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; - return var1 < 128 ? var1 : (var1 - 128 << 8) + (super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "([BIII)V", - garbageValue = "-758328547" - ) - public void method5419(byte[] var1, int var2, int var3) { - for (int var4 = 0; var4 < var3; ++var4) { - var1[var4 + var2] = (byte)(super.array[++super.offset - 1] - this.isaacCipher.nextInt()); - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2137116524" - ) - @Export("importIndex") - public void importIndex() { - this.bitIndex = super.offset * 8; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IS)I", - garbageValue = "20518" - ) - @Export("readBits") - public int readBits(int var1) { - int var2 = this.bitIndex >> 3; - int var3 = 8 - (this.bitIndex & 7); - int var4 = 0; - - for (this.bitIndex += var1; var1 > var3; var3 = 8) { - var4 += (super.array[var2++] & field3690[var3]) << var1 - var3; - var1 -= var3; - } - - if (var3 == var1) { - var4 += super.array[var2] & field3690[var3]; - } else { - var4 += super.array[var2] >> var3 - var1 & field3690[var1]; - } - - return var4; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1696608265" - ) - @Export("exportIndex") - public void exportIndex() { - super.offset = (this.bitIndex + 7) / 8; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "163494637" - ) - @Export("bitsRemaining") - public int bitsRemaining(int var1) { - return var1 * 8 - this.bitIndex; - } -} +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.ScriptOpcodes; + +@ObfuscatedName("kf") +@Implements("PacketBuffer") +public class PacketBuffer extends Buffer { + @ObfuscatedName("n") + static final int[] field3695; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Llg;" + ) + @Export("isaacCipher") + IsaacCipher isaacCipher; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1801396377 + ) + @Export("bitIndex") + int bitIndex; + + static { + field3695 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; + } + + public PacketBuffer(int var1) { + super(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([II)V", + garbageValue = "2116683841" + ) + @Export("newIsaacCipher") + public void newIsaacCipher(int[] var1) { + this.isaacCipher = new IsaacCipher(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Llg;B)V", + garbageValue = "100" + ) + @Export("setIsaacCipher") + public void setIsaacCipher(IsaacCipher var1) { + this.isaacCipher = var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1358666817" + ) + @Export("writeByteIsaac") + public void writeByteIsaac(int var1) { + super.array[++super.offset - 1] = (byte)(var1 + this.isaacCipher.nextInt()); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-2099772642" + ) + @Export("readByteIsaac") + public int readByteIsaac() { + return super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1080759401" + ) + public boolean method5380() { + int var1 = super.array[super.offset] - this.isaacCipher.method6191() & 255; + return var1 >= 128; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "427431431" + ) + @Export("readSmartByteShortIsaac") + public int readSmartByteShortIsaac() { + int var1 = super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; + return var1 < 128 ? var1 : (var1 - 128 << 8) + (super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIII)V", + garbageValue = "1740365961" + ) + public void method5385(byte[] var1, int var2, int var3) { + for (int var4 = 0; var4 < var3; ++var4) { + var1[var4 + var2] = (byte)(super.array[++super.offset - 1] - this.isaacCipher.nextInt()); + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1647095141" + ) + @Export("importIndex") + public void importIndex() { + this.bitIndex = super.offset * 8; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1367970229" + ) + @Export("readBits") + public int readBits(int var1) { + int var2 = this.bitIndex >> 3; + int var3 = 8 - (this.bitIndex & 7); + int var4 = 0; + + for (this.bitIndex += var1; var1 > var3; var3 = 8) { + var4 += (super.array[var2++] & field3695[var3]) << var1 - var3; + var1 -= var3; + } + + if (var3 == var1) { + var4 += super.array[var2] & field3695[var3]; + } else { + var4 += super.array[var2] >> var3 - var1 & field3695[var1]; + } + + return var4; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "4" + ) + @Export("exportIndex") + public void exportIndex() { + super.offset = (this.bitIndex + 7) / 8; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "586994412" + ) + @Export("bitsRemaining") + public int bitsRemaining(int var1) { + return var1 * 8 - this.bitIndex; + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(ILcu;ZB)I", + garbageValue = "82" + ) + static int method5408(int var0, Script var1, boolean var2) { + int var3; + int var4; + int var6; + if (var0 == ScriptOpcodes.ENUM_STRING) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + EnumDefinition var5 = UserComparator10.getEnum(var3); + if (var5.outputType != 's') { + } + + for (var6 = 0; var6 < var5.outputCount; ++var6) { + if (var4 == var5.keys[var6]) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.strVals[var6]; + var5 = null; + break; + } + } + + if (var5 != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.defaultStr; + } + + return 1; + } else if (var0 != ScriptOpcodes.ENUM) { + if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + EnumDefinition var10 = UserComparator10.getEnum(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var10.size(); + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + EnumDefinition var7 = UserComparator10.getEnum(var9); + if (var3 == var7.inputType && var4 == var7.outputType) { + for (int var8 = 0; var8 < var7.outputCount; ++var8) { + if (var6 == var7.keys[var8]) { + if (var4 == 115) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.strVals[var8]; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.intVals[var8]; + } + + var7 = null; + break; + } + } + + if (var7 != null) { + if (var4 == 115) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.defaultStr; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.defaultInt; + } + } + + return 1; + } else { + if (var4 == 115) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "null"; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } +} diff --git a/runescape-client/src/main/java/PacketBufferNode.java b/runescape-client/src/main/java/PacketBufferNode.java index 10fa400410..d2f18f8dee 100644 --- a/runescape-client/src/main/java/PacketBufferNode.java +++ b/runescape-client/src/main/java/PacketBufferNode.java @@ -1,104 +1,93 @@ -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("gj") -@Implements("PacketBufferNode") -public class PacketBufferNode extends Node { - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "[Lgj;" - ) - @Export("PacketBufferNode_packetBufferNodes") - static PacketBufferNode[] PacketBufferNode_packetBufferNodes; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1509343701 - ) - @Export("PacketBufferNode_packetBufferNodeCount") - static int PacketBufferNode_packetBufferNodeCount; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgw;" - ) - @Export("clientPacket") - public ClientPacket clientPacket; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1279904825 - ) - @Export("clientPacketLength") - public int clientPacketLength; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lkt;" - ) - @Export("packetBuffer") - public PacketBuffer packetBuffer; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1995143083 - ) - @Export("index") - public int index; - - static { - PacketBufferNode_packetBufferNodes = new PacketBufferNode[300]; - PacketBufferNode_packetBufferNodeCount = 0; - } - - PacketBufferNode() { - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - @Export("release") - public void release() { - if (PacketBufferNode_packetBufferNodeCount < PacketBufferNode_packetBufferNodes.length) { - PacketBufferNode_packetBufferNodes[++PacketBufferNode_packetBufferNodeCount - 1] = this; - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1275149709" - ) - public static String method3616(String var0) { - int var1 = var0.length(); - char[] var2 = new char[var1]; - byte var3 = 2; - - for (int var4 = 0; var4 < var1; ++var4) { - char var5 = var0.charAt(var4); - if (var3 == 0) { - var5 = Character.toLowerCase(var5); - } else if (var3 == 2 || Character.isUpperCase(var5)) { - var5 = WorldMapDecoration.method302(var5); - } - - if (Character.isLetter(var5)) { - var3 = 0; - } else if (var5 != '.' && var5 != '?' && var5 != '!') { - if (Character.isSpaceChar(var5)) { - if (var3 != 2) { - var3 = 1; - } - } else { - var3 = 1; - } - } else { - var3 = 2; - } - - var2[var4] = var5; - } - - return new String(var2); - } -} +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("gn") +@Implements("PacketBufferNode") +public class PacketBufferNode extends Node { + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "[Lgn;" + ) + @Export("PacketBufferNode_packetBufferNodes") + static PacketBufferNode[] PacketBufferNode_packetBufferNodes; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 6984373 + ) + @Export("PacketBufferNode_packetBufferNodeCount") + static int PacketBufferNode_packetBufferNodeCount; + @ObfuscatedName("y") + @Export("SpriteBuffer_pixels") + public static byte[][] SpriteBuffer_pixels; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgy;" + ) + @Export("clientPacket") + ClientPacket clientPacket; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1214677313 + ) + @Export("clientPacketLength") + int clientPacketLength; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lkf;" + ) + @Export("packetBuffer") + public PacketBuffer packetBuffer; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 232074557 + ) + @Export("index") + public int index; + + static { + PacketBufferNode_packetBufferNodes = new PacketBufferNode[300]; + PacketBufferNode_packetBufferNodeCount = 0; + } + + PacketBufferNode() { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-873176834" + ) + @Export("release") + public void release() { + if (PacketBufferNode_packetBufferNodeCount < PacketBufferNode_packetBufferNodes.length) { + PacketBufferNode_packetBufferNodes[++PacketBufferNode_packetBufferNodeCount - 1] = this; + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Lil;", + garbageValue = "1677952312" + ) + @Export("getNpcDefinition") + public static NPCDefinition getNpcDefinition(int var0) { + NPCDefinition var1 = (NPCDefinition)NPCDefinition.NpcDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = NPCDefinition.NpcDefinition_archive.takeFile(9, var0); + var1 = new NPCDefinition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + NPCDefinition.NpcDefinition_cached.put(var1, (long)var0); + return var1; + } + } +} diff --git a/runescape-client/src/main/java/PacketWriter.java b/runescape-client/src/main/java/PacketWriter.java index e0f91e8d56..57e7d7fbce 100644 --- a/runescape-client/src/main/java/PacketWriter.java +++ b/runescape-client/src/main/java/PacketWriter.java @@ -1,274 +1,201 @@ -import java.io.IOException; -import java.util.LinkedHashMap; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; -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("cx") -@Implements("PacketWriter") -public class PacketWriter { - @ObfuscatedName("sh") - @ObfuscatedSignature( - signature = "Lj;" - ) - @Export("grandExchangeEvents") - static GrandExchangeEvents grandExchangeEvents; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lks;" - ) - @Export("socket") - AbstractSocket socket; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ljd;" - ) - @Export("packetBufferNodes") - IterableNodeDeque packetBufferNodes; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1063535483 - ) - @Export("bufferSize") - int bufferSize; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lkz;" - ) - @Export("buffer") - Buffer buffer; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lld;" - ) - @Export("isaacCipher") - public IsaacCipher isaacCipher; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lkt;" - ) - @Export("packetBuffer") - PacketBuffer packetBuffer; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lga;" - ) - @Export("serverPacket") - ServerPacket serverPacket; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1384639011 - ) - @Export("serverPacketLength") - int serverPacketLength; - @ObfuscatedName("d") - boolean field1281; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1450743325 - ) - int field1283; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 135236915 - ) - @Export("pendingWrites") - int pendingWrites; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lga;" - ) - ServerPacket field1274; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lga;" - ) - ServerPacket field1286; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lga;" - ) - ServerPacket field1287; - - PacketWriter() { - this.packetBufferNodes = new IterableNodeDeque(); - this.bufferSize = 0; - this.buffer = new Buffer(5000); - this.packetBuffer = new PacketBuffer(40000); - this.serverPacket = null; - this.serverPacketLength = 0; - this.field1281 = true; - this.field1283 = 0; - this.pendingWrites = 0; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1888658982" - ) - @Export("clearBuffer") - final void clearBuffer() { - this.packetBufferNodes.rsClear(); - this.bufferSize = 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - @Export("flush") - final void flush() throws IOException { - if (this.socket != null && this.bufferSize > 0) { - this.buffer.offset = 0; - - while (true) { - PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last(); - if (var1 == null || var1.index > this.buffer.array.length - this.buffer.offset) { - this.socket.write(this.buffer.array, 0, this.buffer.offset); - this.pendingWrites = 0; - break; - } - - this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index); - this.bufferSize -= var1.index; - var1.remove(); - var1.packetBuffer.releaseArray(); - var1.release(); - } - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lgj;S)V", - garbageValue = "5307" - ) - @Export("addNode") - public final void addNode(PacketBufferNode var1) { - this.packetBufferNodes.addFirst(var1); - var1.index = var1.packetBuffer.offset; - var1.packetBuffer.offset = 0; - this.bufferSize += var1.index; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lks;B)V", - garbageValue = "1" - ) - @Export("setSocket") - void setSocket(AbstractSocket var1) { - this.socket = var1; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "111" - ) - @Export("close") - void close() { - if (this.socket != null) { - this.socket.close(); - this.socket = null; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1660773387" - ) - @Export("removeSocket") - void removeSocket() { - this.socket = null; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)Lks;", - garbageValue = "-1816909725" - ) - @Export("getSocket") - AbstractSocket getSocket() { - return this.socket; - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(Lfq;IIB)Ldh;", - garbageValue = "25" - ) - public static final PcmPlayer method2246(TaskHandler var0, int var1, int var2) { - if (GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate == 0) { - throw new IllegalStateException(); - } else if (var1 >= 0 && var1 < 2) { - if (var2 < 256) { - var2 = 256; - } - - try { - PcmPlayer var3 = HealthBar.pcmPlayerProvider.player(); - var3.samples = new int[256 * (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; - var3.field1377 = var2; - var3.init(); - var3.capacity = (var2 & -1024) + 1024; - if (var3.capacity > 16384) { - var3.capacity = 16384; - } - - var3.open(var3.capacity); - if (GrandExchangeEvents.PcmPlayer_count > 0 && FontName.soundSystem == null) { - FontName.soundSystem = new SoundSystem(); - SoundCache.soundSystemExecutor = Executors.newScheduledThreadPool(1); - SoundCache.soundSystemExecutor.scheduleAtFixedRate(FontName.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); - } - - if (FontName.soundSystem != null) { - if (FontName.soundSystem.players[var1] != null) { - throw new IllegalArgumentException(); - } - - FontName.soundSystem.players[var1] = var3; - } - - return var3; - } catch (Throwable var4) { - return new PcmPlayer(); - } - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("ft") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "62" - ) - static final void method2238(boolean var0) { - if (var0) { - Client.field659 = Login.field1183 ? class160.field1972 : class160.field1974; - } else { - LinkedHashMap var1 = Actor.clientPreferences.parameters; - String var3 = Login.Login_username; - int var4 = var3.length(); - int var5 = 0; - - for (int var6 = 0; var6 < var4; ++var6) { - var5 = (var5 << 5) - var5 + var3.charAt(var6); - } - - Client.field659 = var1.containsKey(var5) ? class160.field1975 : class160.field1973; - } - - } -} +import java.io.IOException; +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("cl") +@Implements("PacketWriter") +public class PacketWriter { + @ObfuscatedName("gt") + @ObfuscatedSignature( + signature = "Lex;" + ) + @Export("scene") + static Scene scene; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lky;" + ) + @Export("socket") + AbstractSocket socket; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljs;" + ) + @Export("packetBufferNodes") + IterableNodeDeque packetBufferNodes; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1980831337 + ) + @Export("bufferSize") + int bufferSize; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lkl;" + ) + @Export("buffer") + Buffer buffer; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Llg;" + ) + @Export("isaacCipher") + public IsaacCipher isaacCipher; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lkf;" + ) + @Export("packetBuffer") + PacketBuffer packetBuffer; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgv;" + ) + @Export("serverPacket") + ServerPacket serverPacket; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1968732153 + ) + @Export("serverPacketLength") + int serverPacketLength; + @ObfuscatedName("y") + boolean field1290; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1246763735 + ) + int field1297; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1159394087 + ) + @Export("pendingWrites") + int pendingWrites; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgv;" + ) + ServerPacket field1300; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lgv;" + ) + ServerPacket field1291; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lgv;" + ) + ServerPacket field1301; + + PacketWriter() { + this.packetBufferNodes = new IterableNodeDeque(); + this.bufferSize = 0; + this.buffer = new Buffer(5000); + this.packetBuffer = new PacketBuffer(40000); + this.serverPacket = null; + this.serverPacketLength = 0; + this.field1290 = true; + this.field1297 = 0; + this.pendingWrites = 0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1613977862" + ) + @Export("clearBuffer") + final void clearBuffer() { + this.packetBufferNodes.rsClear(); + this.bufferSize = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1302279031" + ) + @Export("flush") + final void flush() throws IOException { + if (this.socket != null && this.bufferSize > 0) { + this.buffer.offset = 0; + + while (true) { + PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last(); + if (var1 == null || var1.index > this.buffer.array.length - this.buffer.offset) { + this.socket.write(this.buffer.array, 0, this.buffer.offset); + this.pendingWrites = 0; + break; + } + + this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index); + this.bufferSize -= var1.index; + var1.remove(); + var1.packetBuffer.releaseArray(); + var1.release(); + } + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lgn;I)V", + garbageValue = "-1138020286" + ) + @Export("addNode") + public final void addNode(PacketBufferNode var1) { + this.packetBufferNodes.addFirst(var1); + var1.index = var1.packetBuffer.offset; + var1.packetBuffer.offset = 0; + this.bufferSize += var1.index; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lky;I)V", + garbageValue = "750746684" + ) + @Export("setSocket") + void setSocket(AbstractSocket var1) { + this.socket = var1; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1336003274" + ) + @Export("close") + void close() { + if (this.socket != null) { + this.socket.close(); + this.socket = null; + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-54" + ) + @Export("removeSocket") + void removeSocket() { + this.socket = null; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)Lky;", + garbageValue = "1051298543" + ) + @Export("getSocket") + AbstractSocket getSocket() { + return this.socket; + } +} diff --git a/runescape-client/src/main/java/ParamDefinition.java b/runescape-client/src/main/java/ParamDefinition.java index 025208d79c..11954ed6a1 100644 --- a/runescape-client/src/main/java/ParamDefinition.java +++ b/runescape-client/src/main/java/ParamDefinition.java @@ -1,122 +1,139 @@ -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("ij") -@Implements("ParamDefinition") -public class ParamDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("ParamDefinition_archive") - static AbstractArchive ParamDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("ParamDefinition_cached") - public static EvictingDualNodeHashTable ParamDefinition_cached; - @ObfuscatedName("cm") - @ObfuscatedSignature( - signature = "Lbt;" - ) - @Export("mouseRecorder") - static MouseRecorder mouseRecorder; - @ObfuscatedName("t") - @Export("type") - char type; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1004083119 - ) - @Export("defaultInt") - public int defaultInt; - @ObfuscatedName("l") - @Export("defaultStr") - public String defaultStr; - @ObfuscatedName("u") - @Export("autoDisable") - boolean autoDisable; - - static { - ParamDefinition_cached = new EvictingDualNodeHashTable(64); - } - - ParamDefinition() { - this.autoDisable = true; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "64" - ) - @Export("postDecode") - void postDecode() { - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;B)V", - garbageValue = "119" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "-73" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - byte var4 = var1.readByte(); - int var5 = var4 & 255; - if (var5 == 0) { - throw new IllegalArgumentException("" + Integer.toString(var5, 16)); - } - - if (var5 >= 128 && var5 < 160) { - char var6 = class287.cp1252AsciiExtension[var5 - 128]; - if (var6 == 0) { - var6 = '?'; - } - - var5 = var6; - } - - char var3 = (char)var5; - this.type = var3; - } else if (var2 == 2) { - this.defaultInt = var1.readInt(); - } else if (var2 == 4) { - this.autoDisable = false; - } else if (var2 == 5) { - this.defaultStr = var1.readStringCp1252NullTerminated(); - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-654498367" - ) - @Export("isString") - public boolean isString() { - return this.type == 's'; - } -} +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("if") +@Implements("ParamDefinition") +public class ParamDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("ParamDefinition_archive") + public static AbstractArchive ParamDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("ParamDefinition_cached") + static EvictingDualNodeHashTable ParamDefinition_cached; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1829462559 + ) + static int field3287; + @ObfuscatedName("lv") + @ObfuscatedSignature( + signature = "Lcs;" + ) + @Export("tempMenuAction") + static MenuAction tempMenuAction; + @ObfuscatedName("v") + @Export("type") + char type; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -76739099 + ) + @Export("defaultInt") + public int defaultInt; + @ObfuscatedName("r") + @Export("defaultStr") + public String defaultStr; + @ObfuscatedName("p") + @Export("autoDisable") + boolean autoDisable; + + static { + ParamDefinition_cached = new EvictingDualNodeHashTable(64); + } + + ParamDefinition() { + this.autoDisable = true; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-127" + ) + @Export("postDecode") + void postDecode() { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "271304326" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "854773770" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.type = WorldMapEvent.method802(var1.readByte()); + } else if (var2 == 2) { + this.defaultInt = var1.readInt(); + } else if (var2 == 4) { + this.autoDisable = false; + } else if (var2 == 5) { + this.defaultStr = var1.readStringCp1252NullTerminated(); + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-70" + ) + @Export("isString") + public boolean isString() { + return this.type == 's'; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lba;B)V", + garbageValue = "-104" + ) + @Export("runScriptEvent") + public static void runScriptEvent(ScriptEvent var0) { + KeyHandler.runScript(var0, 500000); + } + + @ObfuscatedName("hg") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-786706549" + ) + static final boolean method4468(int var0) { + if (var0 < 0) { + return false; + } else { + int var1 = Client.menuOpcodes[var0]; + if (var1 >= 2000) { + var1 -= 2000; + } + + return var1 == 1007; + } + } +} diff --git a/runescape-client/src/main/java/PcmPlayer.java b/runescape-client/src/main/java/PcmPlayer.java index a55e788d74..038549da55 100644 --- a/runescape-client/src/main/java/PcmPlayer.java +++ b/runescape-client/src/main/java/PcmPlayer.java @@ -1,477 +1,477 @@ -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("dh") -@Implements("PcmPlayer") -public class PcmPlayer { - @ObfuscatedName("u") - @Export("PcmPlayer_stereo") - protected static boolean PcmPlayer_stereo; - @ObfuscatedName("s") - @Export("samples") - protected int[] samples; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Ldg;" - ) - @Export("stream") - PcmStream stream; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -435360499 - ) - int field1375; - @ObfuscatedName("i") - @ObfuscatedGetter( - longValue = 7049401177374305975L - ) - @Export("timeMs") - long timeMs; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1222696699 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -1397135465 - ) - int field1377; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1389632987 - ) - int field1380; - @ObfuscatedName("k") - @ObfuscatedGetter( - longValue = -845340094878598137L - ) - long field1379; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1393634127 - ) - int field1374; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1399548221 - ) - int field1381; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -485630085 - ) - int field1382; - @ObfuscatedName("a") - @ObfuscatedGetter( - longValue = 8930241059901906729L - ) - long field1383; - @ObfuscatedName("b") - boolean field1390; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 207614275 - ) - int field1387; - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "[Ldg;" - ) - PcmStream[] field1388; - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "[Ldg;" - ) - PcmStream[] field1373; - - protected PcmPlayer() { - this.field1375 = 32; - this.timeMs = SoundCache.method2480(); - this.field1379 = 0L; - this.field1374 = 0; - this.field1381 = 0; - this.field1382 = 0; - this.field1383 = 0L; - this.field1390 = true; - this.field1387 = 0; - this.field1388 = new PcmStream[8]; - this.field1373 = new PcmStream[8]; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1989780823" - ) - @Export("init") - protected void init() throws Exception { - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "91" - ) - @Export("open") - protected void open(int var1) throws Exception { - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1120986508" - ) - @Export("position") - protected int position() throws Exception { - return this.capacity; - } - - @ObfuscatedName("g") - @Export("write") - protected void write() throws Exception { - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1450874669" - ) - @Export("close") - protected void close() { - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-93486639" - ) - @Export("discard") - protected void discard() throws Exception { - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(Ldg;B)V", - garbageValue = "10" - ) - @Export("setStream") - public final synchronized void setStream(PcmStream var1) { - this.stream = var1; - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1445657271" - ) - @Export("run") - public final synchronized void run() { - if (this.samples != null) { - long var1 = SoundCache.method2480(); - - try { - if (this.field1379 != 0L) { - if (var1 < this.field1379) { - return; - } - - this.open(this.capacity); - this.field1379 = 0L; - this.field1390 = true; - } - - int var3 = this.position(); - if (this.field1382 - var3 > this.field1374) { - this.field1374 = this.field1382 - var3; - } - - int var4 = this.field1377 + this.field1380; - if (var4 + 256 > 16384) { - var4 = 16128; - } - - if (var4 + 256 > this.capacity) { - this.capacity += 1024; - if (this.capacity > 16384) { - this.capacity = 16384; - } - - this.close(); - this.open(this.capacity); - var3 = 0; - this.field1390 = true; - if (var4 + 256 > this.capacity) { - var4 = this.capacity - 256; - this.field1380 = var4 - this.field1377; - } - } - - while (var3 < var4) { - this.fill(this.samples, 256); - this.write(); - var3 += 256; - } - - if (var1 > this.field1383) { - if (!this.field1390) { - if (this.field1374 == 0 && this.field1381 == 0) { - this.close(); - this.field1379 = 2000L + var1; - return; - } - - this.field1380 = Math.min(this.field1381, this.field1374); - this.field1381 = this.field1374; - } else { - this.field1390 = false; - } - - this.field1374 = 0; - this.field1383 = 2000L + var1; - } - - this.field1382 = var3; - } catch (Exception var7) { - this.close(); - this.field1379 = var1 + 2000L; - } - - try { - if (var1 > 500000L + this.timeMs) { - var1 = this.timeMs; - } - - while (var1 > this.timeMs + 5000L) { - this.skip(256); - this.timeMs += (long)(256000 / GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate); - } - } catch (Exception var6) { - this.timeMs = var1; - } - - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-50" - ) - public final void method2389() { - this.field1390 = true; - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-1" - ) - @Export("tryDiscard") - public final synchronized void tryDiscard() { - this.field1390 = true; - - try { - this.discard(); - } catch (Exception var2) { - this.close(); - this.field1379 = SoundCache.method2480() + 2000L; - } - - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "114" - ) - @Export("shutdown") - public final synchronized void shutdown() { - if (FontName.soundSystem != null) { - boolean var1 = true; - - for (int var2 = 0; var2 < 2; ++var2) { - if (this == FontName.soundSystem.players[var2]) { - FontName.soundSystem.players[var2] = null; - } - - if (FontName.soundSystem.players[var2] != null) { - var1 = false; - } - } - - if (var1) { - SoundCache.soundSystemExecutor.shutdownNow(); - SoundCache.soundSystemExecutor = null; - FontName.soundSystem = null; - } - } - - this.close(); - this.samples = null; - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1891020754" - ) - @Export("skip") - final void skip(int var1) { - this.field1387 -= var1; - if (this.field1387 < 0) { - this.field1387 = 0; - } - - if (this.stream != null) { - this.stream.skip(var1); - } - - } - - @ObfuscatedName("ap") - @Export("fill") - final void fill(int[] var1, int var2) { - int var3 = var2; - if (PcmPlayer_stereo) { - var3 = var2 << 1; - } - - class300.clearIntArray(var1, 0, var3); - this.field1387 -= var2; - if (this.stream != null && this.field1387 <= 0) { - this.field1387 += GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate >> 4; - class227.PcmStream_disable(this.stream); - this.method2394(this.stream, this.stream.vmethod2673()); - int var4 = 0; - int var5 = 255; - - int var6; - PcmStream var10; - label104: - 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); - var10 = null; - PcmStream var11 = this.field1388[var7]; - - label98: - while (true) { - while (true) { - if (var11 == null) { - break label98; - } - - AbstractSound var12 = var11.sound; - if (var12 != null && var12.position > var8) { - var5 |= 1 << var7; - var10 = var11; - var11 = var11.after; - } else { - var11.active = true; - int var13 = var11.vmethod3881(); - var4 += var13; - if (var12 != null) { - var12.position += var13; - } - - if (var4 >= this.field1375) { - break label104; - } - - PcmStream var14 = var11.firstSubStream(); - if (var14 != null) { - for (int var15 = var11.field1459; var14 != null; var14 = var11.nextSubStream()) { - this.method2394(var14, var15 * var14.vmethod2673() >> 8); - } - } - - PcmStream var18 = var11.after; - var11.after = null; - if (var10 == null) { - this.field1388[var7] = var18; - } else { - var10.after = var18; - } - - if (var18 == null) { - this.field1373[var7] = var10; - } - - var11 = var18; - } - } - } - } - - var7 += 4; - ++var8; - } - } - - for (var6 = 0; var6 < 8; ++var6) { - PcmStream var16 = this.field1388[var6]; - PcmStream[] var17 = this.field1388; - this.field1373[var6] = null; - - for (var17[var6] = null; var16 != null; var16 = var10) { - var10 = var16.after; - var16.after = null; - } - } - } - - if (this.field1387 < 0) { - this.field1387 = 0; - } - - if (this.stream != null) { - this.stream.fill(var1, 0, var2); - } - - this.timeMs = SoundCache.method2480(); - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Ldg;IB)V", - garbageValue = "11" - ) - final void method2394(PcmStream var1, int var2) { - int var3 = var2 >> 5; - PcmStream var4 = this.field1373[var3]; - if (var4 == null) { - this.field1388[var3] = var1; - } else { - var4.after = var1; - } - - this.field1373[var3] = var1; - var1.field1459 = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;B)V", - garbageValue = "46" - ) - @Export("InvDefinition_setArchives") - public static void InvDefinition_setArchives(AbstractArchive var0) { - InvDefinition.InvDefinition_archive = var0; - } -} +import java.util.concurrent.ScheduledExecutorService; +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("dv") +@Implements("PcmPlayer") +public class PcmPlayer { + @ObfuscatedName("p") + @Export("PcmPlayer_stereo") + public static boolean PcmPlayer_stereo; + @ObfuscatedName("m") + @Export("soundSystemExecutor") + static ScheduledExecutorService soundSystemExecutor; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lcf;" + ) + @Export("pcmPlayerProvider") + static PcmPlayerProvider pcmPlayerProvider; + @ObfuscatedName("a") + @Export("samples") + protected int[] samples; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ldc;" + ) + @Export("stream") + PcmStream stream; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 529397433 + ) + int field1388; + @ObfuscatedName("t") + @ObfuscatedGetter( + longValue = -9085441602565192727L + ) + @Export("timeMs") + long timeMs; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 937182747 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1375539879 + ) + int field1391; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -383494247 + ) + int field1392; + @ObfuscatedName("s") + @ObfuscatedGetter( + longValue = 2578589966919390689L + ) + long field1393; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -709133773 + ) + int field1383; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1808057975 + ) + int field1397; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -236130375 + ) + int field1396; + @ObfuscatedName("l") + @ObfuscatedGetter( + longValue = -2782522933298206297L + ) + long field1382; + @ObfuscatedName("k") + boolean field1394; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 1371288149 + ) + int field1399; + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "[Ldc;" + ) + PcmStream[] field1400; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "[Ldc;" + ) + PcmStream[] field1401; + + protected PcmPlayer() { + this.field1388 = 32; + this.timeMs = class30.method566(); + this.field1393 = 0L; + this.field1383 = 0; + this.field1397 = 0; + this.field1396 = 0; + this.field1382 = 0L; + this.field1394 = true; + this.field1399 = 0; + this.field1400 = new PcmStream[8]; + this.field1401 = new PcmStream[8]; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "8" + ) + @Export("init") + protected void init() throws Exception { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IS)V", + garbageValue = "2148" + ) + @Export("open") + protected void open(int var1) throws Exception { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "1" + ) + @Export("position") + protected int position() throws Exception { + return this.capacity; + } + + @ObfuscatedName("u") + @Export("write") + protected void write() throws Exception { + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "90832052" + ) + @Export("close") + protected void close() { + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1875138754" + ) + @Export("discard") + protected void discard() throws Exception { + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(Ldc;I)V", + garbageValue = "1280132594" + ) + @Export("setStream") + public final synchronized void setStream(PcmStream var1) { + this.stream = var1; + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "17" + ) + @Export("run") + public final synchronized void run() { + if (this.samples != null) { + long var1 = class30.method566(); + + try { + if (this.field1393 != 0L) { + if (var1 < this.field1393) { + return; + } + + this.open(this.capacity); + this.field1393 = 0L; + this.field1394 = true; + } + + int var3 = this.position(); + if (this.field1396 - var3 > this.field1383) { + this.field1383 = this.field1396 - var3; + } + + int var4 = this.field1391 + this.field1392; + if (var4 + 256 > 16384) { + var4 = 16128; + } + + if (var4 + 256 > this.capacity) { + this.capacity += 1024; + if (this.capacity > 16384) { + this.capacity = 16384; + } + + this.close(); + this.open(this.capacity); + var3 = 0; + this.field1394 = true; + if (var4 + 256 > this.capacity) { + var4 = this.capacity - 256; + this.field1392 = var4 - this.field1391; + } + } + + while (var3 < var4) { + this.fill(this.samples, 256); + this.write(); + var3 += 256; + } + + if (var1 > this.field1382) { + if (!this.field1394) { + if (this.field1383 == 0 && this.field1397 == 0) { + this.close(); + this.field1393 = var1 + 2000L; + return; + } + + this.field1392 = Math.min(this.field1397, this.field1383); + this.field1397 = this.field1383; + } else { + this.field1394 = false; + } + + this.field1383 = 0; + this.field1382 = var1 + 2000L; + } + + this.field1396 = var3; + } catch (Exception var7) { + this.close(); + this.field1393 = var1 + 2000L; + } + + try { + if (var1 > this.timeMs + 500000L) { + var1 = this.timeMs; + } + + while (var1 > this.timeMs + 5000L) { + this.skip(256); + this.timeMs += (long)(256000 / UrlRequest.PcmPlayer_sampleRate); + } + } catch (Exception var6) { + this.timeMs = var1; + } + + } + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "580966872" + ) + public final void method2393() { + this.field1394 = true; + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-601426802" + ) + @Export("tryDiscard") + public final synchronized void tryDiscard() { + this.field1394 = true; + + try { + this.discard(); + } catch (Exception var2) { + this.close(); + this.field1393 = class30.method566() + 2000L; + } + + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1026437845" + ) + @Export("shutdown") + public final synchronized void shutdown() { + if (RunException.soundSystem != null) { + boolean var1 = true; + + for (int var2 = 0; var2 < 2; ++var2) { + if (this == RunException.soundSystem.players[var2]) { + RunException.soundSystem.players[var2] = null; + } + + if (RunException.soundSystem.players[var2] != null) { + var1 = false; + } + } + + if (var1) { + soundSystemExecutor.shutdownNow(); + soundSystemExecutor = null; + RunException.soundSystem = null; + } + } + + this.close(); + this.samples = null; + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "629535464" + ) + @Export("skip") + final void skip(int var1) { + this.field1399 -= var1; + if (this.field1399 < 0) { + this.field1399 = 0; + } + + if (this.stream != null) { + this.stream.skip(var1); + } + + } + + @ObfuscatedName("as") + @Export("fill") + final void fill(int[] var1, int var2) { + int var3 = var2; + if (PcmPlayer_stereo) { + var3 = var2 << 1; + } + + class300.clearIntArray(var1, 0, var3); + this.field1399 -= var2; + if (this.stream != null && this.field1399 <= 0) { + this.field1399 += UrlRequest.PcmPlayer_sampleRate >> 4; + DynamicObject.PcmStream_disable(this.stream); + this.method2398(this.stream, this.stream.vmethod2687()); + int var4 = 0; + int var5 = 255; + + int var6; + PcmStream var10; + label104: + 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); + var10 = null; + PcmStream var11 = this.field1400[var7]; + + label98: + while (true) { + while (true) { + if (var11 == null) { + break label98; + } + + AbstractSound var12 = var11.sound; + if (var12 != null && var12.position > var8) { + var5 |= 1 << var7; + var10 = var11; + var11 = var11.after; + } else { + var11.active = true; + int var13 = var11.vmethod3873(); + var4 += var13; + if (var12 != null) { + var12.position += var13; + } + + if (var4 >= this.field1388) { + break label104; + } + + PcmStream var14 = var11.firstSubStream(); + if (var14 != null) { + for (int var15 = var11.field1462; var14 != null; var14 = var11.nextSubStream()) { + this.method2398(var14, var15 * var14.vmethod2687() >> 8); + } + } + + PcmStream var18 = var11.after; + var11.after = null; + if (var10 == null) { + this.field1400[var7] = var18; + } else { + var10.after = var18; + } + + if (var18 == null) { + this.field1401[var7] = var10; + } + + var11 = var18; + } + } + } + } + + var7 += 4; + ++var8; + } + } + + for (var6 = 0; var6 < 8; ++var6) { + PcmStream var16 = this.field1400[var6]; + PcmStream[] var17 = this.field1400; + this.field1401[var6] = null; + + for (var17[var6] = null; var16 != null; var16 = var10) { + var10 = var16.after; + var16.after = null; + } + } + } + + if (this.field1399 < 0) { + this.field1399 = 0; + } + + if (this.stream != null) { + this.stream.fill(var1, 0, var2); + } + + this.timeMs = class30.method566(); + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(Ldc;II)V", + garbageValue = "1373941757" + ) + final void method2398(PcmStream var1, int var2) { + int var3 = var2 >> 5; + PcmStream var4 = this.field1401[var3]; + if (var4 == null) { + this.field1400[var3] = var1; + } else { + var4.after = var1; + } + + this.field1401[var3] = var1; + var1.field1462 = var2; + } +} diff --git a/runescape-client/src/main/java/PcmPlayerProvider.java b/runescape-client/src/main/java/PcmPlayerProvider.java index ae58aeccb8..c4696e4d09 100644 --- a/runescape-client/src/main/java/PcmPlayerProvider.java +++ b/runescape-client/src/main/java/PcmPlayerProvider.java @@ -1,16 +1,16 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("co") -@Implements("PcmPlayerProvider") -public interface PcmPlayerProvider { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Ldh;", - garbageValue = "-131796443" - ) - @Export("player") - PcmPlayer player(); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("cf") +@Implements("PcmPlayerProvider") +public interface PcmPlayerProvider { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Ldv;", + garbageValue = "-79742550" + ) + @Export("player") + PcmPlayer player(); +} diff --git a/runescape-client/src/main/java/PcmStream.java b/runescape-client/src/main/java/PcmStream.java index ee138f69c9..7794050484 100644 --- a/runescape-client/src/main/java/PcmStream.java +++ b/runescape-client/src/main/java/PcmStream.java @@ -1,71 +1,71 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dg") -@Implements("PcmStream") -public abstract class PcmStream extends Node { - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Ldg;" - ) - @Export("after") - PcmStream after; - @ObfuscatedName("i") - int field1459; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Ldi;" - ) - @Export("sound") - AbstractSound sound; - @ObfuscatedName("y") - @Export("active") - volatile boolean active; - - protected PcmStream() { - this.active = true; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("firstSubStream") - protected abstract PcmStream firstSubStream(); - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("nextSubStream") - protected abstract PcmStream nextSubStream(); - - @ObfuscatedName("v") - protected abstract int vmethod3881(); - - @ObfuscatedName("d") - @Export("fill") - protected abstract void fill(int[] var1, int var2, int var3); - - @ObfuscatedName("s") - @Export("skip") - protected abstract void skip(int var1); - - @ObfuscatedName("ah") - int vmethod2673() { - return 255; - } - - @ObfuscatedName("eh") - @Export("update") - final void update(int[] var1, int var2, int var3) { - if (this.active) { - this.fill(var1, var2, var3); - } else { - this.skip(var3); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dc") +@Implements("PcmStream") +public abstract class PcmStream extends Node { + @ObfuscatedName("w") + @Export("active") + volatile boolean active; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Ldc;" + ) + @Export("after") + PcmStream after; + @ObfuscatedName("g") + int field1462; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Ldx;" + ) + @Export("sound") + AbstractSound sound; + + protected PcmStream() { + this.active = true; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("firstSubStream") + protected abstract PcmStream firstSubStream(); + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("nextSubStream") + protected abstract PcmStream nextSubStream(); + + @ObfuscatedName("m") + protected abstract int vmethod3873(); + + @ObfuscatedName("y") + @Export("fill") + protected abstract void fill(int[] var1, int var2, int var3); + + @ObfuscatedName("c") + @Export("skip") + protected abstract void skip(int var1); + + @ObfuscatedName("ah") + int vmethod2687() { + return 255; + } + + @ObfuscatedName("fh") + @Export("update") + final void update(int[] var1, int var2, int var3) { + if (this.active) { + this.fill(var1, var2, var3); + } else { + this.skip(var3); + } + + } +} diff --git a/runescape-client/src/main/java/PcmStreamMixer.java b/runescape-client/src/main/java/PcmStreamMixer.java index 62abbb7be6..fa3fd36f38 100644 --- a/runescape-client/src/main/java/PcmStreamMixer.java +++ b/runescape-client/src/main/java/PcmStreamMixer.java @@ -1,203 +1,203 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cq") -@Implements("PcmStreamMixer") -public class PcmStreamMixer extends PcmStream { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("subStreams") - NodeDeque subStreams; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ljv;" - ) - NodeDeque field1307; - @ObfuscatedName("t") - int field1308; - @ObfuscatedName("g") - int field1309; - - public PcmStreamMixer() { - this.subStreams = new NodeDeque(); - this.field1307 = new NodeDeque(); - this.field1308 = 0; - this.field1309 = -1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ldg;)V" - ) - @Export("addSubStream") - public final synchronized void addSubStream(PcmStream var1) { - this.subStreams.addLast(var1); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ldg;)V" - ) - @Export("removeSubStream") - public final synchronized void removeSubStream(PcmStream var1) { - var1.remove(); - } - - @ObfuscatedName("t") - void method2292() { - if (this.field1308 > 0) { - for (PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field1307.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field1307.previous()) { - var1.field1418 -= this.field1308; - } - - this.field1309 -= this.field1308; - this.field1308 = 0; - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lfn;Ldp;)V" - ) - void method2267(Node var1, PcmStreamMixerListener var2) { - while (this.field1307.sentinel != var1 && ((PcmStreamMixerListener)var1).field1418 <= var2.field1418) { - var1 = var1.previous; - } - - NodeDeque.NodeDeque_addBefore(var2, var1); - this.field1309 = ((PcmStreamMixerListener)this.field1307.sentinel.previous).field1418; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ldp;)V" - ) - void method2296(PcmStreamMixerListener var1) { - var1.remove(); - var1.remove2(); - Node var2 = this.field1307.sentinel.previous; - if (var2 == this.field1307.sentinel) { - this.field1309 = -1; - } else { - this.field1309 = ((PcmStreamMixerListener)var2).field1418; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - return (PcmStream)this.subStreams.last(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - return (PcmStream)this.subStreams.previous(); - } - - @ObfuscatedName("v") - protected int vmethod3881() { - return 0; - } - - @ObfuscatedName("d") - @Export("fill") - public final synchronized void fill(int[] var1, int var2, int var3) { - do { - if (this.field1309 < 0) { - this.updateSubStreams(var1, var2, var3); - return; - } - - if (var3 + this.field1308 < this.field1309) { - this.field1308 += var3; - this.updateSubStreams(var1, var2, var3); - return; - } - - int var4 = this.field1309 - this.field1308; - this.updateSubStreams(var1, var2, var4); - var2 += var4; - var3 -= var4; - this.field1308 += var4; - this.method2292(); - PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field1307.last(); - synchronized(var5) { - int var7 = var5.update(); - if (var7 < 0) { - var5.field1418 = 0; - this.method2296(var5); - } else { - var5.field1418 = var7; - this.method2267(var5.previous, var5); - } - } - } while(var3 != 0); - - } - - @ObfuscatedName("z") - @Export("updateSubStreams") - void updateSubStreams(int[] var1, int var2, int var3) { - for (PcmStream var4 = (PcmStream)this.subStreams.last(); var4 != null; var4 = (PcmStream)this.subStreams.previous()) { - var4.update(var1, var2, var3); - } - - } - - @ObfuscatedName("s") - @Export("skip") - public final synchronized void skip(int var1) { - do { - if (this.field1309 < 0) { - this.skipSubStreams(var1); - return; - } - - if (this.field1308 + var1 < this.field1309) { - this.field1308 += var1; - this.skipSubStreams(var1); - return; - } - - int var2 = this.field1309 - this.field1308; - this.skipSubStreams(var2); - var1 -= var2; - this.field1308 += var2; - this.method2292(); - PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field1307.last(); - synchronized(var3) { - int var5 = var3.update(); - if (var5 < 0) { - var3.field1418 = 0; - this.method2296(var3); - } else { - var3.field1418 = var5; - this.method2267(var3.previous, var3); - } - } - } while(var1 != 0); - - } - - @ObfuscatedName("p") - @Export("skipSubStreams") - void skipSubStreams(int var1) { - for (PcmStream var2 = (PcmStream)this.subStreams.last(); var2 != null; var2 = (PcmStream)this.subStreams.previous()) { - var2.skip(var1); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ca") +@Implements("PcmStreamMixer") +public class PcmStreamMixer extends PcmStream { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("subStreams") + NodeDeque subStreams; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljv;" + ) + NodeDeque field1318; + @ObfuscatedName("v") + int field1319; + @ObfuscatedName("u") + int field1317; + + public PcmStreamMixer() { + this.subStreams = new NodeDeque(); + this.field1318 = new NodeDeque(); + this.field1319 = 0; + this.field1317 = -1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ldc;)V" + ) + @Export("addSubStream") + public final synchronized void addSubStream(PcmStream var1) { + this.subStreams.addLast(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ldc;)V" + ) + @Export("removeSubStream") + public final synchronized void removeSubStream(PcmStream var1) { + var1.remove(); + } + + @ObfuscatedName("v") + void method2271() { + if (this.field1319 > 0) { + for (PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field1318.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field1318.previous()) { + var1.field1421 -= this.field1319; + } + + this.field1317 -= this.field1319; + this.field1319 = 0; + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lfx;Lde;)V" + ) + void method2294(Node var1, PcmStreamMixerListener var2) { + while (this.field1318.sentinel != var1 && ((PcmStreamMixerListener)var1).field1421 <= var2.field1421) { + var1 = var1.previous; + } + + NodeDeque.NodeDeque_addBefore(var2, var1); + this.field1317 = ((PcmStreamMixerListener)this.field1318.sentinel.previous).field1421; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lde;)V" + ) + void method2272(PcmStreamMixerListener var1) { + var1.remove(); + var1.remove2(); + Node var2 = this.field1318.sentinel.previous; + if (var2 == this.field1318.sentinel) { + this.field1317 = -1; + } else { + this.field1317 = ((PcmStreamMixerListener)var2).field1421; + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("firstSubStream") + protected PcmStream firstSubStream() { + return (PcmStream)this.subStreams.last(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("nextSubStream") + protected PcmStream nextSubStream() { + return (PcmStream)this.subStreams.previous(); + } + + @ObfuscatedName("m") + protected int vmethod3873() { + return 0; + } + + @ObfuscatedName("y") + @Export("fill") + public final synchronized void fill(int[] var1, int var2, int var3) { + do { + if (this.field1317 < 0) { + this.updateSubStreams(var1, var2, var3); + return; + } + + if (var3 + this.field1319 < this.field1317) { + this.field1319 += var3; + this.updateSubStreams(var1, var2, var3); + return; + } + + int var4 = this.field1317 - this.field1319; + this.updateSubStreams(var1, var2, var4); + var2 += var4; + var3 -= var4; + this.field1319 += var4; + this.method2271(); + PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field1318.last(); + synchronized(var5) { + int var7 = var5.update(); + if (var7 < 0) { + var5.field1421 = 0; + this.method2272(var5); + } else { + var5.field1421 = var7; + this.method2294(var5.previous, var5); + } + } + } while(var3 != 0); + + } + + @ObfuscatedName("i") + @Export("updateSubStreams") + void updateSubStreams(int[] var1, int var2, int var3) { + for (PcmStream var4 = (PcmStream)this.subStreams.last(); var4 != null; var4 = (PcmStream)this.subStreams.previous()) { + var4.update(var1, var2, var3); + } + + } + + @ObfuscatedName("c") + @Export("skip") + public final synchronized void skip(int var1) { + do { + if (this.field1317 < 0) { + this.skipSubStreams(var1); + return; + } + + if (this.field1319 + var1 < this.field1317) { + this.field1319 += var1; + this.skipSubStreams(var1); + return; + } + + int var2 = this.field1317 - this.field1319; + this.skipSubStreams(var2); + var1 -= var2; + this.field1319 += var2; + this.method2271(); + PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field1318.last(); + synchronized(var3) { + int var5 = var3.update(); + if (var5 < 0) { + var3.field1421 = 0; + this.method2272(var3); + } else { + var3.field1421 = var5; + this.method2294(var3.previous, var3); + } + } + } while(var1 != 0); + + } + + @ObfuscatedName("b") + @Export("skipSubStreams") + void skipSubStreams(int var1) { + for (PcmStream var2 = (PcmStream)this.subStreams.last(); var2 != null; var2 = (PcmStream)this.subStreams.previous()) { + var2.skip(var1); + } + + } +} diff --git a/runescape-client/src/main/java/PcmStreamMixerListener.java b/runescape-client/src/main/java/PcmStreamMixerListener.java index b253270a90..5746b2d18e 100644 --- a/runescape-client/src/main/java/PcmStreamMixerListener.java +++ b/runescape-client/src/main/java/PcmStreamMixerListener.java @@ -1,22 +1,22 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dp") -@Implements("PcmStreamMixerListener") -public abstract class PcmStreamMixerListener extends Node { - @ObfuscatedName("c") - int field1418; - - @ObfuscatedName("c") - @Export("remove2") - abstract void remove2(); - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lcq;)I" - ) - @Export("update") - abstract int update(); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("de") +@Implements("PcmStreamMixerListener") +public abstract class PcmStreamMixerListener extends Node { + @ObfuscatedName("z") + int field1421; + + @ObfuscatedName("z") + @Export("remove2") + abstract void remove2(); + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lca;)I" + ) + @Export("update") + abstract int update(); +} diff --git a/runescape-client/src/main/java/PendingSpawn.java b/runescape-client/src/main/java/PendingSpawn.java index c08b6caa30..78fe9e5b09 100644 --- a/runescape-client/src/main/java/PendingSpawn.java +++ b/runescape-client/src/main/java/PendingSpawn.java @@ -1,157 +1,90 @@ -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("PendingSpawn") -public final class PendingSpawn extends Node { - @ObfuscatedName("ar") - @Export("hasFocus") - protected static boolean hasFocus; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 912800159 - ) - @Export("plane") - int plane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -639221859 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 458809523 - ) - @Export("type") - int type; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 87359327 - ) - @Export("x") - int x; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1751315985 - ) - @Export("objectId") - int objectId; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -470640353 - ) - int field900; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -402504459 - ) - int field903; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1760011819 - ) - @Export("id") - int id; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -316029459 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 2139915221 - ) - int field911; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1581206037 - ) - @Export("delay") - int delay; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1067091679 - ) - @Export("hitpoints") - int hitpoints; - - PendingSpawn() { - this.delay = 0; - this.hitpoints = -1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;III)[Lli;", - garbageValue = "1975064075" - ) - @Export("SpriteBuffer_getSpriteArray") - public static Sprite[] SpriteBuffer_getSpriteArray(AbstractArchive var0, int var1, int var2) { - byte[] var4 = var0.takeFile(var1, var2); - boolean var3; - if (var4 == null) { - var3 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var4); - var3 = true; - } - - return !var3 ? null : RouteStrategy.method3578(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-1406470873" - ) - static int method1683(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var2 == null) { - return 0; - } else if (var1 == -1) { - return 0; - } else { - int var3 = 0; - - for (int var4 = 0; var4 < var2.quantities.length; ++var4) { - if (var2.ids[var4] == var1) { - var3 += var2.quantities[var4]; - } - } - - return var3; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(ILhz;Ljava/lang/String;Ljava/lang/String;IZI)V", - garbageValue = "-2128555897" - ) - public static void method1681(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { - int var6 = var1.getGroupId(var2); - int var7 = var1.getFileId(var6, var3); - class197.field2376 = 1; - class197.musicTrackArchive = var1; - class197.musicTrackGroupId = var6; - class197.musicTrackFileId = var7; - Canvas.field395 = var4; - MouseRecorder.musicTrackBoolean = var5; - ModelData0.field1833 = var0; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-789098612" - ) - public static final void method1682() { - ViewportMouse.ViewportMouse_isInViewport = false; - ViewportMouse.ViewportMouse_entityCount = 0; - } -} +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("bt") +@Implements("PendingSpawn") +public final class PendingSpawn extends Node { + @ObfuscatedName("gb") + @ObfuscatedSignature( + signature = "Llf;" + ) + @Export("redHintArrowSprite") + static Sprite redHintArrowSprite; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1962154215 + ) + @Export("objectId") + int objectId; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1562451131 + ) + @Export("plane") + int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1262583567 + ) + @Export("type") + int type; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1018276189 + ) + @Export("x") + int x; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 179665149 + ) + @Export("y") + int y; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1264128253 + ) + int field922; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -753782081 + ) + int field921; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 481754121 + ) + @Export("id") + int id; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 2059869293 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 764785127 + ) + int field916; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -201127845 + ) + @Export("delay") + int delay; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -39012303 + ) + @Export("hitpoints") + int hitpoints; + + PendingSpawn() { + this.delay = 0; + this.hitpoints = -1; + } +} diff --git a/runescape-client/src/main/java/PlatformInfo.java b/runescape-client/src/main/java/PlatformInfo.java index ec6d03d9df..f8ab46b88b 100644 --- a/runescape-client/src/main/java/PlatformInfo.java +++ b/runescape-client/src/main/java/PlatformInfo.java @@ -1,197 +1,191 @@ -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("la") -@Implements("PlatformInfo") -public class PlatformInfo extends Node { - @ObfuscatedName("gp") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("headIconPkSprites") - static Sprite[] headIconPkSprites; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 1262166811 - ) - int field3910; - @ObfuscatedName("ad") - boolean field3918; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -233370459 - ) - int field3912; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -643959755 - ) - int field3913; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 368561611 - ) - int field3914; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -1553931981 - ) - int field3915; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = 401263417 - ) - int field3903; - @ObfuscatedName("ak") - boolean field3917; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = -569350389 - ) - int field3908; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 337511837 - ) - int field3925; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 1464874395 - ) - int field3916; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 1301497237 - ) - int field3922; - @ObfuscatedName("ar") - String field3923; - @ObfuscatedName("ac") - String field3921; - @ObfuscatedName("az") - String field3904; - @ObfuscatedName("ai") - String field3926; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -1840491471 - ) - int field3927; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = 1377986557 - ) - int field3928; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -1434416475 - ) - int field3929; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = 549391923 - ) - int field3931; - @ObfuscatedName("bn") - String field3911; - @ObfuscatedName("bk") - String field3932; - @ObfuscatedName("bp") - int[] field3933; - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = -419981447 - ) - int field3934; - @ObfuscatedName("bi") - String field3935; - - PlatformInfo(int var1, boolean var2, int var3, int var4, int var5, int var6, int var7, boolean var8, int var9, int var10, int var11, int var12, String var13, String var14, String var15, String var16, int var17, int var18, int var19, int var20, String var21, String var22, int[] var23, int var24, String var25) { - this.field3933 = new int[3]; - this.field3910 = var1; - this.field3918 = var2; - this.field3912 = var3; - this.field3913 = var4; - this.field3914 = var5; - this.field3915 = var6; - this.field3903 = var7; - this.field3917 = var8; - this.field3908 = var9; - this.field3925 = var10; - this.field3916 = var11; - this.field3922 = var12; - this.field3923 = var13; - this.field3921 = var14; - this.field3904 = var15; - this.field3926 = var16; - this.field3927 = var17; - this.field3928 = var18; - this.field3929 = var19; - this.field3931 = var20; - this.field3911 = var21; - this.field3932 = var22; - this.field3933 = var23; - this.field3934 = var24; - this.field3935 = var25; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-712263030" - ) - @Export("write") - public void write(Buffer var1) { - var1.writeByte(8); - var1.writeByte(this.field3910); - var1.writeByte(this.field3918 ? 1 : 0); - var1.writeShort(this.field3912); - var1.writeByte(this.field3913); - var1.writeByte(this.field3914); - var1.writeByte(this.field3915); - var1.writeByte(this.field3903); - var1.writeByte(this.field3917 ? 1 : 0); - var1.writeShort(this.field3908); - var1.writeByte(this.field3925); - var1.writeMedium(this.field3916); - var1.writeShort(this.field3922); - var1.writeStringCp1252NullCircumfixed(this.field3923); - var1.writeStringCp1252NullCircumfixed(this.field3921); - var1.writeStringCp1252NullCircumfixed(this.field3904); - var1.writeStringCp1252NullCircumfixed(this.field3926); - var1.writeByte(this.field3928); - var1.writeShort(this.field3927); - var1.writeStringCp1252NullCircumfixed(this.field3911); - var1.writeStringCp1252NullCircumfixed(this.field3932); - var1.writeByte(this.field3929); - var1.writeByte(this.field3931); - - for (int var2 = 0; var2 < this.field3933.length; ++var2) { - var1.writeInt(this.field3933[var2]); - } - - var1.writeInt(this.field3934); - var1.writeStringCp1252NullCircumfixed(this.field3935); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(S)I", - garbageValue = "-16149" - ) - @Export("size") - public int size() { - byte var1 = 39; - int var2 = var1 + GrandExchangeOfferOwnWorldComparator.method1245(this.field3923); - var2 += GrandExchangeOfferOwnWorldComparator.method1245(this.field3921); - var2 += GrandExchangeOfferOwnWorldComparator.method1245(this.field3904); - var2 += GrandExchangeOfferOwnWorldComparator.method1245(this.field3926); - var2 += GrandExchangeOfferOwnWorldComparator.method1245(this.field3911); - var2 += GrandExchangeOfferOwnWorldComparator.method1245(this.field3932); - var2 += GrandExchangeOfferOwnWorldComparator.method1245(this.field3935); - return var2; - } -} +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("lt") +@Implements("PlatformInfo") +public class PlatformInfo extends Node { + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -760772209 + ) + int field3903; + @ObfuscatedName("ax") + boolean field3913; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -68737307 + ) + int field3914; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -1228924445 + ) + int field3915; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -1993401909 + ) + int field3926; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = -1530437153 + ) + int field3917; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = -1258615957 + ) + int field3918; + @ObfuscatedName("ai") + boolean field3919; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = 1358828589 + ) + int field3920; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -931926903 + ) + int field3921; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1834478057 + ) + int field3922; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = 400152439 + ) + int field3907; + @ObfuscatedName("ah") + String field3924; + @ObfuscatedName("ag") + String field3925; + @ObfuscatedName("aj") + String field3934; + @ObfuscatedName("ay") + String field3932; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 118098315 + ) + int field3928; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = 246544057 + ) + int field3923; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = 84742935 + ) + int field3930; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = 1315916991 + ) + int field3910; + @ObfuscatedName("bh") + String field3927; + @ObfuscatedName("bd") + String field3906; + @ObfuscatedName("bm") + int[] field3912; + @ObfuscatedName("bv") + @ObfuscatedGetter( + intValue = 1280064129 + ) + int field3935; + @ObfuscatedName("bj") + String field3936; + + PlatformInfo(int var1, boolean var2, int var3, int var4, int var5, int var6, int var7, boolean var8, int var9, int var10, int var11, int var12, String var13, String var14, String var15, String var16, int var17, int var18, int var19, int var20, String var21, String var22, int[] var23, int var24, String var25) { + this.field3912 = new int[3]; + this.field3903 = var1; + this.field3913 = var2; + this.field3914 = var3; + this.field3915 = var4; + this.field3926 = var5; + this.field3917 = var6; + this.field3918 = var7; + this.field3919 = var8; + this.field3920 = var9; + this.field3921 = var10; + this.field3922 = var11; + this.field3907 = var12; + this.field3924 = var13; + this.field3925 = var14; + this.field3934 = var15; + this.field3932 = var16; + this.field3928 = var17; + this.field3923 = var18; + this.field3930 = var19; + this.field3910 = var20; + this.field3927 = var21; + this.field3906 = var22; + this.field3912 = var23; + this.field3935 = var24; + this.field3936 = var25; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "1592227856" + ) + @Export("write") + public void write(Buffer var1) { + var1.writeByte(8); + var1.writeByte(this.field3903); + var1.writeByte(this.field3913 ? 1 : 0); + var1.writeShort(this.field3914); + var1.writeByte(this.field3915); + var1.writeByte(this.field3926); + var1.writeByte(this.field3917); + var1.writeByte(this.field3918); + var1.writeByte(this.field3919 ? 1 : 0); + var1.writeShort(this.field3920); + var1.writeByte(this.field3921); + var1.writeMedium(this.field3922); + var1.writeShort(this.field3907); + var1.writeStringCp1252NullCircumfixed(this.field3924); + var1.writeStringCp1252NullCircumfixed(this.field3925); + var1.writeStringCp1252NullCircumfixed(this.field3934); + var1.writeStringCp1252NullCircumfixed(this.field3932); + var1.writeByte(this.field3923); + var1.writeShort(this.field3928); + var1.writeStringCp1252NullCircumfixed(this.field3927); + var1.writeStringCp1252NullCircumfixed(this.field3906); + var1.writeByte(this.field3930); + var1.writeByte(this.field3910); + + for (int var2 = 0; var2 < this.field3912.length; ++var2) { + var1.writeInt(this.field3912[var2]); + } + + var1.writeInt(this.field3935); + var1.writeStringCp1252NullCircumfixed(this.field3936); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "3" + ) + @Export("size") + public int size() { + byte var1 = 39; + int var2 = var1 + UserComparator5.method3383(this.field3924); + var2 += UserComparator5.method3383(this.field3925); + var2 += UserComparator5.method3383(this.field3934); + var2 += UserComparator5.method3383(this.field3932); + var2 += UserComparator5.method3383(this.field3927); + var2 += UserComparator5.method3383(this.field3906); + var2 += UserComparator5.method3383(this.field3936); + return var2; + } +} diff --git a/runescape-client/src/main/java/PlatformInfoProvider.java b/runescape-client/src/main/java/PlatformInfoProvider.java index 260eff5969..0dec9409f7 100644 --- a/runescape-client/src/main/java/PlatformInfoProvider.java +++ b/runescape-client/src/main/java/PlatformInfoProvider.java @@ -1,16 +1,16 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lb") -@Implements("PlatformInfoProvider") -public interface PlatformInfoProvider { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Lla;", - garbageValue = "-2012824793" - ) - @Export("get") - PlatformInfo get(); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ly") +@Implements("PlatformInfoProvider") +public interface PlatformInfoProvider { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Llt;", + garbageValue = "2006662723" + ) + @Export("get") + PlatformInfo get(); +} diff --git a/runescape-client/src/main/java/Player.java b/runescape-client/src/main/java/Player.java index 3cd3ff308b..5bc984fcd5 100644 --- a/runescape-client/src/main/java/Player.java +++ b/runescape-client/src/main/java/Player.java @@ -1,761 +1,510 @@ -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("by") -@Implements("Player") -public final class Player extends Actor { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljt;" - ) - @Export("username") - Username username; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhl;" - ) - @Export("appearance") - PlayerAppearance appearance; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 864337607 - ) - @Export("headIconPk") - int headIconPk; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -643204403 - ) - @Export("headIconPrayer") - int headIconPrayer; - @ObfuscatedName("u") - @Export("actions") - String[] actions; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -2062997853 - ) - @Export("combatLevel") - int combatLevel; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -948355921 - ) - @Export("skillLevel") - int skillLevel; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 327287567 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1224273453 - ) - @Export("animationCycleStart") - int animationCycleStart; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1646595601 - ) - @Export("animationCycleEnd") - int animationCycleEnd; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 775651165 - ) - int field597; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1969492201 - ) - @Export("tileHeight2") - int tileHeight2; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 986726149 - ) - int field599; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Ldr;" - ) - @Export("model0") - Model model0; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1689358093 - ) - int field601; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -245110959 - ) - int field602; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1431482225 - ) - int field609; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1697291055 - ) - int field604; - @ObfuscatedName("r") - @Export("isUnanimated") - boolean isUnanimated; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1073558355 - ) - @Export("team") - int team; - @ObfuscatedName("w") - @Export("isHidden") - boolean isHidden; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1849078909 - ) - @Export("plane") - int plane; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -385215651 - ) - @Export("index") - int index; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("isFriendTriBool") - TriBool isFriendTriBool; - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("isInClanChat") - TriBool isInClanChat; - @ObfuscatedName("ag") - boolean field607; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -327661855 - ) - @Export("tileX") - int tileX; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = 1356455245 - ) - @Export("tileY") - int tileY; - - Player() { - this.headIconPk = -1; - this.headIconPrayer = -1; - this.actions = new String[3]; - - for (int var1 = 0; var1 < 3; ++var1) { - this.actions[var1] = ""; - } - - this.combatLevel = 0; - this.skillLevel = 0; - this.animationCycleStart = 0; - this.animationCycleEnd = 0; - this.isUnanimated = false; - this.team = 0; - this.isHidden = false; - this.isFriendTriBool = TriBool.TriBool_unknown; - this.isInClanChat = TriBool.TriBool_unknown; - this.field607 = false; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-2019720231" - ) - @Export("read") - final void read(Buffer var1) { - var1.offset = 0; - int var2 = var1.readUnsignedByte(); - this.headIconPk = var1.readByte(); - this.headIconPrayer = var1.readByte(); - int var3 = -1; - this.team = 0; - int[] var4 = new int[12]; - - int var6; - int var7; - for (int var5 = 0; var5 < 12; ++var5) { - var6 = var1.readUnsignedByte(); - if (var6 == 0) { - var4[var5] = 0; - } else { - var7 = var1.readUnsignedByte(); - var4[var5] = var7 + (var6 << 8); - if (var5 == 0 && var4[0] == 65535) { - var3 = var1.readUnsignedShort(); - break; - } - - if (var4[var5] >= 512) { - int var8 = ItemDefinition_get(var4[var5] - 512).team; - if (var8 != 0) { - this.team = var8; - } - } - } - } - - int[] var9 = new int[5]; - - for (var6 = 0; var6 < 5; ++var6) { - var7 = var1.readUnsignedByte(); - if (var7 < 0 || var7 >= PlayerAppearance.field2508[var6].length) { - var7 = 0; - } - - var9[var6] = var7; - } - - super.readySequence = var1.readUnsignedShort(); - if (super.readySequence == 65535) { - super.readySequence = -1; - } - - super.turnLeftSequence = var1.readUnsignedShort(); - if (super.turnLeftSequence == 65535) { - super.turnLeftSequence = -1; - } - - super.turnRightSequence = super.turnLeftSequence; - super.walkSequence = var1.readUnsignedShort(); - if (super.walkSequence == 65535) { - super.walkSequence = -1; - } - - super.walkBackSequence = var1.readUnsignedShort(); - if (super.walkBackSequence == 65535) { - super.walkBackSequence = -1; - } - - super.walkLeftSequence = var1.readUnsignedShort(); - if (super.walkLeftSequence == 65535) { - super.walkLeftSequence = -1; - } - - super.walkRightSequence = var1.readUnsignedShort(); - if (super.walkRightSequence == 65535) { - super.walkRightSequence = -1; - } - - super.runSequence = var1.readUnsignedShort(); - if (super.runSequence == 65535) { - super.runSequence = -1; - } - - this.username = new Username(var1.readStringCp1252NullTerminated(), class4.loginType); - this.clearIsFriend(); - this.clearIsInClanChat(); - if (this == Varps.localPlayer) { - RunException.localPlayerName = this.username.getName(); - } - - this.combatLevel = var1.readUnsignedByte(); - this.skillLevel = var1.readUnsignedShort(); - this.isHidden = var1.readUnsignedByte() == 1; - if (Client.gameBuild == 0 && Client.staffModLevel >= 2) { - this.isHidden = false; - } - - if (this.appearance == null) { - this.appearance = new PlayerAppearance(); - } - - this.appearance.update(var4, var9, var2 == 1, var3); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-992327182" - ) - @Export("isFriend") - boolean isFriend() { - if (this.isFriendTriBool == TriBool.TriBool_unknown) { - this.checkIsFriend(); - } - - return this.isFriendTriBool == TriBool.TriBool_true; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-93486639" - ) - @Export("clearIsFriend") - void clearIsFriend() { - this.isFriendTriBool = TriBool.TriBool_unknown; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1481363625" - ) - @Export("checkIsFriend") - void checkIsFriend() { - this.isFriendTriBool = class218.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1549480529" - ) - @Export("isClanMember") - boolean isClanMember() { - if (this.isInClanChat == TriBool.TriBool_unknown) { - this.updateIsInClanChat(); - } - - return this.isInClanChat == TriBool.TriBool_true; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1297005928" - ) - @Export("clearIsInClanChat") - void clearIsInClanChat() { - this.isInClanChat = TriBool.TriBool_unknown; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1288266652" - ) - @Export("updateIsInClanChat") - void updateIsInClanChat() { - this.isInClanChat = GrandExchangeOfferUnitPriceComparator.clanChat != null && GrandExchangeOfferUnitPriceComparator.clanChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2132604057" - ) - @Export("transformedSize") - int transformedSize() { - return this.appearance != null && this.appearance.npcTransformId != -1 ? FontName.getNpcDefinition(this.appearance.npcTransformId).size : 1; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ldr;", - garbageValue = "-35" - ) - @Export("getModel") - protected final Model getModel() { - if (this.appearance == null) { - return null; - } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? class83.SequenceDefinition_get(super.sequence) : null; - SequenceDefinition var2 = super.movementSequence != -1 && !this.isUnanimated && (super.readySequence != super.movementSequence || var1 == null) ? class83.SequenceDefinition_get(super.movementSequence) : null; - Model var3 = this.appearance.getModel(var1, super.sequenceFrame, var2, super.movementFrame); - if (var3 == null) { - return null; - } else { - var3.calculateBoundsCylinder(); - super.defaultHeight = var3.height; - Model var4; - Model[] var5; - if (!this.isUnanimated && super.spotAnimation != -1 && super.spotAnimationFrame != -1) { - var4 = NetCache.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); - if (var4 != null) { - var4.offsetBy(0, -super.heightOffset, 0); - var5 = new Model[]{var3, var4}; - var3 = new Model(var5, 2); - } - } - - if (!this.isUnanimated && this.model0 != null) { - if (Client.cycle >= this.animationCycleEnd) { - this.model0 = null; - } - - if (Client.cycle >= this.animationCycleStart && Client.cycle < this.animationCycleEnd) { - var4 = this.model0; - var4.offsetBy(this.field597 * 4096 - super.x * -78439701, this.tileHeight2 - this.tileHeight, this.field599 * 4096 - super.y); - if (super.orientation == 512) { - var4.rotateY90Ccw(); - var4.rotateY90Ccw(); - var4.rotateY90Ccw(); - } else if (super.orientation == 1024) { - var4.rotateY90Ccw(); - var4.rotateY90Ccw(); - } else if (super.orientation == 1536) { - var4.rotateY90Ccw(); - } - - var5 = new Model[]{var3, var4}; - var3 = new Model(var5, 2); - if (super.orientation == 512) { - var4.rotateY90Ccw(); - } else if (super.orientation == 1024) { - var4.rotateY90Ccw(); - var4.rotateY90Ccw(); - } else if (super.orientation == 1536) { - var4.rotateY90Ccw(); - var4.rotateY90Ccw(); - var4.rotateY90Ccw(); - } - - var4.offsetBy(super.x * -78439701 - this.field597 * 4096, this.tileHeight - this.tileHeight2, super.y - this.field599 * 4096); - } - } - - var3.isSingleTile = true; - return var3; - } - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IIBI)V", - garbageValue = "170644869" - ) - final void method1189(int var1, int var2, byte var3) { - if (super.sequence != -1 && class83.SequenceDefinition_get(super.sequence).field3501 == 1) { - super.sequence = -1; - } - - super.field945 = -1; - if (var1 >= 0 && var1 < 104 && var2 >= 0 && var2 < 104) { - if (super.pathX[0] >= 0 && super.pathX[0] < 104 && super.pathY[0] >= 0 && super.pathY[0] < 104) { - if (var3 == 2) { - Player var4 = this; - int var5 = super.pathX[0]; - int var6 = super.pathY[0]; - int var7 = this.transformedSize(); - if (var5 >= var7 && var5 < 104 - var7 && var6 >= var7 && var6 < 104 - var7 && var1 >= var7 && var1 < 104 - var7 && var2 >= var7 && var2 < 104 - var7) { - int var10 = this.transformedSize(); - Client.field896.approxDestinationX = var1; - Client.field896.approxDestinationY = var2; - Client.field896.approxDestinationSizeX = 1; - Client.field896.approxDestinationSizeY = 1; - class65 var11 = Client.field896; - int var12 = WorldMapIcon_0.method194(var5, var6, var10, var11, Client.collisionMaps[this.plane], true, Client.field897, Client.field622); - if (var12 >= 1) { - for (int var13 = 0; var13 < var12 - 1; ++var13) { - var4.method1191(Client.field897[var13], Client.field622[var13], (byte)2); - } - } - } - } - - this.method1191(var1, var2, var3); - } else { - this.resetPath(var1, var2); - } - } else { - this.resetPath(var1, var2); - } - - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "317983942" - ) - @Export("resetPath") - void resetPath(int var1, int var2) { - super.pathLength = 0; - super.field969 = 0; - super.field975 = 0; - super.pathX[0] = var1; - super.pathY[0] = var2; - int var3 = this.transformedSize(); - super.x = var3 * -294686528 + super.pathX[0] * -589373056; - super.y = super.pathY[0] * 128 + var3 * 64; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IIBI)V", - garbageValue = "-1285551700" - ) - final void method1191(int var1, int var2, byte var3) { - if (super.pathLength < 9) { - ++super.pathLength; - } - - for (int var4 = super.pathLength; var4 > 0; --var4) { - super.pathX[var4] = super.pathX[var4 - 1]; - super.pathY[var4] = super.pathY[var4 - 1]; - super.pathTraversed[var4] = super.pathTraversed[var4 - 1]; - } - - super.pathX[0] = var1; - super.pathY[0] = var2; - super.pathTraversed[0] = var3; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "93" - ) - @Export("isVisible") - final boolean isVisible() { - return this.appearance != null; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;I)V", - garbageValue = "-1030066810" - ) - public static void method1228(AbstractArchive var0) { - FloorOverlayDefinition.FloorOverlayDefinition_archive = var0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)Lid;", - garbageValue = "-59" - ) - @Export("ItemDefinition_get") - public static ItemDefinition ItemDefinition_get(int var0) { - ItemDefinition var1 = (ItemDefinition)ItemDefinition.ItemDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = class65.ItemDefinition_archive.takeFile(10, var0); - var1 = new ItemDefinition(); - var1.id = var0; - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.post(); - if (var1.noteTemplate != -1) { - var1.genCert(ItemDefinition_get(var1.noteTemplate), ItemDefinition_get(var1.note)); - } - - if (var1.notedId != -1) { - var1.genBought(ItemDefinition_get(var1.notedId), ItemDefinition_get(var1.unnotedId)); - } - - if (var1.placeholderTemplate != -1) { - var1.genPlaceholder(ItemDefinition_get(var1.placeholderTemplate), ItemDefinition_get(var1.placeholder)); - } - - if (!ItemDefinition.ItemDefinition_inMembersWorld && var1.isMembersOnly) { - var1.name = "Members object"; - var1.isTradable = false; - var1.groundActions = null; - var1.inventoryActions = null; - var1.shiftClickIndex = -1; - var1.team = 0; - if (var1.params != null) { - boolean var3 = false; - - for (Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) { - ParamDefinition var5 = GrandExchangeOfferTotalQuantityComparator.getParamDefinition((int)var4.key); - if (var5.autoDisable) { - var4.remove(); - } else { - var3 = true; - } - } - - if (!var3) { - var1.params = null; - } - } - } - - ItemDefinition.ItemDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lhy;", - garbageValue = "-43524032" - ) - @Export("getWidget") - public static Widget getWidget(int var0) { - int var1 = var0 >> 16; - int var2 = var0 & 65535; - if (class289.Widget_interfaceComponents[var1] == null || class289.Widget_interfaceComponents[var1][var2] == null) { - boolean var3 = TaskHandler.loadInterface(var1); - if (!var3) { - return null; - } - } - - return class289.Widget_interfaceComponents[var1][var2]; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IIIIIZI)Lli;", - garbageValue = "1247065479" - ) - @Export("getItemSprite") - public static final Sprite getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) { - if (var1 == -1) { - var4 = 0; - } else if (var4 == 2 && var1 != 1) { - var4 = 1; - } - - long var6 = (long)var0 + ((long)var1 << 16) + ((long)var2 << 38) + ((long)var4 << 40) + ((long)var3 << 42); - Sprite var8; - if (!var5) { - var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6); - if (var8 != null) { - return var8; - } - } - - ItemDefinition var9 = ItemDefinition_get(var0); - if (var1 > 1 && var9.countobj != null) { - int var10 = -1; - - for (int var11 = 0; var11 < 10; ++var11) { - if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { - var10 = var9.countobj[var11]; - } - } - - if (var10 != -1) { - var9 = ItemDefinition_get(var10); - } - } - - Model var19 = var9.getModel(1); - if (var19 == null) { - return null; - } else { - Sprite var20 = null; - if (var9.noteTemplate != -1) { - var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); - if (var20 == null) { - return null; - } - } else if (var9.notedId != -1) { - var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); - if (var20 == null) { - return null; - } - } else if (var9.placeholderTemplate != -1) { - var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); - if (var20 == null) { - return null; - } - } - - int[] var12 = Rasterizer2D.Rasterizer2D_pixels; - int var13 = Rasterizer2D.Rasterizer2D_width; - int var14 = Rasterizer2D.Rasterizer2D_height; - int[] var15 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var15); - var8 = new Sprite(36, 32); - Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); - Rasterizer2D.Rasterizer2D_clear(); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - Rasterizer3D.method3033(16, 16); - Rasterizer3D.field1729 = false; - if (var9.placeholderTemplate != -1) { - var20.drawTransBgAt(0, 0); - } - - int var16 = var9.zoom2d; - if (var5) { - var16 = (int)((double)var16 * 1.5D); - } else if (var2 == 2) { - var16 = (int)(1.04D * (double)var16); - } - - int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; - int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; - var19.calculateBoundsCylinder(); - var19.method2854(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); - if (var9.notedId != -1) { - var20.drawTransBgAt(0, 0); - } - - if (var2 >= 1) { - var8.outline(1); - } - - if (var2 >= 2) { - var8.outline(16777215); - } - - if (var3 != 0) { - var8.shadow(var3); - } - - Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); - if (var9.noteTemplate != -1) { - var20.drawTransBgAt(0, 0); - } - - if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { - class215.ItemDefinition_fontPlain11.draw(BoundaryObject.method3230(var1), 0, 9, 16776960, 1); - } - - if (!var5) { - ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6); - } - - Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); - Rasterizer2D.Rasterizer2D_setClipArray(var15); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - Rasterizer3D.field1729 = true; - return var8; - } - } - - @ObfuscatedName("hn") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "16777215" - ) - @Export("selectSpell") - static void selectSpell(int widgetId, int childId, int clickMaskId, int id) { - Widget var4 = class49.getWidgetChild(widgetId, childId); - if (var4 != null && var4.onTargetEnter != null) { - ScriptEvent var5 = new ScriptEvent(); - var5.widget = var4; - var5.args = var4.onTargetEnter; - SecureRandomFuture.runScriptEvent(var5); - } - - Client.field648 = id; - Client.isSpellSelected = true; - class83.selectedSpellWidget = widgetId; - Client.selectedSpellChildIndex = childId; - BuddyRankComparator.selectedSpellFlags = clickMaskId; - WorldMapID.invalidateWidget(var4); - } -} +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("bi") +@Implements("Player") +public final class Player extends Actor { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljq;" + ) + @Export("username") + Username username; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhr;" + ) + @Export("appearance") + PlayerAppearance appearance; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1858482709 + ) + @Export("headIconPk") + int headIconPk; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1159540227 + ) + @Export("headIconPrayer") + int headIconPrayer; + @ObfuscatedName("p") + @Export("actions") + String[] actions; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1877190243 + ) + @Export("combatLevel") + int combatLevel; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 637335031 + ) + @Export("skillLevel") + int skillLevel; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1771866445 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -635760975 + ) + @Export("animationCycleStart") + int animationCycleStart; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -417952037 + ) + @Export("animationCycleEnd") + int animationCycleEnd; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -160406725 + ) + int field606; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 259205349 + ) + @Export("tileHeight2") + int tileHeight2; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -115769627 + ) + int field608; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Ldh;" + ) + @Export("model0") + Model model0; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1991225207 + ) + int field622; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -650011663 + ) + int field611; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1516041903 + ) + int field612; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1977928131 + ) + int field613; + @ObfuscatedName("h") + @Export("isUnanimated") + boolean isUnanimated; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 14620165 + ) + @Export("team") + int team; + @ObfuscatedName("f") + @Export("isHidden") + boolean isHidden; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 574179385 + ) + @Export("plane") + int plane; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1078544769 + ) + @Export("index") + int index; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("isFriendTriBool") + TriBool isFriendTriBool; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("isInClanChat") + TriBool isInClanChat; + @ObfuscatedName("ac") + boolean field621; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -1966699347 + ) + @Export("tileX") + int tileX; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -150727859 + ) + @Export("tileY") + int tileY; + + Player() { + this.headIconPk = -1; + this.headIconPrayer = -1; + this.actions = new String[3]; + + for (int var1 = 0; var1 < 3; ++var1) { + this.actions[var1] = ""; + } + + this.combatLevel = 0; + this.skillLevel = 0; + this.animationCycleStart = 0; + this.animationCycleEnd = 0; + this.isUnanimated = false; + this.team = 0; + this.isHidden = false; + this.isFriendTriBool = TriBool.TriBool_unknown; + this.isInClanChat = TriBool.TriBool_unknown; + this.field621 = false; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-16" + ) + @Export("read") + final void read(Buffer var1) { + var1.offset = 0; + int var2 = var1.readUnsignedByte(); + this.headIconPk = var1.readByte(); + this.headIconPrayer = var1.readByte(); + int var3 = -1; + this.team = 0; + int[] var4 = new int[12]; + + int var6; + int var7; + for (int var5 = 0; var5 < 12; ++var5) { + var6 = var1.readUnsignedByte(); + if (var6 == 0) { + var4[var5] = 0; + } else { + var7 = var1.readUnsignedByte(); + var4[var5] = var7 + (var6 << 8); + if (var5 == 0 && var4[0] == 65535) { + var3 = var1.readUnsignedShort(); + break; + } + + if (var4[var5] >= 512) { + int var8 = Occluder.ItemDefinition_get(var4[var5] - 512).team; + if (var8 != 0) { + this.team = var8; + } + } + } + } + + int[] var9 = new int[5]; + + for (var6 = 0; var6 < 5; ++var6) { + var7 = var1.readUnsignedByte(); + if (var7 < 0 || var7 >= PlayerAppearance.field2519[var6].length) { + var7 = 0; + } + + var9[var6] = var7; + } + + super.readySequence = var1.readUnsignedShort(); + if (super.readySequence == 65535) { + super.readySequence = -1; + } + + super.turnLeftSequence = var1.readUnsignedShort(); + if (super.turnLeftSequence == 65535) { + super.turnLeftSequence = -1; + } + + super.turnRightSequence = super.turnLeftSequence; + super.walkSequence = var1.readUnsignedShort(); + if (super.walkSequence == 65535) { + super.walkSequence = -1; + } + + super.walkBackSequence = var1.readUnsignedShort(); + if (super.walkBackSequence == 65535) { + super.walkBackSequence = -1; + } + + super.walkLeftSequence = var1.readUnsignedShort(); + if (super.walkLeftSequence == 65535) { + super.walkLeftSequence = -1; + } + + super.walkRightSequence = var1.readUnsignedShort(); + if (super.walkRightSequence == 65535) { + super.walkRightSequence = -1; + } + + super.runSequence = var1.readUnsignedShort(); + if (super.runSequence == 65535) { + super.runSequence = -1; + } + + this.username = new Username(var1.readStringCp1252NullTerminated(), WorldMapSection1.loginType); + this.clearIsFriend(); + this.clearIsInClanChat(); + if (this == class223.localPlayer) { + RunException.localPlayerName = this.username.getName(); + } + + this.combatLevel = var1.readUnsignedByte(); + this.skillLevel = var1.readUnsignedShort(); + this.isHidden = var1.readUnsignedByte() == 1; + if (Client.gameBuild == 0 && Client.staffModLevel >= 2) { + this.isHidden = false; + } + + if (this.appearance == null) { + this.appearance = new PlayerAppearance(); + } + + this.appearance.update(var4, var9, var2 == 1, var3); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-2145672884" + ) + @Export("isFriend") + boolean isFriend() { + if (this.isFriendTriBool == TriBool.TriBool_unknown) { + this.checkIsFriend(); + } + + return this.isFriendTriBool == TriBool.TriBool_true; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "77" + ) + @Export("clearIsFriend") + void clearIsFriend() { + this.isFriendTriBool = TriBool.TriBool_unknown; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "79" + ) + @Export("checkIsFriend") + void checkIsFriend() { + this.isFriendTriBool = Tiles.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-408684042" + ) + @Export("isClanMember") + boolean isClanMember() { + if (this.isInClanChat == TriBool.TriBool_unknown) { + this.updateIsInClanChat(); + } + + return this.isInClanChat == TriBool.TriBool_true; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2050482015" + ) + @Export("clearIsInClanChat") + void clearIsInClanChat() { + this.isInClanChat = TriBool.TriBool_unknown; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "108" + ) + @Export("updateIsInClanChat") + void updateIsInClanChat() { + this.isInClanChat = Varps.clanChat != null && Varps.clanChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "20" + ) + @Export("transformedSize") + int transformedSize() { + return this.appearance != null && this.appearance.npcTransformId != -1 ? PacketBufferNode.getNpcDefinition(this.appearance.npcTransformId).size : 1; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ldh;", + garbageValue = "-62237472" + ) + @Export("getModel") + protected final Model getModel() { + if (this.appearance == null) { + return null; + } else { + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence != -1 && !this.isUnanimated && (super.movementSequence != super.readySequence || var1 == null) ? GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(super.movementSequence) : null; + Model var3 = this.appearance.getModel(var1, super.sequenceFrame, var2, super.movementFrame); + if (var3 == null) { + return null; + } else { + var3.calculateBoundsCylinder(); + super.defaultHeight = var3.height; + Model var4; + Model[] var5; + if (!this.isUnanimated && super.spotAnimation != -1 && super.spotAnimationFrame != -1) { + var4 = InterfaceParent.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); + if (var4 != null) { + var4.offsetBy(0, -super.heightOffset, 0); + var5 = new Model[]{var3, var4}; + var3 = new Model(var5, 2); + } + } + + if (!this.isUnanimated && this.model0 != null) { + if (Client.cycle >= this.animationCycleEnd) { + this.model0 = null; + } + + if (Client.cycle >= this.animationCycleStart && Client.cycle < this.animationCycleEnd) { + var4 = this.model0; + var4.offsetBy(this.field606 * 4096 - super.x, this.tileHeight2 - this.tileHeight, this.field608 * 4096 - super.y * 682054857); + if (super.orientation == 512) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } else if (super.orientation == 1024) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } else if (super.orientation == 1536) { + var4.rotateY90Ccw(); + } + + var5 = new Model[]{var3, var4}; + var3 = new Model(var5, 2); + if (super.orientation == 512) { + var4.rotateY90Ccw(); + } else if (super.orientation == 1024) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } else if (super.orientation == 1536) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } + + var4.offsetBy(super.x - this.field606 * 4096, this.tileHeight - this.tileHeight2, super.y * 682054857 - this.field608 * 4096); + } + } + + var3.isSingleTile = true; + return var3; + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(IIBB)V", + garbageValue = "37" + ) + final void method1274(int var1, int var2, byte var3) { + if (super.sequence != -1 && GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(super.sequence).field3510 == 1) { + super.sequence = -1; + } + + super.field957 = -1; + if (var1 >= 0 && var1 < 104 && var2 >= 0 && var2 < 104) { + if (super.pathX[0] >= 0 && super.pathX[0] < 104 && super.pathY[0] >= 0 && super.pathY[0] < 104) { + if (var3 == 2) { + class1.method14(this, var1, var2, (byte)2); + } + + this.method1263(var1, var2, var3); + } else { + this.resetPath(var1, var2); + } + } else { + this.resetPath(var1, var2); + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-23" + ) + @Export("resetPath") + void resetPath(int var1, int var2) { + super.pathLength = 0; + super.field988 = 0; + super.field949 = 0; + super.pathX[0] = var1; + super.pathY[0] = var2; + int var3 = this.transformedSize(); + super.x = var3 * 64 + super.pathX[0] * 128; + super.y = var3 * -297705920 + super.pathY[0] * -595411840; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIBI)V", + garbageValue = "-1343044637" + ) + final void method1263(int var1, int var2, byte var3) { + if (super.pathLength < 9) { + ++super.pathLength; + } + + for (int var4 = super.pathLength; var4 > 0; --var4) { + super.pathX[var4] = super.pathX[var4 - 1]; + super.pathY[var4] = super.pathY[var4 - 1]; + super.pathTraversed[var4] = super.pathTraversed[var4 - 1]; + } + + super.pathX[0] = var1; + super.pathY[0] = var2; + super.pathTraversed[0] = var3; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(S)Z", + garbageValue = "180" + ) + @Export("isVisible") + final boolean isVisible() { + return this.appearance != null; + } +} diff --git a/runescape-client/src/main/java/PlayerAppearance.java b/runescape-client/src/main/java/PlayerAppearance.java index 46fdced300..c05dc26df3 100644 --- a/runescape-client/src/main/java/PlayerAppearance.java +++ b/runescape-client/src/main/java/PlayerAppearance.java @@ -1,543 +1,688 @@ -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.ScriptOpcodes; - -@ObfuscatedName("hl") -@Implements("PlayerAppearance") -public class PlayerAppearance { - @ObfuscatedName("v") - public static short[][] field2508; - @ObfuscatedName("d") - public static short[] field2513; - @ObfuscatedName("z") - public static short[][] field2511; - @ObfuscatedName("n") - @Export("equipmentIndices") - static final int[] equipmentIndices; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("PlayerAppearance_cachedModels") - public static EvictingDualNodeHashTable PlayerAppearance_cachedModels; - @ObfuscatedName("c") - @Export("equipment") - int[] equipment; - @ObfuscatedName("x") - @Export("bodyColors") - int[] bodyColors; - @ObfuscatedName("t") - @Export("isFemale") - public boolean isFemale; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1955539513 - ) - @Export("npcTransformId") - public int npcTransformId; - @ObfuscatedName("l") - @ObfuscatedGetter( - longValue = -768101756987274503L - ) - long field2510; - @ObfuscatedName("u") - @ObfuscatedGetter( - longValue = 270376904250557193L - ) - long field2512; - - static { - equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; - PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(260); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([I[IZII)V", - garbageValue = "128903597" - ) - @Export("update") - public void update(int[] var1, int[] var2, boolean var3, int var4) { - if (var1 == null) { - var1 = new int[12]; - - for (int var5 = 0; var5 < 7; ++var5) { - for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) { - KitDefinition var7 = class195.KitDefinition_get(var6); - if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (var3 ? 7 : 0)) { - var1[equipmentIndices[var5]] = var6 + 256; - break; - } - } - } - } - - this.equipment = var1; - this.bodyColors = var2; - this.isFemale = var3; - this.npcTransformId = var4; - this.setHash(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IZB)V", - garbageValue = "0" - ) - @Export("changeAppearance") - public void changeAppearance(int var1, boolean var2) { - if (var1 != 1 || !this.isFemale) { - int var3 = this.equipment[equipmentIndices[var1]]; - if (var3 != 0) { - var3 -= 256; - - KitDefinition var4; - do { - if (!var2) { - --var3; - if (var3 < 0) { - var3 = KitDefinition.KitDefinition_fileCount - 1; - } - } else { - ++var3; - if (var3 >= KitDefinition.KitDefinition_fileCount) { - var3 = 0; - } - } - - var4 = class195.KitDefinition_get(var3); - } while(var4 == null || var4.nonSelectable || var1 + (this.isFemale ? 7 : 0) != var4.bodypartID); - - this.equipment[equipmentIndices[var1]] = var3 + 256; - this.setHash(); - } - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IZS)V", - garbageValue = "32089" - ) - public void method3983(int var1, boolean var2) { - int var3 = this.bodyColors[var1]; - boolean var4; - if (!var2) { - do { - --var3; - if (var3 < 0) { - var3 = field2508[var1].length - 1; - } - - if (var1 == 4 && var3 >= 8) { - var4 = false; - } else { - var4 = true; - } - } while(!var4); - } else { - do { - ++var3; - if (var3 >= field2508[var1].length) { - var3 = 0; - } - - if (var1 == 4 && var3 >= 8) { - var4 = false; - } else { - var4 = true; - } - } while(!var4); - } - - this.bodyColors[var1] = var3; - this.setHash(); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "-80" - ) - @Export("changeSex") - public void changeSex(boolean var1) { - if (this.isFemale != var1) { - this.update((int[])null, this.bodyColors, var1, -1); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1762621259" - ) - @Export("write") - public void write(Buffer var1) { - var1.writeByte(this.isFemale ? 1 : 0); - - int var2; - for (var2 = 0; var2 < 7; ++var2) { - int var3 = this.equipment[equipmentIndices[var2]]; - if (var3 == 0) { - var1.writeByte(-1); - } else { - var1.writeByte(var3 - 256); - } - } - - for (var2 = 0; var2 < 5; ++var2) { - var1.writeByte(this.bodyColors[var2]); - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1290527854" - ) - @Export("setHash") - void setHash() { - long var1 = this.field2510; - int var3 = this.equipment[5]; - int var4 = this.equipment[9]; - this.equipment[5] = var4; - this.equipment[9] = var3; - this.field2510 = 0L; - - int var5; - for (var5 = 0; var5 < 12; ++var5) { - this.field2510 <<= 4; - if (this.equipment[var5] >= 256) { - this.field2510 += (long)(this.equipment[var5] - 256); - } - } - - if (this.equipment[0] >= 256) { - this.field2510 += (long)(this.equipment[0] - 256 >> 4); - } - - if (this.equipment[1] >= 256) { - this.field2510 += (long)(this.equipment[1] - 256 >> 8); - } - - for (var5 = 0; var5 < 5; ++var5) { - this.field2510 <<= 3; - this.field2510 += (long)this.bodyColors[var5]; - } - - this.field2510 <<= 1; - this.field2510 += (long)(this.isFemale ? 1 : 0); - this.equipment[5] = var3; - this.equipment[9] = var4; - if (0L != var1 && var1 != this.field2510) { - PlayerAppearance_cachedModels.remove(var1); - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Liw;ILiw;II)Ldr;", - garbageValue = "-1695778045" - ) - @Export("getModel") - public Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { - if (this.npcTransformId != -1) { - return FontName.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); - } else { - long var5 = this.field2510; - int[] var7 = this.equipment; - if (var1 != null && (var1.shield >= 0 || var1.weapon >= 0)) { - var7 = new int[12]; - - for (int var15 = 0; var15 < 12; ++var15) { - var7[var15] = this.equipment[var15]; - } - - if (var1.shield >= 0) { - var5 += (long)(var1.shield - this.equipment[5] << 40); - var7[5] = var1.shield; - } - - if (var1.weapon >= 0) { - var5 += (long)(var1.weapon - this.equipment[3] << 48); - var7[3] = var1.weapon; - } - } - - Model var8 = (Model)PlayerAppearance_cachedModels.get(var5); - if (var8 == null) { - boolean var9 = false; - - int var11; - for (int var10 = 0; var10 < 12; ++var10) { - var11 = var7[var10]; - if (var11 >= 256 && var11 < 512 && !class195.KitDefinition_get(var11 - 256).ready()) { - var9 = true; - } - - if (var11 >= 512 && !Player.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) { - var9 = true; - } - } - - if (var9) { - if (this.field2512 != -1L) { - var8 = (Model)PlayerAppearance_cachedModels.get(this.field2512); - } - - if (var8 == null) { - return null; - } - } - - if (var8 == null) { - ModelData[] var16 = new ModelData[12]; - var11 = 0; - - int var13; - for (int var12 = 0; var12 < 12; ++var12) { - var13 = var7[var12]; - ModelData var14; - if (var13 >= 256 && var13 < 512) { - var14 = class195.KitDefinition_get(var13 - 256).getModelData(); - if (var14 != null) { - var16[var11++] = var14; - } - } - - if (var13 >= 512) { - var14 = Player.ItemDefinition_get(var13 - 512).method4657(this.isFemale); - if (var14 != null) { - var16[var11++] = var14; - } - } - } - - ModelData var18 = new ModelData(var16, var11); - - for (var13 = 0; var13 < 5; ++var13) { - if (this.bodyColors[var13] < field2508[var13].length) { - var18.recolor(UserComparator8.field1944[var13], field2508[var13][this.bodyColors[var13]]); - } - - if (this.bodyColors[var13] < field2511[var13].length) { - var18.recolor(field2513[var13], field2511[var13][this.bodyColors[var13]]); - } - } - - var8 = var18.toModel(64, 850, -30, -50, -30); - PlayerAppearance_cachedModels.put(var8, var5); - this.field2512 = var5; - } - } - - if (var1 == null && var3 == null) { - return var8; - } else { - Model var17; - if (var1 != null && var3 != null) { - var17 = var1.applyTransformations(var8, var2, var3, var4); - } else if (var1 != null) { - var17 = var1.transformActorModel(var8, var2); - } else { - var17 = var3.transformActorModel(var8, var4); - } - - return var17; - } - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)Lds;", - garbageValue = "-383729873" - ) - @Export("getModelData") - ModelData getModelData() { - if (this.npcTransformId != -1) { - return FontName.getNpcDefinition(this.npcTransformId).getModelData(); - } else { - boolean var1 = false; - - int var3; - for (int var2 = 0; var2 < 12; ++var2) { - var3 = this.equipment[var2]; - if (var3 >= 256 && var3 < 512 && !class195.KitDefinition_get(var3 - 256).method4457()) { - var1 = true; - } - - if (var3 >= 512 && !Player.ItemDefinition_get(var3 - 512).method4665(this.isFemale)) { - var1 = true; - } - } - - if (var1) { - return null; - } else { - ModelData[] var7 = new ModelData[12]; - var3 = 0; - - int var5; - for (int var4 = 0; var4 < 12; ++var4) { - var5 = this.equipment[var4]; - ModelData var6; - if (var5 >= 256 && var5 < 512) { - var6 = class195.KitDefinition_get(var5 - 256).getKitDefinitionModels(); - if (var6 != null) { - var7[var3++] = var6; - } - } - - if (var5 >= 512) { - var6 = Player.ItemDefinition_get(var5 - 512).method4659(this.isFemale); - if (var6 != null) { - var7[var3++] = var6; - } - } - } - - ModelData var8 = new ModelData(var7, var3); - - for (var5 = 0; var5 < 5; ++var5) { - if (this.bodyColors[var5] < field2508[var5].length) { - var8.recolor(UserComparator8.field1944[var5], field2508[var5][this.bodyColors[var5]]); - } - - if (this.bodyColors[var5] < field2511[var5].length) { - var8.recolor(field2513[var5], field2511[var5][this.bodyColors[var5]]); - } - } - - return var8; - } - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-860762506" - ) - @Export("getChatHeadId") - public int getChatHeadId() { - return this.npcTransformId == -1 ? (this.equipment[0] << 15) + this.equipment[1] + (this.equipment[11] << 5) + (this.equipment[8] << 10) + (this.bodyColors[0] << 25) + (this.bodyColors[4] << 20) : 305419896 + FontName.getNpcDefinition(this.npcTransformId).id; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)[Lhx;", - garbageValue = "-850307584" - ) - @Export("PlayerType_values") - public static PlayerType[] PlayerType_values() { - return new PlayerType[]{PlayerType.PlayerType_jagexModerator, PlayerType.PlayerType_ironman, PlayerType.PlayerType_ultimateIronman, PlayerType.PlayerType_hardcoreIronman, PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_normal}; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIIS)Lcu;", - garbageValue = "4204" - ) - @Export("getWorldMapScript") - static Script getWorldMapScript(int var0, int var1, int var2) { - int var3 = (var1 << 8) + var0; - Script var6 = (Script)Script.Script_cached.get((long)(var3 << 16)); - Script var5; - if (var6 != null) { - var5 = var6; - } else { - String var7 = String.valueOf(var3); - int var8 = Message.archive12.getGroupId(var7); - if (var8 == -1) { - var5 = null; - } else { - label56: { - byte[] var9 = Message.archive12.takeFileFlat(var8); - if (var9 != null) { - if (var9.length <= 1) { - var5 = null; - break label56; - } - - var6 = AttackOption.newScript(var9); - if (var6 != null) { - Script.Script_cached.put(var6, (long)(var3 << 16)); - var5 = var6; - break label56; - } - } - - var5 = null; - } - } - } - - if (var5 != null) { - return var5; - } else { - int var13 = (var2 + 40000 << 8) + var0; - Script var15 = (Script)Script.Script_cached.get((long)(var13 << 16)); - Script var14; - if (var15 != null) { - var14 = var15; - } else { - String var10 = String.valueOf(var13); - int var11 = Message.archive12.getGroupId(var10); - if (var11 == -1) { - var14 = null; - } else { - byte[] var12 = Message.archive12.takeFileFlat(var11); - if (var12 != null) { - if (var12.length <= 1) { - var14 = null; - return var14 != null ? var14 : null; - } - - var15 = AttackOption.newScript(var12); - if (var15 != null) { - Script.Script_cached.put(var15, (long)(var13 << 16)); - var14 = var15; - return var14 != null ? var14 : null; - } - } - - var14 = null; - } - } - - return var14 != null ? var14 : null; - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "909717024" - ) - static int method3990(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - if (var0 == ScriptOpcodes.CC_GETINVOBJECT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.itemId; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) { - if (var3.itemId != -1) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.itemQuantity; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_GETID) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.childIndex; - return 1; - } else { - return 2; - } - } -} +import java.io.IOException; +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("hr") +@Implements("PlayerAppearance") +public class PlayerAppearance { + @ObfuscatedName("m") + public static short[][] field2519; + @ObfuscatedName("y") + public static short[] field2525; + @ObfuscatedName("c") + @Export("equipmentIndices") + static final int[] equipmentIndices; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("PlayerAppearance_cachedModels") + static EvictingDualNodeHashTable PlayerAppearance_cachedModels; + @ObfuscatedName("z") + @Export("equipment") + int[] equipment; + @ObfuscatedName("n") + @Export("bodyColors") + int[] bodyColors; + @ObfuscatedName("v") + @Export("isFemale") + public boolean isFemale; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 297413953 + ) + @Export("npcTransformId") + public int npcTransformId; + @ObfuscatedName("r") + @ObfuscatedGetter( + longValue = 720398240330286877L + ) + long field2526; + @ObfuscatedName("p") + @ObfuscatedGetter( + longValue = -4457276035074261541L + ) + long field2522; + + static { + equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; + PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(260); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([I[IZII)V", + garbageValue = "16711680" + ) + @Export("update") + public void update(int[] var1, int[] var2, boolean var3, int var4) { + if (var1 == null) { + var1 = new int[12]; + + for (int var5 = 0; var5 < 7; ++var5) { + for (int var6 = 0; var6 < DevicePcmPlayerProvider.KitDefinition_fileCount; ++var6) { + KitDefinition var7 = class216.KitDefinition_get(var6); + if (var7 != null && !var7.nonSelectable && var5 + (var3 ? 7 : 0) == var7.bodypartID) { + var1[equipmentIndices[var5]] = var6 + 256; + break; + } + } + } + } + + this.equipment = var1; + this.bodyColors = var2; + this.isFemale = var3; + this.npcTransformId = var4; + this.setHash(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IZI)V", + garbageValue = "-317022193" + ) + @Export("changeAppearance") + public void changeAppearance(int var1, boolean var2) { + if (var1 != 1 || !this.isFemale) { + int var3 = this.equipment[equipmentIndices[var1]]; + if (var3 != 0) { + var3 -= 256; + + KitDefinition var4; + do { + if (!var2) { + --var3; + if (var3 < 0) { + var3 = DevicePcmPlayerProvider.KitDefinition_fileCount - 1; + } + } else { + ++var3; + if (var3 >= DevicePcmPlayerProvider.KitDefinition_fileCount) { + var3 = 0; + } + } + + var4 = class216.KitDefinition_get(var3); + } while(var4 == null || var4.nonSelectable || var4.bodypartID != var1 + (this.isFemale ? 7 : 0)); + + this.equipment[equipmentIndices[var1]] = var3 + 256; + this.setHash(); + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IZI)V", + garbageValue = "-278552632" + ) + public void method3965(int var1, boolean var2) { + int var3 = this.bodyColors[var1]; + if (!var2) { + do { + --var3; + if (var3 < 0) { + var3 = field2519[var1].length - 1; + } + } while(!NetCache.method4284(var1, var3)); + } else { + do { + ++var3; + if (var3 >= field2519[var1].length) { + var3 = 0; + } + } while(!NetCache.method4284(var1, var3)); + } + + this.bodyColors[var1] = var3; + this.setHash(); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-1564425789" + ) + @Export("changeSex") + public void changeSex(boolean var1) { + if (this.isFemale != var1) { + this.update((int[])null, this.bodyColors, var1, -1); + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-1319583567" + ) + @Export("write") + public void write(Buffer var1) { + var1.writeByte(this.isFemale ? 1 : 0); + + int var2; + for (var2 = 0; var2 < 7; ++var2) { + int var3 = this.equipment[equipmentIndices[var2]]; + if (var3 == 0) { + var1.writeByte(-1); + } else { + var1.writeByte(var3 - 256); + } + } + + for (var2 = 0; var2 < 5; ++var2) { + var1.writeByte(this.bodyColors[var2]); + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1673165778" + ) + @Export("setHash") + void setHash() { + long var1 = this.field2526; + int var3 = this.equipment[5]; + int var4 = this.equipment[9]; + this.equipment[5] = var4; + this.equipment[9] = var3; + this.field2526 = 0L; + + int var5; + for (var5 = 0; var5 < 12; ++var5) { + this.field2526 <<= 4; + if (this.equipment[var5] >= 256) { + this.field2526 += (long)(this.equipment[var5] - 256); + } + } + + if (this.equipment[0] >= 256) { + this.field2526 += (long)(this.equipment[0] - 256 >> 4); + } + + if (this.equipment[1] >= 256) { + this.field2526 += (long)(this.equipment[1] - 256 >> 8); + } + + for (var5 = 0; var5 < 5; ++var5) { + this.field2526 <<= 3; + this.field2526 += (long)this.bodyColors[var5]; + } + + this.field2526 <<= 1; + this.field2526 += (long)(this.isFemale ? 1 : 0); + this.equipment[5] = var3; + this.equipment[9] = var4; + if (var1 != 0L && this.field2526 != var1) { + PlayerAppearance_cachedModels.remove(var1); + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lix;ILix;IB)Ldh;", + garbageValue = "2" + ) + @Export("getModel") + public Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { + if (this.npcTransformId != -1) { + return PacketBufferNode.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); + } else { + long var5 = this.field2526; + int[] var7 = this.equipment; + if (var1 != null && (var1.shield >= 0 || var1.weapon >= 0)) { + var7 = new int[12]; + + for (int var15 = 0; var15 < 12; ++var15) { + var7[var15] = this.equipment[var15]; + } + + if (var1.shield >= 0) { + var5 += (long)(var1.shield - this.equipment[5] << 40); + var7[5] = var1.shield; + } + + if (var1.weapon >= 0) { + var5 += (long)(var1.weapon - this.equipment[3] << 48); + var7[3] = var1.weapon; + } + } + + Model var8 = (Model)PlayerAppearance_cachedModels.get(var5); + if (var8 == null) { + boolean var9 = false; + + int var11; + for (int var10 = 0; var10 < 12; ++var10) { + var11 = var7[var10]; + if (var11 >= 256 && var11 < 512 && !class216.KitDefinition_get(var11 - 256).ready()) { + var9 = true; + } + + if (var11 >= 512 && !Occluder.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) { + var9 = true; + } + } + + if (var9) { + if (-1L != this.field2522) { + var8 = (Model)PlayerAppearance_cachedModels.get(this.field2522); + } + + if (var8 == null) { + return null; + } + } + + if (var8 == null) { + ModelData[] var16 = new ModelData[12]; + var11 = 0; + + int var13; + for (int var12 = 0; var12 < 12; ++var12) { + var13 = var7[var12]; + ModelData var14; + if (var13 >= 256 && var13 < 512) { + var14 = class216.KitDefinition_get(var13 - 256).getModelData(); + if (var14 != null) { + var16[var11++] = var14; + } + } + + if (var13 >= 512) { + var14 = Occluder.ItemDefinition_get(var13 - 512).method4593(this.isFemale); + if (var14 != null) { + var16[var11++] = var14; + } + } + } + + ModelData var18 = new ModelData(var16, var11); + + for (var13 = 0; var13 < 5; ++var13) { + if (this.bodyColors[var13] < field2519[var13].length) { + var18.recolor(HorizontalAlignment.field3447[var13], field2519[var13][this.bodyColors[var13]]); + } + + if (this.bodyColors[var13] < DevicePcmPlayerProvider.field390[var13].length) { + var18.recolor(field2525[var13], DevicePcmPlayerProvider.field390[var13][this.bodyColors[var13]]); + } + } + + var8 = var18.toModel(64, 850, -30, -50, -30); + PlayerAppearance_cachedModels.put(var8, var5); + this.field2522 = var5; + } + } + + if (var1 == null && var3 == null) { + return var8; + } else { + Model var17; + if (var1 != null && var3 != null) { + var17 = var1.applyTransformations(var8, var2, var3, var4); + } else if (var1 != null) { + var17 = var1.transformActorModel(var8, var2); + } else { + var17 = var3.transformActorModel(var8, var4); + } + + return var17; + } + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(B)Ldw;", + garbageValue = "65" + ) + @Export("getModelData") + ModelData getModelData() { + if (this.npcTransformId != -1) { + return PacketBufferNode.getNpcDefinition(this.npcTransformId).getModelData(); + } else { + boolean var1 = false; + + int var3; + for (int var2 = 0; var2 < 12; ++var2) { + var3 = this.equipment[var2]; + if (var3 >= 256 && var3 < 512 && !class216.KitDefinition_get(var3 - 256).method4411()) { + var1 = true; + } + + if (var3 >= 512 && !Occluder.ItemDefinition_get(var3 - 512).method4611(this.isFemale)) { + var1 = true; + } + } + + if (var1) { + return null; + } else { + ModelData[] var7 = new ModelData[12]; + var3 = 0; + + int var5; + for (int var4 = 0; var4 < 12; ++var4) { + var5 = this.equipment[var4]; + ModelData var6; + if (var5 >= 256 && var5 < 512) { + var6 = class216.KitDefinition_get(var5 - 256).getKitDefinitionModels(); + if (var6 != null) { + var7[var3++] = var6; + } + } + + if (var5 >= 512) { + var6 = Occluder.ItemDefinition_get(var5 - 512).method4595(this.isFemale); + if (var6 != null) { + var7[var3++] = var6; + } + } + } + + ModelData var8 = new ModelData(var7, var3); + + for (var5 = 0; var5 < 5; ++var5) { + if (this.bodyColors[var5] < field2519[var5].length) { + var8.recolor(HorizontalAlignment.field3447[var5], field2519[var5][this.bodyColors[var5]]); + } + + if (this.bodyColors[var5] < DevicePcmPlayerProvider.field390[var5].length) { + var8.recolor(field2525[var5], DevicePcmPlayerProvider.field390[var5][this.bodyColors[var5]]); + } + } + + return var8; + } + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-2085645902" + ) + @Export("getChatHeadId") + public int getChatHeadId() { + return this.npcTransformId == -1 ? (this.equipment[0] << 15) + this.equipment[1] + (this.equipment[11] << 5) + (this.equipment[8] << 10) + (this.bodyColors[0] << 25) + (this.bodyColors[4] << 20) : 305419896 + PacketBufferNode.getNpcDefinition(this.npcTransformId).id; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1021250910" + ) + public static boolean method3998() { + long var0 = class30.method566(); + int var2 = (int)(var0 - NetCache.field3142); + NetCache.field3142 = var0; + if (var2 > 200) { + var2 = 200; + } + + NetCache.NetCache_loadTime += var2; + if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { + return true; + } else if (NetCache.NetCache_socket == null) { + return false; + } else { + try { + if (NetCache.NetCache_loadTime > 30000) { + throw new IOException(); + } else { + NetFileRequest var3; + Buffer var4; + while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { + var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); + var4 = new Buffer(4); + var4.writeByte(1); + var4.writeMedium((int)var3.key); + NetCache.NetCache_socket.write(var4.array, 0, 4); + NetCache.NetCache_pendingPriorityResponses.put(var3, var3.key); + --NetCache.NetCache_pendingPriorityWritesCount; + ++NetCache.NetCache_pendingPriorityResponsesCount; + } + + while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { + var3 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); + var4 = new Buffer(4); + var4.writeByte(0); + var4.writeMedium((int)var3.key); + NetCache.NetCache_socket.write(var4.array, 0, 4); + var3.removeDual(); + NetCache.NetCache_pendingResponses.put(var3, var3.key); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingResponsesCount; + } + + for (int var15 = 0; var15 < 100; ++var15) { + int var16 = NetCache.NetCache_socket.available(); + if (var16 < 0) { + throw new IOException(); + } + + if (var16 == 0) { + break; + } + + NetCache.NetCache_loadTime = 0; + byte var5 = 0; + if (WorldMapEvent.NetCache_currentResponse == null) { + var5 = 8; + } else if (NetCache.field3140 == 0) { + var5 = 1; + } + + int var6; + int var7; + int var8; + int var10; + byte[] var10000; + int var10001; + Buffer var22; + if (var5 > 0) { + var6 = var5 - NetCache.NetCache_responseHeaderBuffer.offset; + if (var6 > var16) { + var6 = var16; + } + + NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var6); + if (NetCache.field3156 != 0) { + for (var7 = 0; var7 < var6; ++var7) { + var10000 = NetCache.NetCache_responseHeaderBuffer.array; + var10001 = NetCache.NetCache_responseHeaderBuffer.offset + var7; + var10000[var10001] ^= NetCache.field3156; + } + } + + var22 = NetCache.NetCache_responseHeaderBuffer; + var22.offset += var6; + if (NetCache.NetCache_responseHeaderBuffer.offset < var5) { + break; + } + + if (WorldMapEvent.NetCache_currentResponse == null) { + NetCache.NetCache_responseHeaderBuffer.offset = 0; + var7 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var8 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); + int var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var10 = NetCache.NetCache_responseHeaderBuffer.readInt(); + long var11 = (long)(var8 + (var7 << 16)); + NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var11); + UserComparator10.field1957 = true; + if (var13 == null) { + var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11); + UserComparator10.field1957 = false; + } + + if (var13 == null) { + throw new IOException(); + } + + int var14 = var9 == 0 ? 5 : 9; + WorldMapEvent.NetCache_currentResponse = var13; + FaceNormal.NetCache_responseArchiveBuffer = new Buffer(var10 + var14 + WorldMapEvent.NetCache_currentResponse.padding); + FaceNormal.NetCache_responseArchiveBuffer.writeByte(var9); + FaceNormal.NetCache_responseArchiveBuffer.writeInt(var10); + NetCache.field3140 = 8; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else if (NetCache.field3140 == 0) { + if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { + NetCache.field3140 = 1; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else { + WorldMapEvent.NetCache_currentResponse = null; + } + } + } else { + var6 = FaceNormal.NetCache_responseArchiveBuffer.array.length - WorldMapEvent.NetCache_currentResponse.padding; + var7 = 512 - NetCache.field3140; + if (var7 > var6 - FaceNormal.NetCache_responseArchiveBuffer.offset) { + var7 = var6 - FaceNormal.NetCache_responseArchiveBuffer.offset; + } + + if (var7 > var16) { + var7 = var16; + } + + NetCache.NetCache_socket.read(FaceNormal.NetCache_responseArchiveBuffer.array, FaceNormal.NetCache_responseArchiveBuffer.offset, var7); + if (NetCache.field3156 != 0) { + for (var8 = 0; var8 < var7; ++var8) { + var10000 = FaceNormal.NetCache_responseArchiveBuffer.array; + var10001 = var8 + FaceNormal.NetCache_responseArchiveBuffer.offset; + var10000[var10001] ^= NetCache.field3156; + } + } + + var22 = FaceNormal.NetCache_responseArchiveBuffer; + var22.offset += var7; + NetCache.field3140 += var7; + if (var6 == FaceNormal.NetCache_responseArchiveBuffer.offset) { + if (16711935L == WorldMapEvent.NetCache_currentResponse.key) { + AbstractWorldMapIcon.NetCache_reference = FaceNormal.NetCache_responseArchiveBuffer; + + for (var8 = 0; var8 < 256; ++var8) { + Archive var17 = NetCache.NetCache_archives[var8]; + if (var17 != null) { + AbstractWorldMapIcon.NetCache_reference.offset = var8 * 8 + 5; + var10 = AbstractWorldMapIcon.NetCache_reference.readInt(); + int var18 = AbstractWorldMapIcon.NetCache_reference.readInt(); + var17.loadIndex(var10, var18); + } + } + } else { + NetCache.NetCache_crc.reset(); + NetCache.NetCache_crc.update(FaceNormal.NetCache_responseArchiveBuffer.array, 0, var6); + var8 = (int)NetCache.NetCache_crc.getValue(); + if (var8 != WorldMapEvent.NetCache_currentResponse.crc) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var20) { + } + + ++NetCache.NetCache_crcMismatches; + NetCache.NetCache_socket = null; + NetCache.field3156 = (byte)((int)(Math.random() * 255.0D + 1.0D)); + return false; + } + + NetCache.NetCache_crcMismatches = 0; + NetCache.NetCache_ioExceptions = 0; + WorldMapEvent.NetCache_currentResponse.archive.write((int)(WorldMapEvent.NetCache_currentResponse.key & 65535L), FaceNormal.NetCache_responseArchiveBuffer.array, (WorldMapEvent.NetCache_currentResponse.key & 16711680L) == 16711680L, UserComparator10.field1957); + } + + WorldMapEvent.NetCache_currentResponse.remove(); + if (UserComparator10.field1957) { + --NetCache.NetCache_pendingPriorityResponsesCount; + } else { + --NetCache.NetCache_pendingResponsesCount; + } + + NetCache.field3140 = 0; + WorldMapEvent.NetCache_currentResponse = null; + FaceNormal.NetCache_responseArchiveBuffer = null; + } else { + if (NetCache.field3140 != 512) { + break; + } + + NetCache.field3140 = 0; + } + } + } + + return true; + } + } catch (IOException var21) { + try { + NetCache.NetCache_socket.close(); + } catch (Exception var19) { + } + + ++NetCache.NetCache_ioExceptions; + NetCache.NetCache_socket = null; + return false; + } + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)[Lin;", + garbageValue = "101" + ) + static HorizontalAlignment[] method4000() { + return new HorizontalAlignment[]{HorizontalAlignment.field3442, HorizontalAlignment.field3444, HorizontalAlignment.HorizontalAlignment_centered}; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1781991052" + ) + static int method3966(int var0) { + return (int)Math.pow(2.0D, (double)(7.0F + (float)var0 / 256.0F)); + } + + @ObfuscatedName("go") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "1898502945" + ) + @Export("worldToScreen") + static final void worldToScreen(int var0, int var1, int var2) { + if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { + int var3 = MusicPatchPcmStream.getTileHeight(var0, var1, WorldMapRectangle.plane) - var2; + var0 -= GrandExchangeOfferOwnWorldComparator.cameraX; + var3 -= Varcs.cameraY; + var1 -= WorldMapIcon_1.cameraZ; + int var4 = Rasterizer3D.Rasterizer3D_sine[IgnoreList.cameraPitch]; + int var5 = Rasterizer3D.Rasterizer3D_cosine[IgnoreList.cameraPitch]; + int var6 = Rasterizer3D.Rasterizer3D_sine[WorldMapSection2.cameraYaw]; + int var7 = Rasterizer3D.Rasterizer3D_cosine[WorldMapSection2.cameraYaw]; + int var8 = var6 * var1 + var0 * var7 >> 16; + var1 = var7 * var1 - var0 * var6 >> 16; + var0 = var8; + var8 = var3 * var5 - var4 * var1 >> 16; + var1 = var5 * var1 + var4 * var3 >> 16; + if (var1 >= 50) { + Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; + Client.viewportTempY = Client.viewportHeight / 2 + var8 * Client.viewportZoom / var1; + } else { + Client.viewportTempX = -1; + Client.viewportTempY = -1; + } + + } else { + Client.viewportTempX = -1; + Client.viewportTempY = -1; + } + } +} diff --git a/runescape-client/src/main/java/PlayerType.java b/runescape-client/src/main/java/PlayerType.java index ccf0e4e43d..8625559903 100644 --- a/runescape-client/src/main/java/PlayerType.java +++ b/runescape-client/src/main/java/PlayerType.java @@ -1,173 +1,235 @@ -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.ScriptOpcodes; - -@ObfuscatedName("hx") -@Implements("PlayerType") -public enum PlayerType implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("PlayerType_normal") - PlayerType_normal(0, -1, true, false, true), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("PlayerType_playerModerator") - PlayerType_playerModerator(1, 0, true, true, true), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("PlayerType_jagexModerator") - PlayerType_jagexModerator(2, 1, true, true, false), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("PlayerType_ironman") - PlayerType_ironman(3, 2, false, false, true), - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("PlayerType_ultimateIronman") - PlayerType_ultimateIronman(4, 3, false, false, true), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhx;" - ) - @Export("PlayerType_hardcoreIronman") - PlayerType_hardcoreIronman(5, 10, false, false, true); - - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("worldSelectFlagSprites") - static IndexedSprite[] worldSelectFlagSprites; - @ObfuscatedName("fr") - @ObfuscatedSignature( - signature = "Lfc;" - ) - @Export("socketTask") - static Task socketTask; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 981686395 - ) - @Export("id") - final int id; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 113800329 - ) - @Export("modIcon") - public final int modIcon; - @ObfuscatedName("d") - @Export("isPrivileged") - public final boolean isPrivileged; - @ObfuscatedName("z") - @Export("isUser") - public final boolean isUser; - - PlayerType(int var3, int var4, boolean var5, boolean var6, boolean var7) { - this.id = var3; - this.modIcon = var4; - this.isPrivileged = var6; - this.isUser = var7; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(ILkx;Lio;I)V", - garbageValue = "1911728475" - ) - static void method4120(int var0, ArchiveDisk var1, Archive var2) { - byte[] var3 = null; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - for (ArchiveDiskAction var5 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var5 != null; var5 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { - if ((long)var0 == var5.key && var1 == var5.archiveDisk && var5.type == 0) { - var3 = var5.data; - break; - } - } - } - - if (var3 != null) { - var2.load(var1, var0, var3, true); - } else { - byte[] var4 = var1.read(var0); - var2.load(var1, var0, var4, true); - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lhz;II)Z", - garbageValue = "1300216140" - ) - @Export("SpriteBuffer_bufferFileFlat") - public static boolean SpriteBuffer_bufferFileFlat(AbstractArchive var0, int var1) { - byte[] var2 = var0.takeFileFlat(var1); - if (var2 == null) { - return false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var2); - return true; - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "1" - ) - static int method4121(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { - var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.itemId; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { - var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - if (var3.itemId != -1) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.itemQuantity; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.IF_HASSUB) { - int var5 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var5); - if (var4 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTOP) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.rootInterface; - return 1; - } else { - return 2; - } - } -} +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("hj") +@Implements("PlayerType") +public enum PlayerType implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("PlayerType_normal") + PlayerType_normal(0, -1, true, false, true), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("PlayerType_playerModerator") + PlayerType_playerModerator(1, 0, true, true, true), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("PlayerType_jagexModerator") + PlayerType_jagexModerator(2, 1, true, true, false), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("PlayerType_ironman") + PlayerType_ironman(3, 2, false, false, true), + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("PlayerType_ultimateIronman") + PlayerType_ultimateIronman(4, 3, false, false, true), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhj;" + ) + @Export("PlayerType_hardcoreIronman") + PlayerType_hardcoreIronman(5, 10, false, false, true); + + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1844030563 + ) + @Export("id") + final int id; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1331495779 + ) + @Export("modIcon") + public final int modIcon; + @ObfuscatedName("y") + @Export("isPrivileged") + public final boolean isPrivileged; + @ObfuscatedName("i") + @Export("isUser") + public final boolean isUser; + + PlayerType(int var3, int var4, boolean var5, boolean var6, boolean var7) { + this.id = var3; + this.modIcon = var4; + this.isPrivileged = var6; + this.isUser = var7; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + garbageValue = "-1550321441" + ) + @Export("setLoginResponseString") + static void setLoginResponseString(String var0, String var1, String var2) { + Login.Login_response1 = var0; + Login.Login_response2 = var1; + Login.Login_response3 = var2; + } + + @ObfuscatedName("fe") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "297483019" + ) + static final void method4092(boolean var0) { + if (var0) { + Client.field672 = Login.field1183 ? class160.field1976 : class160.field1977; + } else { + Client.field672 = AbstractArchive.clientPreferences.parameters.containsKey(class288.method5209(Login.Login_username)) ? class160.field1979 : class160.field1985; + } + + } + + @ObfuscatedName("gb") + @ObfuscatedSignature( + signature = "(ZLkf;I)V", + garbageValue = "-100712701" + ) + @Export("loadRegions") + static final void loadRegions(boolean var0, PacketBuffer var1) { + Client.isInInstance = var0; + int var2; + int var4; + int var5; + int var6; + int var7; + int var8; + if (!Client.isInInstance) { + var2 = var1.method5632(); + int var3 = var1.method5464(); + var4 = var1.readUnsignedShort(); + class296.xteaKeys = new int[var4][4]; + + for (var5 = 0; var5 < var4; ++var5) { + for (var6 = 0; var6 < 4; ++var6) { + class296.xteaKeys[var5][var6] = var1.readInt(); + } + } + + MouseHandler.regions = new int[var4]; + class197.regionMapArchiveIds = new int[var4]; + class60.regionLandArchiveIds = new int[var4]; + WorldMapIcon_1.regionLandArchives = new byte[var4][]; + ArchiveLoader.regionMapArchives = new byte[var4][]; + boolean var16 = false; + if ((var2 / 8 == 48 || var2 / 8 == 49) && var3 / 8 == 48) { + var16 = true; + } + + if (var2 / 8 == 48 && var3 / 8 == 148) { + var16 = true; + } + + var4 = 0; + + for (var6 = (var2 - 6) / 8; var6 <= (var2 + 6) / 8; ++var6) { + for (var7 = (var3 - 6) / 8; var7 <= (var3 + 6) / 8; ++var7) { + var8 = var7 + (var6 << 8); + if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { + MouseHandler.regions[var4] = var8; + class197.regionMapArchiveIds[var4] = class3.archive5.getGroupId("m" + var6 + "_" + var7); + class60.regionLandArchiveIds[var4] = class3.archive5.getGroupId("l" + var6 + "_" + var7); + ++var4; + } + } + } + + class289.method5213(var2, var3, true); + } else { + var2 = var1.readUnsignedShort(); + boolean var15 = var1.method5496() == 1; + var4 = var1.method5632(); + var5 = var1.readUnsignedShort(); + var1.importIndex(); + + int var9; + for (var6 = 0; var6 < 4; ++var6) { + for (var7 = 0; var7 < 13; ++var7) { + for (var8 = 0; var8 < 13; ++var8) { + var9 = var1.readBits(1); + if (var9 == 1) { + Client.instanceChunkTemplates[var6][var7][var8] = var1.readBits(26); + } else { + Client.instanceChunkTemplates[var6][var7][var8] = -1; + } + } + } + } + + var1.exportIndex(); + class296.xteaKeys = new int[var5][4]; + + for (var6 = 0; var6 < var5; ++var6) { + for (var7 = 0; var7 < 4; ++var7) { + class296.xteaKeys[var6][var7] = var1.readInt(); + } + } + + MouseHandler.regions = new int[var5]; + class197.regionMapArchiveIds = new int[var5]; + class60.regionLandArchiveIds = new int[var5]; + WorldMapIcon_1.regionLandArchives = new byte[var5][]; + ArchiveLoader.regionMapArchives = new byte[var5][]; + var5 = 0; + + for (var6 = 0; var6 < 4; ++var6) { + for (var7 = 0; var7 < 13; ++var7) { + for (var8 = 0; var8 < 13; ++var8) { + var9 = Client.instanceChunkTemplates[var6][var7][var8]; + if (var9 != -1) { + int var10 = var9 >> 14 & 1023; + int var11 = var9 >> 3 & 2047; + int var12 = (var10 / 8 << 8) + var11 / 8; + + int var13; + for (var13 = 0; var13 < var5; ++var13) { + if (MouseHandler.regions[var13] == var12) { + var12 = -1; + break; + } + } + + if (var12 != -1) { + MouseHandler.regions[var5] = var12; + var13 = var12 >> 8 & 255; + int var14 = var12 & 255; + class197.regionMapArchiveIds[var5] = class3.archive5.getGroupId("m" + var13 + "_" + var14); + class60.regionLandArchiveIds[var5] = class3.archive5.getGroupId("l" + var13 + "_" + var14); + ++var5; + } + } + } + } + } + + class289.method5213(var4, var2, !var15); + } + + } +} diff --git a/runescape-client/src/main/java/Players.java b/runescape-client/src/main/java/Players.java index e09a14c5e5..762915c0da 100644 --- a/runescape-client/src/main/java/Players.java +++ b/runescape-client/src/main/java/Players.java @@ -1,255 +1,116 @@ -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("cn") -@Implements("Players") -public class Players { - @ObfuscatedName("t") - static byte[] field1217; - @ObfuscatedName("g") - static byte[] field1220; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "[Lkz;" - ) - static Buffer[] field1221; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 207480583 - ) - @Export("Players_count") - static int Players_count; - @ObfuscatedName("j") - @Export("Players_indices") - static int[] Players_indices; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 205698167 - ) - @Export("Players_emptyIdxCount") - static int Players_emptyIdxCount; - @ObfuscatedName("d") - @Export("Players_emptyIndices") - static int[] Players_emptyIndices; - @ObfuscatedName("z") - @Export("Players_regions") - static int[] Players_regions; - @ObfuscatedName("n") - @Export("Players_orientations") - static int[] Players_orientations; - @ObfuscatedName("h") - @Export("Players_targetIndices") - static int[] Players_targetIndices; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 707214243 - ) - @Export("Players_pendingUpdateCount") - static int Players_pendingUpdateCount; - @ObfuscatedName("s") - @Export("Players_pendingUpdateIndices") - static int[] Players_pendingUpdateIndices; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lkz;" - ) - static Buffer field1231; - - static { - field1217 = new byte[2048]; - field1220 = new byte[2048]; - field1221 = new Buffer[2048]; - Players_count = 0; - Players_indices = new int[2048]; - Players_emptyIdxCount = 0; - Players_emptyIndices = new int[2048]; - Players_regions = new int[2048]; - Players_orientations = new int[2048]; - Players_targetIndices = new int[2048]; - Players_pendingUpdateCount = 0; - Players_pendingUpdateIndices = new int[2048]; - field1231 = new Buffer(new byte[5000]); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lik;", - garbageValue = "-1920916137" - ) - @Export("getInvDefinition") - public static InvDefinition getInvDefinition(int var0) { - InvDefinition var1 = (InvDefinition)InvDefinition.InvDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = InvDefinition.InvDefinition_archive.takeFile(5, var0); - var1 = new InvDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - InvDefinition.InvDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("jl") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1427769398" - ) - static final void method2123(int var0) { - WorldMapRectangle.method257(); - WorldMapData_0.method157(); - int var1 = class30.method518(var0).type; - if (var1 != 0) { - int var2 = Varps.Varps_main[var0]; - if (var1 == 1) { - if (var2 == 1) { - Rasterizer3D.Rasterizer3D_setBrightness(0.9D); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.9D); - } - - if (var2 == 2) { - Rasterizer3D.Rasterizer3D_setBrightness(0.8D); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.8D); - } - - if (var2 == 3) { - Rasterizer3D.Rasterizer3D_setBrightness(0.7D); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.7D); - } - - if (var2 == 4) { - Rasterizer3D.Rasterizer3D_setBrightness(0.6D); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(0.6D); - } - - ItemDefinition.ItemDefinition_cachedSprites.clear(); - } - - if (var1 == 3) { - short var3 = 0; - if (var2 == 0) { - var3 = 255; - } - - if (var2 == 1) { - var3 = 192; - } - - if (var2 == 2) { - var3 = 128; - } - - if (var2 == 3) { - var3 = 64; - } - - if (var2 == 4) { - var3 = 0; - } - - if (var3 != Client.field638) { - if (Client.field638 == 0 && Client.field857 != -1) { - class49.method826(WorldMapDecoration.archive6, Client.field857, 0, var3, false); - Client.field746 = false; - } else if (var3 == 0) { - class226.method4108(); - Client.field746 = false; - } else { - Decimator.method2499(var3); - } - - Client.field638 = var3; - } - } - - if (var1 == 4) { - if (var2 == 0) { - Client.soundEffectVolume = 127; - } - - if (var2 == 1) { - Client.soundEffectVolume = 96; - } - - if (var2 == 2) { - Client.soundEffectVolume = 64; - } - - if (var2 == 3) { - Client.soundEffectVolume = 32; - } - - if (var2 == 4) { - Client.soundEffectVolume = 0; - } - } - - if (var1 == 5) { - Client.leftClickOpensMenu = var2; - } - - if (var1 == 6) { - Client.chatEffects = var2; - } - - if (var1 == 9) { - Client.field787 = var2; - } - - if (var1 == 10) { - if (var2 == 0) { - Client.field860 = 127; - } - - if (var2 == 1) { - Client.field860 = 96; - } - - if (var2 == 2) { - Client.field860 = 64; - } - - if (var2 == 3) { - Client.field860 = 32; - } - - if (var2 == 4) { - Client.field860 = 0; - } - } - - if (var1 == 17) { - Client.followerIndex = var2 & 65535; - } - - if (var1 == 18) { - Client.playerAttackOption = (AttackOption)ServerPacket.findEnumerated(Coord.method3981(), var2); - if (Client.playerAttackOption == null) { - Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; - } - } - - if (var1 == 19) { - if (var2 == -1) { - Client.combatTargetPlayerIndex = -1; - } else { - Client.combatTargetPlayerIndex = var2 & 2047; - } - } - - if (var1 == 22) { - Client.npcAttackOption = (AttackOption)ServerPacket.findEnumerated(Coord.method3981(), var2); - if (Client.npcAttackOption == null) { - Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; - } - } - - } - } -} +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("cr") +@Implements("Players") +public class Players { + @ObfuscatedName("v") + static byte[] field1244; + @ObfuscatedName("u") + static byte[] field1235; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "[Lkl;" + ) + static Buffer[] field1236; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 842790617 + ) + @Export("Players_count") + static int Players_count; + @ObfuscatedName("q") + @Export("Players_indices") + static int[] Players_indices; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -662435465 + ) + @Export("Players_emptyIdxCount") + static int Players_emptyIdxCount; + @ObfuscatedName("y") + @Export("Players_emptyIndices") + static int[] Players_emptyIndices; + @ObfuscatedName("i") + @Export("Players_regions") + static int[] Players_regions; + @ObfuscatedName("c") + @Export("Players_orientations") + static int[] Players_orientations; + @ObfuscatedName("b") + @Export("Players_targetIndices") + static int[] Players_targetIndices; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 301065307 + ) + @Export("Players_pendingUpdateCount") + static int Players_pendingUpdateCount; + @ObfuscatedName("a") + @Export("Players_pendingUpdateIndices") + static int[] Players_pendingUpdateIndices; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lkl;" + ) + static Buffer field1246; + + static { + field1244 = new byte[2048]; + field1235 = new byte[2048]; + field1236 = new Buffer[2048]; + Players_count = 0; + Players_indices = new int[2048]; + Players_emptyIdxCount = 0; + Players_emptyIndices = new int[2048]; + Players_regions = new int[2048]; + Players_orientations = new int[2048]; + Players_targetIndices = new int[2048]; + Players_pendingUpdateCount = 0; + Players_pendingUpdateIndices = new int[2048]; + field1246 = new Buffer(new byte[5000]); + } + + @ObfuscatedName("gw") + @ObfuscatedSignature( + signature = "(Lbi;ZI)V", + garbageValue = "-1924716638" + ) + @Export("addPlayerToScene") + static void addPlayerToScene(Player var0, boolean var1) { + if (var0 != null && var0.isVisible() && !var0.isHidden) { + var0.isUnanimated = false; + if ((Client.isLowDetail && Players_count > 50 || Players_count > 200) && var1 && var0.readySequence == var0.movementSequence) { + var0.isUnanimated = true; + } + + int var2 = var0.x >> 7; + int var3 = var0.y * 682054857 >> 7; + if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { + long var4 = class267.calculateTag(0, 0, 0, false, var0.index); + if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { + var0.isUnanimated = false; + var0.tileHeight = MusicPatchPcmStream.getTileHeight(var0.x, var0.y * 682054857, WorldMapRectangle.plane); + var0.playerCycle = Client.cycle; + PacketWriter.scene.addNullableObject(WorldMapRectangle.plane, var0.x, var0.y * 682054857, var0.tileHeight, 60, var0, var0.rotation, var4, var0.field622, var0.field611, var0.field612, var0.field613); + } else { + if ((var0.x & 127) == 64 && (var0.y * 682054857 & 127) == 64) { + if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { + return; + } + + Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; + } + + var0.tileHeight = MusicPatchPcmStream.getTileHeight(var0.x, var0.y * 682054857, WorldMapRectangle.plane); + var0.playerCycle = Client.cycle; + PacketWriter.scene.drawEntity(WorldMapRectangle.plane, var0.x, var0.y * 682054857, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking); + } + } + } + + } +} diff --git a/runescape-client/src/main/java/PrivateChatMode.java b/runescape-client/src/main/java/PrivateChatMode.java index 0f519addf9..ce095f2563 100644 --- a/runescape-client/src/main/java/PrivateChatMode.java +++ b/runescape-client/src/main/java/PrivateChatMode.java @@ -1,39 +1,39 @@ -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kc") -@Implements("PrivateChatMode") -public class PrivateChatMode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lkc;" - ) - static final PrivateChatMode field3789; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lkc;" - ) - public static final PrivateChatMode field3786; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lkc;" - ) - static final PrivateChatMode field3788; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -2108036815 - ) - public final int field3787; - - static { - field3789 = new PrivateChatMode(0); - field3786 = new PrivateChatMode(1); - field3788 = new PrivateChatMode(2); - } - - PrivateChatMode(int var1) { - this.field3787 = var1; - } -} +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("kc") +@Implements("PrivateChatMode") +public class PrivateChatMode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lkc;" + ) + static final PrivateChatMode field3790; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lkc;" + ) + public static final PrivateChatMode field3791; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lkc;" + ) + static final PrivateChatMode field3792; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1358406113 + ) + public final int field3793; + + static { + field3790 = new PrivateChatMode(0); + field3791 = new PrivateChatMode(1); + field3792 = new PrivateChatMode(2); + } + + PrivateChatMode(int var1) { + this.field3793 = var1; + } +} diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index e3fade7209..6fd7fa0af5 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -1,294 +1,284 @@ -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("ck") -@Implements("Projectile") -public final class Projectile extends Entity { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1759216915 - ) - @Export("id") - int id; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -656126641 - ) - @Export("plane") - int plane; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 229006367 - ) - @Export("sourceX") - int sourceX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1688926415 - ) - @Export("sourceY") - int sourceY; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -855009313 - ) - @Export("sourceZ") - int sourceZ; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -199015699 - ) - @Export("endHeight") - int endHeight; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 977916813 - ) - @Export("cycleStart") - int cycleStart; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1874398309 - ) - @Export("cycleEnd") - int cycleEnd; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 603741471 - ) - @Export("slope") - int slope; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1598395117 - ) - @Export("startHeight") - int startHeight; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1654976121 - ) - @Export("targetIndex") - int targetIndex; - @ObfuscatedName("h") - @Export("isMoving") - boolean isMoving; - @ObfuscatedName("f") - @Export("x") - double x; - @ObfuscatedName("s") - @Export("y") - double y; - @ObfuscatedName("p") - @Export("z") - double z; - @ObfuscatedName("e") - @Export("speedX") - double speedX; - @ObfuscatedName("i") - @Export("speedY") - double speedY; - @ObfuscatedName("q") - @Export("speed") - double speed; - @ObfuscatedName("y") - @Export("speedZ") - double speedZ; - @ObfuscatedName("r") - @Export("accelerationZ") - double accelerationZ; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -847815087 - ) - @Export("yaw") - int yaw; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1827260865 - ) - @Export("pitch") - int pitch; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Liw;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 165525375 - ) - @Export("frame") - int frame; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1595170679 - ) - @Export("frameCycle") - int frameCycle; - - Projectile(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { - this.isMoving = false; - this.frame = 0; - this.frameCycle = 0; - this.id = var1; - this.plane = var2; - this.sourceX = var3; - this.sourceY = var4; - this.sourceZ = var5; - this.cycleStart = var6; - this.cycleEnd = var7; - this.slope = var8; - this.startHeight = var9; - this.targetIndex = var10; - this.endHeight = var11; - this.isMoving = false; - int var12 = NetCache.SpotAnimationDefinition_get(this.id).sequence; - if (var12 != -1) { - this.sequenceDefinition = class83.SequenceDefinition_get(var12); - } else { - this.sequenceDefinition = null; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1630557083" - ) - @Export("setDestination") - final void setDestination(int var1, int var2, int var3, int var4) { - double var5; - if (!this.isMoving) { - var5 = (double)(var1 - this.sourceX); - double var7 = (double)(var2 - this.sourceY); - double var9 = Math.sqrt(var7 * var7 + var5 * var5); - this.x = (double)this.sourceX + (double)this.startHeight * var5 / var9; - this.y = (double)this.startHeight * var7 / var9 + (double)this.sourceY; - this.z = (double)this.sourceZ; - } - - var5 = (double)(this.cycleEnd + 1 - var4); - this.speedX = ((double)var1 - this.x) / var5; - this.speedY = ((double)var2 - this.y) / var5; - this.speed = Math.sqrt(this.speedY * this.speedY + this.speedX * this.speedX); - if (!this.isMoving) { - this.speedZ = -this.speed * Math.tan(0.02454369D * (double)this.slope); - } - - this.accelerationZ = 2.0D * ((double)var3 - this.z - this.speedZ * var5) / (var5 * var5); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-966935805" - ) - @Export("advance") - final void advance(int var1) { - this.isMoving = true; - this.x += this.speedX * (double)var1; - this.y += this.speedY * (double)var1; - this.z += this.speedZ * (double)var1 + (double)var1 * (double)var1 * this.accelerationZ * 0.5D; - this.speedZ += (double)var1 * this.accelerationZ; - this.yaw = (int)(Math.atan2(this.speedX, this.speedY) * 325.949D) + 1024 & 2047; - this.pitch = (int)(Math.atan2(this.speedZ, this.speed) * 325.949D) & 2047; - if (this.sequenceDefinition != null) { - this.frameCycle += var1; - - while (true) { - do { - do { - if (this.frameCycle <= this.sequenceDefinition.frameLengths[this.frame]) { - return; - } - - this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; - ++this.frame; - } while(this.frame < this.sequenceDefinition.frameIds.length); - - this.frame -= this.sequenceDefinition.frameCount; - } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); - - this.frame = 0; - } - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ldr;", - garbageValue = "-35" - ) - @Export("getModel") - protected final Model getModel() { - SpotAnimationDefinition var1 = NetCache.SpotAnimationDefinition_get(this.id); - Model var2 = var1.getModel(this.frame); - if (var2 == null) { - return null; - } else { - var2.rotateZ(this.pitch); - return var2; - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)Ljava/lang/Class;", - garbageValue = "27" - ) - @Export("loadClassFromDescriptor") - static Class loadClassFromDescriptor(String var0) throws ClassNotFoundException { - if (var0.equals("B")) { - return Byte.TYPE; - } else if (var0.equals("I")) { - return Integer.TYPE; - } else if (var0.equals("S")) { - return Short.TYPE; - } else if (var0.equals("J")) { - return Long.TYPE; - } else if (var0.equals("Z")) { - return Boolean.TYPE; - } else if (var0.equals("F")) { - return Float.TYPE; - } else if (var0.equals("D")) { - return Double.TYPE; - } else if (var0.equals("C")) { - return Character.TYPE; - } else { - return var0.equals("void") ? Void.TYPE : Reflection.findClass(var0); - } - } - - @ObfuscatedName("gw") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1195208829" - ) - static void method2083() { - int var0 = Players.Players_count; - int[] var1 = Players.Players_indices; - - for (int var2 = 0; var2 < var0; ++var2) { - if (var1[var2] != Client.combatTargetPlayerIndex && var1[var2] != Client.localPlayerIndex) { - GameObject.addPlayerToScene(Client.players[var1[var2]], true); - } - } - - } - - @ObfuscatedName("gf") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1957902455" - ) - static boolean method2087() { - return (Client.drawPlayerNames & 2) != 0; - } -} +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("cy") +@Implements("Projectile") +public final class Projectile extends Entity { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -704302089 + ) + @Export("id") + int id; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 373161727 + ) + @Export("plane") + int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -2017111693 + ) + @Export("sourceX") + int sourceX; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1525037115 + ) + @Export("sourceY") + int sourceY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1560824427 + ) + @Export("sourceZ") + int sourceZ; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 396414685 + ) + @Export("endHeight") + int endHeight; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 655131925 + ) + @Export("cycleStart") + int cycleStart; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -673682431 + ) + @Export("cycleEnd") + int cycleEnd; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1319621727 + ) + @Export("slope") + int slope; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1718323581 + ) + @Export("startHeight") + int startHeight; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -216257617 + ) + @Export("targetIndex") + int targetIndex; + @ObfuscatedName("b") + @Export("isMoving") + boolean isMoving; + @ObfuscatedName("o") + @Export("x") + double x; + @ObfuscatedName("a") + @Export("y") + double y; + @ObfuscatedName("e") + @Export("z") + double z; + @ObfuscatedName("w") + @Export("speedX") + double speedX; + @ObfuscatedName("t") + @Export("speedY") + double speedY; + @ObfuscatedName("g") + @Export("speed") + double speed; + @ObfuscatedName("x") + @Export("speedZ") + double speedZ; + @ObfuscatedName("h") + @Export("accelerationZ") + double accelerationZ; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 797140937 + ) + @Export("yaw") + int yaw; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1677081341 + ) + @Export("pitch") + int pitch; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lix;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1931929967 + ) + @Export("frame") + int frame; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1977187681 + ) + @Export("frameCycle") + int frameCycle; + + Projectile(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + this.isMoving = false; + this.frame = 0; + this.frameCycle = 0; + this.id = var1; + this.plane = var2; + this.sourceX = var3; + this.sourceY = var4; + this.sourceZ = var5; + this.cycleStart = var6; + this.cycleEnd = var7; + this.slope = var8; + this.startHeight = var9; + this.targetIndex = var10; + this.endHeight = var11; + this.isMoving = false; + int var12 = InterfaceParent.SpotAnimationDefinition_get(this.id).sequence; + if (var12 != -1) { + this.sequenceDefinition = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var12); + } else { + this.sequenceDefinition = null; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1126340593" + ) + @Export("setDestination") + final void setDestination(int var1, int var2, int var3, int var4) { + double var5; + if (!this.isMoving) { + var5 = (double)(var1 - this.sourceX); + double var7 = (double)(var2 - this.sourceY); + double var9 = Math.sqrt(var7 * var7 + var5 * var5); + this.x = (double)this.startHeight * var5 / var9 + (double)this.sourceX; + this.y = (double)this.startHeight * var7 / var9 + (double)this.sourceY; + this.z = (double)this.sourceZ; + } + + var5 = (double)(this.cycleEnd + 1 - var4); + this.speedX = ((double)var1 - this.x) / var5; + this.speedY = ((double)var2 - this.y) / var5; + this.speed = Math.sqrt(this.speedX * this.speedX + this.speedY * this.speedY); + if (!this.isMoving) { + this.speedZ = -this.speed * Math.tan(0.02454369D * (double)this.slope); + } + + this.accelerationZ = 2.0D * ((double)var3 - this.z - var5 * this.speedZ) / (var5 * var5); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IS)V", + garbageValue = "-22789" + ) + @Export("advance") + final void advance(int var1) { + this.isMoving = true; + this.x += this.speedX * (double)var1; + this.y += this.speedY * (double)var1; + this.z += (double)var1 * (double)var1 * 0.5D * this.accelerationZ + (double)var1 * this.speedZ; + this.speedZ += this.accelerationZ * (double)var1; + this.yaw = (int)(Math.atan2(this.speedX, this.speedY) * 325.949D) + 1024 & 2047; + this.pitch = (int)(Math.atan2(this.speedZ, this.speed) * 325.949D) & 2047; + if (this.sequenceDefinition != null) { + this.frameCycle += var1; + + while (true) { + do { + do { + if (this.frameCycle <= this.sequenceDefinition.frameLengths[this.frame]) { + return; + } + + this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; + ++this.frame; + } while(this.frame < this.sequenceDefinition.frameIds.length); + + this.frame -= this.sequenceDefinition.frameCount; + } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); + + this.frame = 0; + } + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ldh;", + garbageValue = "-62237472" + ) + @Export("getModel") + protected final Model getModel() { + SpotAnimationDefinition var1 = InterfaceParent.SpotAnimationDefinition_get(this.id); + Model var2 = var1.getModel(this.frame); + if (var2 == null) { + return null; + } else { + var2.rotateZ(this.pitch); + return var2; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "106" + ) + @Export("Messages_getHistorySize") + static int Messages_getHistorySize(int var0) { + ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); + return var1 == null ? 0 : var1.size(); + } + + @ObfuscatedName("ir") + @ObfuscatedSignature( + signature = "(Lho;I)Z", + garbageValue = "-1182032943" + ) + @Export("runCs1") + static final boolean runCs1(Widget var0) { + if (var0.cs1Comparisons == null) { + return false; + } else { + for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) { + int var2 = class216.method4003(var0, var1); + int var3 = var0.cs1ComparisonValues[var1]; + if (var0.cs1Comparisons[var1] == 2) { + if (var2 >= var3) { + return false; + } + } else if (var0.cs1Comparisons[var1] == 3) { + if (var2 <= var3) { + return false; + } + } else if (var0.cs1Comparisons[var1] == 4) { + if (var2 == var3) { + return false; + } + } else if (var3 != var2) { + return false; + } + } + + return true; + } + } +} diff --git a/runescape-client/src/main/java/RasterProvider.java b/runescape-client/src/main/java/RasterProvider.java index 01120b2fd5..cdad766a1d 100644 --- a/runescape-client/src/main/java/RasterProvider.java +++ b/runescape-client/src/main/java/RasterProvider.java @@ -1,101 +1,101 @@ -import java.awt.Component; -import java.awt.Graphics; -import java.awt.Image; -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; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("bg") -@Implements("RasterProvider") -public final class RasterProvider extends AbstractRasterProvider { - @ObfuscatedName("c") - @Export("component") - Component component; - @ObfuscatedName("x") - @Export("image") - Image image; - - RasterProvider(int var1, int var2, Component var3) { - super.width = var1; - super.height = var2; - super.pixels = new int[var2 * var1 + 1]; - DataBufferInt var4 = new DataBufferInt(super.pixels, super.pixels.length); - DirectColorModel var5 = new DirectColorModel(32, 16711680, 65280, 255); - WritableRaster var6 = Raster.createWritableRaster(var5.createCompatibleSampleModel(super.width, super.height), var4, (Point)null); - this.image = new BufferedImage(var5, var6, false, new Hashtable()); - this.setComponent(var3); - this.apply(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/awt/Component;I)V", - garbageValue = "1531049075" - ) - @Export("setComponent") - final void setComponent(Component var1) { - this.component = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-978411495" - ) - @Export("drawFull") - public final void drawFull(int var1, int var2) { - this.drawFull0(this.component.getGraphics(), var1, var2); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-2009002566" - ) - @Export("draw") - public final void draw(int var1, int var2, int var3, int var4) { - this.draw0(this.component.getGraphics(), var1, var2, var3, var4); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/awt/Graphics;IIB)V", - garbageValue = "-96" - ) - @Export("drawFull0") - final void drawFull0(Graphics var1, int var2, int var3) { - try { - var1.drawImage(this.image, var2, var3, this.component); - } catch (Exception var5) { - this.component.repaint(); - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ljava/awt/Graphics;IIIII)V", - garbageValue = "-2101060697" - ) - @Export("draw0") - final void draw0(Graphics var1, int var2, int var3, int var4, int var5) { - try { - Shape var6 = var1.getClip(); - var1.clipRect(var2, var3, var4, var5); - var1.drawImage(this.image, 0, 0, this.component); - var1.setClip(var6); - } catch (Exception var7) { - this.component.repaint(); - } - - } -} +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Image; +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; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("bx") +@Implements("RasterProvider") +public final class RasterProvider extends AbstractRasterProvider { + @ObfuscatedName("z") + @Export("component") + Component component; + @ObfuscatedName("n") + @Export("image") + Image image; + + RasterProvider(int var1, int var2, Component var3) { + super.width = var1; + super.height = var2; + super.pixels = new int[var2 * var1 + 1]; + DataBufferInt var4 = new DataBufferInt(super.pixels, super.pixels.length); + DirectColorModel var5 = new DirectColorModel(32, 16711680, 65280, 255); + WritableRaster var6 = Raster.createWritableRaster(var5.createCompatibleSampleModel(super.width, super.height), var4, (Point)null); + this.image = new BufferedImage(var5, var6, false, new Hashtable()); + this.setComponent(var3); + this.apply(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;I)V", + garbageValue = "1269592003" + ) + @Export("setComponent") + final void setComponent(Component var1) { + this.component = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1952064900" + ) + @Export("drawFull") + public final void drawFull(int var1, int var2) { + this.drawFull0(this.component.getGraphics(), var1, var2); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-67564732" + ) + @Export("draw") + public final void draw(int var1, int var2, int var3, int var4) { + this.draw0(this.component.getGraphics(), var1, var2, var3, var4); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Ljava/awt/Graphics;IIB)V", + garbageValue = "111" + ) + @Export("drawFull0") + final void drawFull0(Graphics var1, int var2, int var3) { + try { + var1.drawImage(this.image, var2, var3, this.component); + } catch (Exception var5) { + this.component.repaint(); + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Ljava/awt/Graphics;IIIII)V", + garbageValue = "1517141753" + ) + @Export("draw0") + final void draw0(Graphics var1, int var2, int var3, int var4, int var5) { + try { + Shape var6 = var1.getClip(); + var1.clipRect(var2, var3, var4, var5); + var1.drawImage(this.image, 0, 0, this.component); + var1.setClip(var6); + } catch (Exception var7) { + this.component.repaint(); + } + + } +} diff --git a/runescape-client/src/main/java/Rasterizer2D.java b/runescape-client/src/main/java/Rasterizer2D.java index 99fb03ce67..b85fe785eb 100644 --- a/runescape-client/src/main/java/Rasterizer2D.java +++ b/runescape-client/src/main/java/Rasterizer2D.java @@ -1,839 +1,839 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lw") -@Implements("Rasterizer2D") -public class Rasterizer2D extends DualNode { - @ObfuscatedName("at") - @Export("Rasterizer2D_pixels") - public static int[] Rasterizer2D_pixels; - @ObfuscatedName("ao") - @Export("Rasterizer2D_width") - public static int Rasterizer2D_width; - @ObfuscatedName("av") - @Export("Rasterizer2D_height") - public static int Rasterizer2D_height; - @ObfuscatedName("an") - @Export("Rasterizer2D_yClipStart") - public static int Rasterizer2D_yClipStart; - @ObfuscatedName("al") - @Export("Rasterizer2D_yClipEnd") - public static int Rasterizer2D_yClipEnd; - @ObfuscatedName("as") - @Export("Rasterizer2D_xClipStart") - public static int Rasterizer2D_xClipStart; - @ObfuscatedName("ad") - @Export("Rasterizer2D_xClipEnd") - public static int Rasterizer2D_xClipEnd; - - static { - Rasterizer2D_yClipStart = 0; - Rasterizer2D_yClipEnd = 0; - Rasterizer2D_xClipStart = 0; - Rasterizer2D_xClipEnd = 0; - } - - protected Rasterizer2D() { - } - - @ObfuscatedName("dp") - @Export("Rasterizer2D_replace") - public static void Rasterizer2D_replace(int[] var0, int var1, int var2) { - Rasterizer2D_pixels = var0; - Rasterizer2D_width = var1; - Rasterizer2D_height = var2; - Rasterizer2D_setClip(0, 0, var1, var2); - } - - @ObfuscatedName("dn") - @Export("Rasterizer2D_resetClip") - public static void Rasterizer2D_resetClip() { - Rasterizer2D_xClipStart = 0; - Rasterizer2D_yClipStart = 0; - Rasterizer2D_xClipEnd = Rasterizer2D_width; - Rasterizer2D_yClipEnd = Rasterizer2D_height; - } - - @ObfuscatedName("de") - @Export("Rasterizer2D_setClip") - public static void Rasterizer2D_setClip(int var0, int var1, int var2, int var3) { - if (var0 < 0) { - var0 = 0; - } - - if (var1 < 0) { - var1 = 0; - } - - if (var2 > Rasterizer2D_width) { - var2 = Rasterizer2D_width; - } - - if (var3 > Rasterizer2D_height) { - var3 = Rasterizer2D_height; - } - - Rasterizer2D_xClipStart = var0; - Rasterizer2D_yClipStart = var1; - Rasterizer2D_xClipEnd = var2; - Rasterizer2D_yClipEnd = var3; - } - - @ObfuscatedName("da") - @Export("Rasterizer2D_expandClip") - public static void Rasterizer2D_expandClip(int var0, int var1, int var2, int var3) { - if (Rasterizer2D_xClipStart < var0) { - Rasterizer2D_xClipStart = var0; - } - - if (Rasterizer2D_yClipStart < var1) { - Rasterizer2D_yClipStart = var1; - } - - if (Rasterizer2D_xClipEnd > var2) { - Rasterizer2D_xClipEnd = var2; - } - - if (Rasterizer2D_yClipEnd > var3) { - Rasterizer2D_yClipEnd = var3; - } - - } - - @ObfuscatedName("dl") - @Export("Rasterizer2D_getClipArray") - public static void Rasterizer2D_getClipArray(int[] var0) { - var0[0] = Rasterizer2D_xClipStart; - var0[1] = Rasterizer2D_yClipStart; - var0[2] = Rasterizer2D_xClipEnd; - var0[3] = Rasterizer2D_yClipEnd; - } - - @ObfuscatedName("dg") - @Export("Rasterizer2D_setClipArray") - public static void Rasterizer2D_setClipArray(int[] var0) { - Rasterizer2D_xClipStart = var0[0]; - Rasterizer2D_yClipStart = var0[1]; - Rasterizer2D_xClipEnd = var0[2]; - Rasterizer2D_yClipEnd = var0[3]; - } - - @ObfuscatedName("dz") - @Export("Rasterizer2D_clear") - public static void Rasterizer2D_clear() { - int var0 = 0; - - int var1; - for (var1 = Rasterizer2D_width * Rasterizer2D_height - 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { - Rasterizer2D_pixels[var0++] = 0; - Rasterizer2D_pixels[var0++] = 0; - Rasterizer2D_pixels[var0++] = 0; - Rasterizer2D_pixels[var0++] = 0; - Rasterizer2D_pixels[var0++] = 0; - Rasterizer2D_pixels[var0++] = 0; - Rasterizer2D_pixels[var0++] = 0; - } - - for (var1 += 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { - } - - } - - @ObfuscatedName("dw") - @Export("drawCircle") - static void drawCircle(int var0, int var1, int var2, int var3) { - if (var2 == 0) { - Rasterizer2D_setPixel(var0, var1, var3); - } else { - if (var2 < 0) { - var2 = -var2; - } - - int var4 = var1 - var2; - if (var4 < Rasterizer2D_yClipStart) { - var4 = Rasterizer2D_yClipStart; - } - - int var5 = var2 + var1 + 1; - if (var5 > Rasterizer2D_yClipEnd) { - var5 = Rasterizer2D_yClipEnd; - } - - int var6 = var4; - int var7 = var2 * var2; - int var8 = 0; - int var9 = var1 - var4; - int var10 = var9 * var9; - int var11 = var10 - var9; - if (var1 > var5) { - var1 = var5; - } - - int var12; - int var13; - int var14; - int var15; - while (var6 < var1) { - while (var11 <= var7 || var10 <= var7) { - var10 = var10 + var8 + var8; - var11 += var8++ + var8; - } - - var12 = var0 - var8 + 1; - if (var12 < Rasterizer2D_xClipStart) { - var12 = Rasterizer2D_xClipStart; - } - - var13 = var0 + var8; - if (var13 > Rasterizer2D_xClipEnd) { - var13 = Rasterizer2D_xClipEnd; - } - - var14 = var12 + var6 * Rasterizer2D_width; - - for (var15 = var12; var15 < var13; ++var15) { - Rasterizer2D_pixels[var14++] = var3; - } - - ++var6; - var10 -= var9-- + var9; - var11 -= var9 + var9; - } - - var8 = var2; - var9 = var6 - var1; - var11 = var7 + var9 * var9; - var10 = var11 - var2; - - for (var11 -= var9; var6 < var5; var10 += var9++ + var9) { - while (var11 > var7 && var10 > var7) { - var11 -= var8-- + var8; - var10 -= var8 + var8; - } - - var12 = var0 - var8; - if (var12 < Rasterizer2D_xClipStart) { - var12 = Rasterizer2D_xClipStart; - } - - var13 = var0 + var8; - if (var13 > Rasterizer2D_xClipEnd - 1) { - var13 = Rasterizer2D_xClipEnd - 1; - } - - var14 = var12 + var6 * Rasterizer2D_width; - - for (var15 = var12; var15 <= var13; ++var15) { - Rasterizer2D_pixels[var14++] = var3; - } - - ++var6; - var11 = var11 + var9 + var9; - } - - } - } - - @ObfuscatedName("di") - @Export("Rasterizer2D_drawCircleAlpha") - public static void Rasterizer2D_drawCircleAlpha(int var0, int var1, int var2, int var3, int var4) { - if (var4 != 0) { - if (var4 == 256) { - drawCircle(var0, var1, var2, var3); - } else { - if (var2 < 0) { - var2 = -var2; - } - - int var5 = 256 - var4; - int var6 = (var3 >> 16 & 255) * var4; - int var7 = (var3 >> 8 & 255) * var4; - int var8 = var4 * (var3 & 255); - int var12 = var1 - var2; - if (var12 < Rasterizer2D_yClipStart) { - var12 = Rasterizer2D_yClipStart; - } - - int var13 = var2 + var1 + 1; - if (var13 > Rasterizer2D_yClipEnd) { - var13 = Rasterizer2D_yClipEnd; - } - - int var14 = var12; - int var15 = var2 * var2; - int var16 = 0; - int var17 = var1 - var12; - int var18 = var17 * var17; - int var19 = var18 - var17; - if (var1 > var13) { - var1 = var13; - } - - int var9; - int var10; - int var11; - int var20; - int var21; - int var22; - int var23; - int var24; - while (var14 < var1) { - while (var19 <= var15 || var18 <= var15) { - var18 = var18 + var16 + var16; - var19 += var16++ + var16; - } - - var20 = var0 - var16 + 1; - if (var20 < Rasterizer2D_xClipStart) { - var20 = Rasterizer2D_xClipStart; - } - - var21 = var0 + var16; - if (var21 > Rasterizer2D_xClipEnd) { - var21 = Rasterizer2D_xClipEnd; - } - - var22 = var20 + var14 * Rasterizer2D_width; - - for (var23 = var20; var23 < var21; ++var23) { - var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); - var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; - var11 = var5 * (Rasterizer2D_pixels[var22] & 255); - var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); - Rasterizer2D_pixels[var22++] = var24; - } - - ++var14; - var18 -= var17-- + var17; - var19 -= var17 + var17; - } - - var16 = var2; - var17 = -var17; - var19 = var15 + var17 * var17; - var18 = var19 - var2; - - for (var19 -= var17; var14 < var13; var18 += var17++ + var17) { - while (var19 > var15 && var18 > var15) { - var19 -= var16-- + var16; - var18 -= var16 + var16; - } - - var20 = var0 - var16; - if (var20 < Rasterizer2D_xClipStart) { - var20 = Rasterizer2D_xClipStart; - } - - var21 = var0 + var16; - if (var21 > Rasterizer2D_xClipEnd - 1) { - var21 = Rasterizer2D_xClipEnd - 1; - } - - var22 = var20 + var14 * Rasterizer2D_width; - - for (var23 = var20; var23 <= var21; ++var23) { - var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); - var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; - var11 = var5 * (Rasterizer2D_pixels[var22] & 255); - var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); - Rasterizer2D_pixels[var22++] = var24; - } - - ++var14; - var19 = var19 + var17 + var17; - } - - } - } - } - - @ObfuscatedName("dt") - @Export("Rasterizer2D_fillRectangleAlpha") - public static void Rasterizer2D_fillRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { - if (var0 < Rasterizer2D_xClipStart) { - var2 -= Rasterizer2D_xClipStart - var0; - var0 = Rasterizer2D_xClipStart; - } - - if (var1 < Rasterizer2D_yClipStart) { - var3 -= Rasterizer2D_yClipStart - var1; - var1 = Rasterizer2D_yClipStart; - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { - var3 = Rasterizer2D_yClipEnd - var1; - } - - var4 = (var5 * (var4 & 16711935) >> 8 & 16711935) + (var5 * (var4 & 65280) >> 8 & 65280); - int var6 = 256 - var5; - int var7 = Rasterizer2D_width - var2; - int var8 = var0 + Rasterizer2D_width * var1; - - for (int var9 = 0; var9 < var3; ++var9) { - for (int var10 = -var2; var10 < 0; ++var10) { - int var11 = Rasterizer2D_pixels[var8]; - var11 = ((var11 & 16711935) * var6 >> 8 & 16711935) + (var6 * (var11 & 65280) >> 8 & 65280); - Rasterizer2D_pixels[var8++] = var11 + var4; - } - - var8 += var7; - } - - } - - @ObfuscatedName("dc") - @Export("Rasterizer2D_fillRectangle") - public static void Rasterizer2D_fillRectangle(int var0, int var1, int var2, int var3, int var4) { - if (var0 < Rasterizer2D_xClipStart) { - var2 -= Rasterizer2D_xClipStart - var0; - var0 = Rasterizer2D_xClipStart; - } - - if (var1 < Rasterizer2D_yClipStart) { - var3 -= Rasterizer2D_yClipStart - var1; - var1 = Rasterizer2D_yClipStart; - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { - var3 = Rasterizer2D_yClipEnd - var1; - } - - int var5 = Rasterizer2D_width - var2; - int var6 = var0 + Rasterizer2D_width * var1; - - for (int var7 = -var3; var7 < 0; ++var7) { - for (int var8 = -var2; var8 < 0; ++var8) { - Rasterizer2D_pixels[var6++] = var4; - } - - var6 += var5; - } - - } - - @ObfuscatedName("ds") - @Export("Rasterizer2D_fillRectangleGradient") - public static void Rasterizer2D_fillRectangleGradient(int var0, int var1, int var2, int var3, int var4, int var5) { - if (var2 > 0 && var3 > 0) { - int var6 = 0; - int var7 = 65536 / var3; - if (var0 < Rasterizer2D_xClipStart) { - var2 -= Rasterizer2D_xClipStart - var0; - var0 = Rasterizer2D_xClipStart; - } - - if (var1 < Rasterizer2D_yClipStart) { - var6 += (Rasterizer2D_yClipStart - var1) * var7; - var3 -= Rasterizer2D_yClipStart - var1; - var1 = Rasterizer2D_yClipStart; - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { - var3 = Rasterizer2D_yClipEnd - var1; - } - - int var8 = Rasterizer2D_width - var2; - int var9 = var0 + Rasterizer2D_width * var1; - - for (int var10 = -var3; var10 < 0; ++var10) { - int var11 = 65536 - var6 >> 8; - int var12 = var6 >> 8; - int var13 = (var12 * (var5 & 16711935) + var11 * (var4 & 16711935) & -16711936) + (var12 * (var5 & 65280) + var11 * (var4 & 65280) & 16711680) >>> 8; - - for (int var14 = -var2; var14 < 0; ++var14) { - Rasterizer2D_pixels[var9++] = var13; - } - - var9 += var8; - var6 += var7; - } - - } - } - - @ObfuscatedName("dv") - @Export("Rasterizer2D_fillRectangleGradientAlpha") - public static void Rasterizer2D_fillRectangleGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (var2 > 0 && var3 > 0) { - int var8 = 0; - int var9 = 65536 / var3; - if (var0 < Rasterizer2D_xClipStart) { - var2 -= Rasterizer2D_xClipStart - var0; - var0 = Rasterizer2D_xClipStart; - } - - if (var1 < Rasterizer2D_yClipStart) { - var8 += (Rasterizer2D_yClipStart - var1) * var9; - var3 -= Rasterizer2D_yClipStart - var1; - var1 = Rasterizer2D_yClipStart; - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { - var3 = Rasterizer2D_yClipEnd - var1; - } - - int var10 = Rasterizer2D_width - var2; - int var11 = var0 + Rasterizer2D_width * var1; - - for (int var12 = -var3; var12 < 0; ++var12) { - int var13 = 65536 - var8 >> 8; - int var14 = var8 >> 8; - int var15 = (var13 * var6 + var14 * var7 & 65280) >>> 8; - if (var15 == 0) { - var11 += Rasterizer2D_width; - var8 += var9; - } else { - int var16 = (var14 * (var5 & 16711935) + var13 * (var4 & 16711935) & -16711936) + (var14 * (var5 & 65280) + var13 * (var4 & 65280) & 16711680) >>> 8; - int var17 = 255 - var15; - int var18 = ((var16 & 16711935) * var15 >> 8 & 16711935) + (var15 * (var16 & 65280) >> 8 & 65280); - - for (int var19 = -var2; var19 < 0; ++var19) { - int var20 = Rasterizer2D_pixels[var11]; - if (var20 == 0) { - Rasterizer2D_pixels[var11++] = var18; - } else { - var20 = ((var20 & 16711935) * var17 >> 8 & 16711935) + (var17 * (var20 & 65280) >> 8 & 65280); - Rasterizer2D_pixels[var11++] = var18 + var20; - } - } - - var11 += var10; - var8 += var9; - } - } - - } - } - - @ObfuscatedName("db") - @ObfuscatedSignature( - signature = "(IIIIII[BIZ)V", - garbageValue = "1" - ) - @Export("Rasterizer2D_drawGradientPixels") - public static void Rasterizer2D_drawGradientPixels(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) { - if (var0 + var2 >= 0 && var3 + var1 >= 0) { - if (var0 < Rasterizer2D_width && var1 < Rasterizer2D_height) { - int var8 = 0; - int var9 = 0; - if (var0 < 0) { - var8 -= var0; - var2 += var0; - } - - if (var1 < 0) { - var9 -= var1; - var3 += var1; - } - - if (var0 + var2 > Rasterizer2D_width) { - var2 = Rasterizer2D_width - var0; - } - - if (var3 + var1 > Rasterizer2D_height) { - var3 = Rasterizer2D_height - var1; - } - - int var10 = var6.length / var7; - int var11 = Rasterizer2D_width - var2; - int var12 = var4 >>> 24; - int var13 = var5 >>> 24; - int var14; - int var15; - int var16; - int var17; - int var18; - if (var12 == 255 && var13 == 255) { - var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; - - for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { - for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { - var17 = (var15 - var1) % var10; - var18 = (var16 - var0) % var7; - if (var6[var18 + var17 * var7] != 0) { - Rasterizer2D_pixels[var14++] = var5; - } else { - Rasterizer2D_pixels[var14++] = var4; - } - } - - var14 += var11; - } - } else { - var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; - - for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { - for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { - var17 = (var15 - var1) % var10; - var18 = (var16 - var0) % var7; - int var19 = var4; - if (var6[var18 + var17 * var7] != 0) { - var19 = var5; - } - - int var20 = var19 >>> 24; - int var21 = 255 - var20; - int var22 = Rasterizer2D_pixels[var14]; - int var23 = ((var19 & 16711935) * var20 + (var22 & 16711935) * var21 & -16711936) + (var20 * (var19 & 65280) + var21 * (var22 & 65280) & 16711680) >> 8; - Rasterizer2D_pixels[var14++] = var23; - } - - var14 += var11; - } - } - - } - } - } - - @ObfuscatedName("du") - @Export("Rasterizer2D_drawRectangle") - public static void Rasterizer2D_drawRectangle(int var0, int var1, int var2, int var3, int var4) { - Rasterizer2D_drawHorizontalLine(var0, var1, var2, var4); - Rasterizer2D_drawHorizontalLine(var0, var3 + var1 - 1, var2, var4); - Rasterizer2D_drawVerticalLine(var0, var1, var3, var4); - Rasterizer2D_drawVerticalLine(var0 + var2 - 1, var1, var3, var4); - } - - @ObfuscatedName("dx") - @Export("Rasterizer2D_drawRectangleAlpha") - public static void Rasterizer2D_drawRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { - Rasterizer2D_drawHorizontalLineAlpha(var0, var1, var2, var4, var5); - Rasterizer2D_drawHorizontalLineAlpha(var0, var3 + var1 - 1, var2, var4, var5); - if (var3 >= 3) { - Rasterizer2D_drawVerticalLineAlpha(var0, var1 + 1, var3 - 2, var4, var5); - Rasterizer2D_drawVerticalLineAlpha(var0 + var2 - 1, var1 + 1, var3 - 2, var4, var5); - } - - } - - @ObfuscatedName("dq") - @Export("Rasterizer2D_drawHorizontalLine") - public static void Rasterizer2D_drawHorizontalLine(int var0, int var1, int var2, int var3) { - if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { - if (var0 < Rasterizer2D_xClipStart) { - var2 -= Rasterizer2D_xClipStart - var0; - var0 = Rasterizer2D_xClipStart; - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - var0; - } - - int var4 = var0 + Rasterizer2D_width * var1; - - for (int var5 = 0; var5 < var2; ++var5) { - Rasterizer2D_pixels[var4 + var5] = var3; - } - - } - } - - @ObfuscatedName("dr") - @Export("Rasterizer2D_drawHorizontalLineAlpha") - static void Rasterizer2D_drawHorizontalLineAlpha(int var0, int var1, int var2, int var3, int var4) { - if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { - if (var0 < Rasterizer2D_xClipStart) { - var2 -= Rasterizer2D_xClipStart - var0; - var0 = Rasterizer2D_xClipStart; - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - var0; - } - - int var5 = 256 - var4; - int var6 = (var3 >> 16 & 255) * var4; - int var7 = (var3 >> 8 & 255) * var4; - int var8 = var4 * (var3 & 255); - int var12 = var0 + Rasterizer2D_width * var1; - - for (int var13 = 0; var13 < var2; ++var13) { - int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); - int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; - int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); - int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); - Rasterizer2D_pixels[var12++] = var14; - } - - } - } - - @ObfuscatedName("dk") - @Export("Rasterizer2D_drawVerticalLine") - public static void Rasterizer2D_drawVerticalLine(int var0, int var1, int var2, int var3) { - if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { - if (var1 < Rasterizer2D_yClipStart) { - var2 -= Rasterizer2D_yClipStart - var1; - var1 = Rasterizer2D_yClipStart; - } - - if (var2 + var1 > Rasterizer2D_yClipEnd) { - var2 = Rasterizer2D_yClipEnd - var1; - } - - int var4 = var0 + Rasterizer2D_width * var1; - - for (int var5 = 0; var5 < var2; ++var5) { - Rasterizer2D_pixels[var4 + var5 * Rasterizer2D_width] = var3; - } - - } - } - - @ObfuscatedName("df") - @Export("Rasterizer2D_drawVerticalLineAlpha") - static void Rasterizer2D_drawVerticalLineAlpha(int var0, int var1, int var2, int var3, int var4) { - if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { - if (var1 < Rasterizer2D_yClipStart) { - var2 -= Rasterizer2D_yClipStart - var1; - var1 = Rasterizer2D_yClipStart; - } - - if (var2 + var1 > Rasterizer2D_yClipEnd) { - var2 = Rasterizer2D_yClipEnd - var1; - } - - int var5 = 256 - var4; - int var6 = (var3 >> 16 & 255) * var4; - int var7 = (var3 >> 8 & 255) * var4; - int var8 = var4 * (var3 & 255); - int var12 = var0 + Rasterizer2D_width * var1; - - for (int var13 = 0; var13 < var2; ++var13) { - int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); - int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; - int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); - int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); - Rasterizer2D_pixels[var12] = var14; - var12 += Rasterizer2D_width; - } - - } - } - - @ObfuscatedName("ej") - @Export("Rasterizer2D_drawLine") - public static void Rasterizer2D_drawLine(int var0, int var1, int var2, int var3, int var4) { - var2 -= var0; - var3 -= var1; - if (var3 == 0) { - if (var2 >= 0) { - Rasterizer2D_drawHorizontalLine(var0, var1, var2 + 1, var4); - } else { - Rasterizer2D_drawHorizontalLine(var0 + var2, var1, -var2 + 1, var4); - } - - } else if (var2 == 0) { - if (var3 >= 0) { - Rasterizer2D_drawVerticalLine(var0, var1, var3 + 1, var4); - } else { - Rasterizer2D_drawVerticalLine(var0, var3 + var1, -var3 + 1, var4); - } - - } else { - if (var3 + var2 < 0) { - var0 += var2; - var2 = -var2; - var1 += var3; - var3 = -var3; - } - - int var5; - int var6; - if (var2 > var3) { - var1 <<= 16; - var1 += 32768; - var3 <<= 16; - var5 = (int)Math.floor((double)var3 / (double)var2 + 0.5D); - var2 += var0; - if (var0 < Rasterizer2D_xClipStart) { - var1 += var5 * (Rasterizer2D_xClipStart - var0); - var0 = Rasterizer2D_xClipStart; - } - - if (var2 >= Rasterizer2D_xClipEnd) { - var2 = Rasterizer2D_xClipEnd - 1; - } - - while (var0 <= var2) { - var6 = var1 >> 16; - if (var6 >= Rasterizer2D_yClipStart && var6 < Rasterizer2D_yClipEnd) { - Rasterizer2D_pixels[var0 + var6 * Rasterizer2D_width] = var4; - } - - var1 += var5; - ++var0; - } - } else { - var0 <<= 16; - var0 += 32768; - var2 <<= 16; - var5 = (int)Math.floor((double)var2 / (double)var3 + 0.5D); - var3 += var1; - if (var1 < Rasterizer2D_yClipStart) { - var0 += (Rasterizer2D_yClipStart - var1) * var5; - var1 = Rasterizer2D_yClipStart; - } - - if (var3 >= Rasterizer2D_yClipEnd) { - var3 = Rasterizer2D_yClipEnd - 1; - } - - while (var1 <= var3) { - var6 = var0 >> 16; - if (var6 >= Rasterizer2D_xClipStart && var6 < Rasterizer2D_xClipEnd) { - Rasterizer2D_pixels[var6 + Rasterizer2D_width * var1] = var4; - } - - var0 += var5; - ++var1; - } - } - - } - } - - @ObfuscatedName("ec") - @Export("Rasterizer2D_setPixel") - static void Rasterizer2D_setPixel(int var0, int var1, int var2) { - if (var0 >= Rasterizer2D_xClipStart && var1 >= Rasterizer2D_yClipStart && var0 < Rasterizer2D_xClipEnd && var1 < Rasterizer2D_yClipEnd) { - Rasterizer2D_pixels[var0 + Rasterizer2D_width * var1] = var2; - } - } - - @ObfuscatedName("en") - @Export("Rasterizer2D_fillMaskedRectangle") - public static void Rasterizer2D_fillMaskedRectangle(int var0, int var1, int var2, int[] var3, int[] var4) { - int var5 = var0 + Rasterizer2D_width * var1; - - for (var1 = 0; var1 < var3.length; ++var1) { - int var6 = var5 + var3[var1]; - - for (var0 = -var4[var1]; var0 < 0; ++var0) { - Rasterizer2D_pixels[var6++] = var2; - } - - var5 += Rasterizer2D_width; - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lx") +@Implements("Rasterizer2D") +public class Rasterizer2D extends DualNode { + @ObfuscatedName("az") + @Export("Rasterizer2D_pixels") + public static int[] Rasterizer2D_pixels; + @ObfuscatedName("aw") + @Export("Rasterizer2D_width") + public static int Rasterizer2D_width; + @ObfuscatedName("aa") + @Export("Rasterizer2D_height") + public static int Rasterizer2D_height; + @ObfuscatedName("ap") + @Export("Rasterizer2D_yClipStart") + public static int Rasterizer2D_yClipStart; + @ObfuscatedName("ar") + @Export("Rasterizer2D_yClipEnd") + public static int Rasterizer2D_yClipEnd; + @ObfuscatedName("ab") + @Export("Rasterizer2D_xClipStart") + public static int Rasterizer2D_xClipStart; + @ObfuscatedName("ax") + @Export("Rasterizer2D_xClipEnd") + public static int Rasterizer2D_xClipEnd; + + static { + Rasterizer2D_yClipStart = 0; + Rasterizer2D_yClipEnd = 0; + Rasterizer2D_xClipStart = 0; + Rasterizer2D_xClipEnd = 0; + } + + protected Rasterizer2D() { + } + + @ObfuscatedName("dt") + @Export("Rasterizer2D_replace") + public static void Rasterizer2D_replace(int[] var0, int var1, int var2) { + Rasterizer2D_pixels = var0; + Rasterizer2D_width = var1; + Rasterizer2D_height = var2; + Rasterizer2D_setClip(0, 0, var1, var2); + } + + @ObfuscatedName("dv") + @Export("Rasterizer2D_resetClip") + public static void Rasterizer2D_resetClip() { + Rasterizer2D_xClipStart = 0; + Rasterizer2D_yClipStart = 0; + Rasterizer2D_xClipEnd = Rasterizer2D_width; + Rasterizer2D_yClipEnd = Rasterizer2D_height; + } + + @ObfuscatedName("dm") + @Export("Rasterizer2D_setClip") + public static void Rasterizer2D_setClip(int var0, int var1, int var2, int var3) { + if (var0 < 0) { + var0 = 0; + } + + if (var1 < 0) { + var1 = 0; + } + + if (var2 > Rasterizer2D_width) { + var2 = Rasterizer2D_width; + } + + if (var3 > Rasterizer2D_height) { + var3 = Rasterizer2D_height; + } + + Rasterizer2D_xClipStart = var0; + Rasterizer2D_yClipStart = var1; + Rasterizer2D_xClipEnd = var2; + Rasterizer2D_yClipEnd = var3; + } + + @ObfuscatedName("dn") + @Export("Rasterizer2D_expandClip") + public static void Rasterizer2D_expandClip(int var0, int var1, int var2, int var3) { + if (Rasterizer2D_xClipStart < var0) { + Rasterizer2D_xClipStart = var0; + } + + if (Rasterizer2D_yClipStart < var1) { + Rasterizer2D_yClipStart = var1; + } + + if (Rasterizer2D_xClipEnd > var2) { + Rasterizer2D_xClipEnd = var2; + } + + if (Rasterizer2D_yClipEnd > var3) { + Rasterizer2D_yClipEnd = var3; + } + + } + + @ObfuscatedName("dq") + @Export("Rasterizer2D_getClipArray") + public static void Rasterizer2D_getClipArray(int[] var0) { + var0[0] = Rasterizer2D_xClipStart; + var0[1] = Rasterizer2D_yClipStart; + var0[2] = Rasterizer2D_xClipEnd; + var0[3] = Rasterizer2D_yClipEnd; + } + + @ObfuscatedName("dy") + @Export("Rasterizer2D_setClipArray") + public static void Rasterizer2D_setClipArray(int[] var0) { + Rasterizer2D_xClipStart = var0[0]; + Rasterizer2D_yClipStart = var0[1]; + Rasterizer2D_xClipEnd = var0[2]; + Rasterizer2D_yClipEnd = var0[3]; + } + + @ObfuscatedName("de") + @Export("Rasterizer2D_clear") + public static void Rasterizer2D_clear() { + int var0 = 0; + + int var1; + for (var1 = Rasterizer2D_width * Rasterizer2D_height - 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + } + + for (var1 += 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { + } + + } + + @ObfuscatedName("df") + @Export("drawCircle") + static void drawCircle(int var0, int var1, int var2, int var3) { + if (var2 == 0) { + Rasterizer2D_setPixel(var0, var1, var3); + } else { + if (var2 < 0) { + var2 = -var2; + } + + int var4 = var1 - var2; + if (var4 < Rasterizer2D_yClipStart) { + var4 = Rasterizer2D_yClipStart; + } + + int var5 = var2 + var1 + 1; + if (var5 > Rasterizer2D_yClipEnd) { + var5 = Rasterizer2D_yClipEnd; + } + + int var6 = var4; + int var7 = var2 * var2; + int var8 = 0; + int var9 = var1 - var4; + int var10 = var9 * var9; + int var11 = var10 - var9; + if (var1 > var5) { + var1 = var5; + } + + int var12; + int var13; + int var14; + int var15; + while (var6 < var1) { + while (var11 <= var7 || var10 <= var7) { + var10 = var10 + var8 + var8; + var11 += var8++ + var8; + } + + var12 = var0 - var8 + 1; + if (var12 < Rasterizer2D_xClipStart) { + var12 = Rasterizer2D_xClipStart; + } + + var13 = var0 + var8; + if (var13 > Rasterizer2D_xClipEnd) { + var13 = Rasterizer2D_xClipEnd; + } + + var14 = var12 + var6 * Rasterizer2D_width; + + for (var15 = var12; var15 < var13; ++var15) { + Rasterizer2D_pixels[var14++] = var3; + } + + ++var6; + var10 -= var9-- + var9; + var11 -= var9 + var9; + } + + var8 = var2; + var9 = var6 - var1; + var11 = var7 + var9 * var9; + var10 = var11 - var2; + + for (var11 -= var9; var6 < var5; var10 += var9++ + var9) { + while (var11 > var7 && var10 > var7) { + var11 -= var8-- + var8; + var10 -= var8 + var8; + } + + var12 = var0 - var8; + if (var12 < Rasterizer2D_xClipStart) { + var12 = Rasterizer2D_xClipStart; + } + + var13 = var0 + var8; + if (var13 > Rasterizer2D_xClipEnd - 1) { + var13 = Rasterizer2D_xClipEnd - 1; + } + + var14 = var12 + var6 * Rasterizer2D_width; + + for (var15 = var12; var15 <= var13; ++var15) { + Rasterizer2D_pixels[var14++] = var3; + } + + ++var6; + var11 = var11 + var9 + var9; + } + + } + } + + @ObfuscatedName("dr") + @Export("Rasterizer2D_drawCircleAlpha") + public static void Rasterizer2D_drawCircleAlpha(int var0, int var1, int var2, int var3, int var4) { + if (var4 != 0) { + if (var4 == 256) { + drawCircle(var0, var1, var2, var3); + } else { + if (var2 < 0) { + var2 = -var2; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = var4 * (var3 & 255); + int var12 = var1 - var2; + if (var12 < Rasterizer2D_yClipStart) { + var12 = Rasterizer2D_yClipStart; + } + + int var13 = var2 + var1 + 1; + if (var13 > Rasterizer2D_yClipEnd) { + var13 = Rasterizer2D_yClipEnd; + } + + int var14 = var12; + int var15 = var2 * var2; + int var16 = 0; + int var17 = var1 - var12; + int var18 = var17 * var17; + int var19 = var18 - var17; + if (var1 > var13) { + var1 = var13; + } + + int var9; + int var10; + int var11; + int var20; + int var21; + int var22; + int var23; + int var24; + while (var14 < var1) { + while (var19 <= var15 || var18 <= var15) { + var18 = var18 + var16 + var16; + var19 += var16++ + var16; + } + + var20 = var0 - var16 + 1; + if (var20 < Rasterizer2D_xClipStart) { + var20 = Rasterizer2D_xClipStart; + } + + var21 = var0 + var16; + if (var21 > Rasterizer2D_xClipEnd) { + var21 = Rasterizer2D_xClipEnd; + } + + var22 = var20 + var14 * Rasterizer2D_width; + + for (var23 = var20; var23 < var21; ++var23) { + var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); + var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; + var11 = var5 * (Rasterizer2D_pixels[var22] & 255); + var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var22++] = var24; + } + + ++var14; + var18 -= var17-- + var17; + var19 -= var17 + var17; + } + + var16 = var2; + var17 = -var17; + var19 = var15 + var17 * var17; + var18 = var19 - var2; + + for (var19 -= var17; var14 < var13; var18 += var17++ + var17) { + while (var19 > var15 && var18 > var15) { + var19 -= var16-- + var16; + var18 -= var16 + var16; + } + + var20 = var0 - var16; + if (var20 < Rasterizer2D_xClipStart) { + var20 = Rasterizer2D_xClipStart; + } + + var21 = var0 + var16; + if (var21 > Rasterizer2D_xClipEnd - 1) { + var21 = Rasterizer2D_xClipEnd - 1; + } + + var22 = var20 + var14 * Rasterizer2D_width; + + for (var23 = var20; var23 <= var21; ++var23) { + var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); + var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; + var11 = var5 * (Rasterizer2D_pixels[var22] & 255); + var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var22++] = var24; + } + + ++var14; + var19 = var19 + var17 + var17; + } + + } + } + } + + @ObfuscatedName("du") + @Export("Rasterizer2D_fillRectangleAlpha") + public static void Rasterizer2D_fillRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var1 < Rasterizer2D_yClipStart) { + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + var4 = (var5 * (var4 & 16711935) >> 8 & 16711935) + (var5 * (var4 & 65280) >> 8 & 65280); + int var6 = 256 - var5; + int var7 = Rasterizer2D_width - var2; + int var8 = var0 + Rasterizer2D_width * var1; + + for (int var9 = 0; var9 < var3; ++var9) { + for (int var10 = -var2; var10 < 0; ++var10) { + int var11 = Rasterizer2D_pixels[var8]; + var11 = ((var11 & 16711935) * var6 >> 8 & 16711935) + (var6 * (var11 & 65280) >> 8 & 65280); + Rasterizer2D_pixels[var8++] = var11 + var4; + } + + var8 += var7; + } + + } + + @ObfuscatedName("ds") + @Export("Rasterizer2D_fillRectangle") + public static void Rasterizer2D_fillRectangle(int var0, int var1, int var2, int var3, int var4) { + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var1 < Rasterizer2D_yClipStart) { + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + int var5 = Rasterizer2D_width - var2; + int var6 = var0 + Rasterizer2D_width * var1; + + for (int var7 = -var3; var7 < 0; ++var7) { + for (int var8 = -var2; var8 < 0; ++var8) { + Rasterizer2D_pixels[var6++] = var4; + } + + var6 += var5; + } + + } + + @ObfuscatedName("dc") + @Export("Rasterizer2D_fillRectangleGradient") + public static void Rasterizer2D_fillRectangleGradient(int var0, int var1, int var2, int var3, int var4, int var5) { + if (var2 > 0 && var3 > 0) { + int var6 = 0; + int var7 = 65536 / var3; + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var1 < Rasterizer2D_yClipStart) { + var6 += (Rasterizer2D_yClipStart - var1) * var7; + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + int var8 = Rasterizer2D_width - var2; + int var9 = var0 + Rasterizer2D_width * var1; + + for (int var10 = -var3; var10 < 0; ++var10) { + int var11 = 65536 - var6 >> 8; + int var12 = var6 >> 8; + int var13 = (var12 * (var5 & 16711935) + var11 * (var4 & 16711935) & -16711936) + (var12 * (var5 & 65280) + var11 * (var4 & 65280) & 16711680) >>> 8; + + for (int var14 = -var2; var14 < 0; ++var14) { + Rasterizer2D_pixels[var9++] = var13; + } + + var9 += var8; + var6 += var7; + } + + } + } + + @ObfuscatedName("di") + @Export("Rasterizer2D_fillRectangleGradientAlpha") + public static void Rasterizer2D_fillRectangleGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (var2 > 0 && var3 > 0) { + int var8 = 0; + int var9 = 65536 / var3; + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var1 < Rasterizer2D_yClipStart) { + var8 += (Rasterizer2D_yClipStart - var1) * var9; + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + int var10 = Rasterizer2D_width - var2; + int var11 = var0 + Rasterizer2D_width * var1; + + for (int var12 = -var3; var12 < 0; ++var12) { + int var13 = 65536 - var8 >> 8; + int var14 = var8 >> 8; + int var15 = (var13 * var6 + var14 * var7 & 65280) >>> 8; + if (var15 == 0) { + var11 += Rasterizer2D_width; + var8 += var9; + } else { + int var16 = (var14 * (var5 & 16711935) + var13 * (var4 & 16711935) & -16711936) + (var14 * (var5 & 65280) + var13 * (var4 & 65280) & 16711680) >>> 8; + int var17 = 255 - var15; + int var18 = ((var16 & 16711935) * var15 >> 8 & 16711935) + (var15 * (var16 & 65280) >> 8 & 65280); + + for (int var19 = -var2; var19 < 0; ++var19) { + int var20 = Rasterizer2D_pixels[var11]; + if (var20 == 0) { + Rasterizer2D_pixels[var11++] = var18; + } else { + var20 = ((var20 & 16711935) * var17 >> 8 & 16711935) + (var17 * (var20 & 65280) >> 8 & 65280); + Rasterizer2D_pixels[var11++] = var18 + var20; + } + } + + var11 += var10; + var8 += var9; + } + } + + } + } + + @ObfuscatedName("dk") + @ObfuscatedSignature( + signature = "(IIIIII[BIZ)V", + garbageValue = "1" + ) + @Export("Rasterizer2D_drawGradientPixels") + public static void Rasterizer2D_drawGradientPixels(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) { + if (var0 + var2 >= 0 && var3 + var1 >= 0) { + if (var0 < Rasterizer2D_width && var1 < Rasterizer2D_height) { + int var8 = 0; + int var9 = 0; + if (var0 < 0) { + var8 -= var0; + var2 += var0; + } + + if (var1 < 0) { + var9 -= var1; + var3 += var1; + } + + if (var0 + var2 > Rasterizer2D_width) { + var2 = Rasterizer2D_width - var0; + } + + if (var3 + var1 > Rasterizer2D_height) { + var3 = Rasterizer2D_height - var1; + } + + int var10 = var6.length / var7; + int var11 = Rasterizer2D_width - var2; + int var12 = var4 >>> 24; + int var13 = var5 >>> 24; + int var14; + int var15; + int var16; + int var17; + int var18; + if (var12 == 255 && var13 == 255) { + var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; + + for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { + for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { + var17 = (var15 - var1) % var10; + var18 = (var16 - var0) % var7; + if (var6[var18 + var17 * var7] != 0) { + Rasterizer2D_pixels[var14++] = var5; + } else { + Rasterizer2D_pixels[var14++] = var4; + } + } + + var14 += var11; + } + } else { + var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; + + for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { + for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { + var17 = (var15 - var1) % var10; + var18 = (var16 - var0) % var7; + int var19 = var4; + if (var6[var18 + var17 * var7] != 0) { + var19 = var5; + } + + int var20 = var19 >>> 24; + int var21 = 255 - var20; + int var22 = Rasterizer2D_pixels[var14]; + int var23 = ((var19 & 16711935) * var20 + (var22 & 16711935) * var21 & -16711936) + (var20 * (var19 & 65280) + var21 * (var22 & 65280) & 16711680) >> 8; + Rasterizer2D_pixels[var14++] = var23; + } + + var14 += var11; + } + } + + } + } + } + + @ObfuscatedName("dx") + @Export("Rasterizer2D_drawRectangle") + public static void Rasterizer2D_drawRectangle(int var0, int var1, int var2, int var3, int var4) { + Rasterizer2D_drawHorizontalLine(var0, var1, var2, var4); + Rasterizer2D_drawHorizontalLine(var0, var3 + var1 - 1, var2, var4); + Rasterizer2D_drawVerticalLine(var0, var1, var3, var4); + Rasterizer2D_drawVerticalLine(var0 + var2 - 1, var1, var3, var4); + } + + @ObfuscatedName("dz") + @Export("Rasterizer2D_drawRectangleAlpha") + public static void Rasterizer2D_drawRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { + Rasterizer2D_drawHorizontalLineAlpha(var0, var1, var2, var4, var5); + Rasterizer2D_drawHorizontalLineAlpha(var0, var3 + var1 - 1, var2, var4, var5); + if (var3 >= 3) { + Rasterizer2D_drawVerticalLineAlpha(var0, var1 + 1, var3 - 2, var4, var5); + Rasterizer2D_drawVerticalLineAlpha(var0 + var2 - 1, var1 + 1, var3 - 2, var4, var5); + } + + } + + @ObfuscatedName("do") + @Export("Rasterizer2D_drawHorizontalLine") + public static void Rasterizer2D_drawHorizontalLine(int var0, int var1, int var2, int var3) { + if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + int var4 = var0 + Rasterizer2D_width * var1; + + for (int var5 = 0; var5 < var2; ++var5) { + Rasterizer2D_pixels[var4 + var5] = var3; + } + + } + } + + @ObfuscatedName("dw") + @Export("Rasterizer2D_drawHorizontalLineAlpha") + static void Rasterizer2D_drawHorizontalLineAlpha(int var0, int var1, int var2, int var3, int var4) { + if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = var4 * (var3 & 255); + int var12 = var0 + Rasterizer2D_width * var1; + + for (int var13 = 0; var13 < var2; ++var13) { + int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); + int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; + int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); + int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var12++] = var14; + } + + } + } + + @ObfuscatedName("dd") + @Export("Rasterizer2D_drawVerticalLine") + public static void Rasterizer2D_drawVerticalLine(int var0, int var1, int var2, int var3) { + if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { + if (var1 < Rasterizer2D_yClipStart) { + var2 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var2 + var1 > Rasterizer2D_yClipEnd) { + var2 = Rasterizer2D_yClipEnd - var1; + } + + int var4 = var0 + Rasterizer2D_width * var1; + + for (int var5 = 0; var5 < var2; ++var5) { + Rasterizer2D_pixels[var4 + var5 * Rasterizer2D_width] = var3; + } + + } + } + + @ObfuscatedName("dj") + @Export("Rasterizer2D_drawVerticalLineAlpha") + static void Rasterizer2D_drawVerticalLineAlpha(int var0, int var1, int var2, int var3, int var4) { + if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { + if (var1 < Rasterizer2D_yClipStart) { + var2 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var2 + var1 > Rasterizer2D_yClipEnd) { + var2 = Rasterizer2D_yClipEnd - var1; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = var4 * (var3 & 255); + int var12 = var0 + Rasterizer2D_width * var1; + + for (int var13 = 0; var13 < var2; ++var13) { + int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); + int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; + int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); + int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var12] = var14; + var12 += Rasterizer2D_width; + } + + } + } + + @ObfuscatedName("dg") + @Export("Rasterizer2D_drawLine") + public static void Rasterizer2D_drawLine(int var0, int var1, int var2, int var3, int var4) { + var2 -= var0; + var3 -= var1; + if (var3 == 0) { + if (var2 >= 0) { + Rasterizer2D_drawHorizontalLine(var0, var1, var2 + 1, var4); + } else { + Rasterizer2D_drawHorizontalLine(var0 + var2, var1, -var2 + 1, var4); + } + + } else if (var2 == 0) { + if (var3 >= 0) { + Rasterizer2D_drawVerticalLine(var0, var1, var3 + 1, var4); + } else { + Rasterizer2D_drawVerticalLine(var0, var3 + var1, -var3 + 1, var4); + } + + } else { + if (var3 + var2 < 0) { + var0 += var2; + var2 = -var2; + var1 += var3; + var3 = -var3; + } + + int var5; + int var6; + if (var2 > var3) { + var1 <<= 16; + var1 += 32768; + var3 <<= 16; + var5 = (int)Math.floor((double)var3 / (double)var2 + 0.5D); + var2 += var0; + if (var0 < Rasterizer2D_xClipStart) { + var1 += var5 * (Rasterizer2D_xClipStart - var0); + var0 = Rasterizer2D_xClipStart; + } + + if (var2 >= Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - 1; + } + + while (var0 <= var2) { + var6 = var1 >> 16; + if (var6 >= Rasterizer2D_yClipStart && var6 < Rasterizer2D_yClipEnd) { + Rasterizer2D_pixels[var0 + var6 * Rasterizer2D_width] = var4; + } + + var1 += var5; + ++var0; + } + } else { + var0 <<= 16; + var0 += 32768; + var2 <<= 16; + var5 = (int)Math.floor((double)var2 / (double)var3 + 0.5D); + var3 += var1; + if (var1 < Rasterizer2D_yClipStart) { + var0 += (Rasterizer2D_yClipStart - var1) * var5; + var1 = Rasterizer2D_yClipStart; + } + + if (var3 >= Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - 1; + } + + while (var1 <= var3) { + var6 = var0 >> 16; + if (var6 >= Rasterizer2D_xClipStart && var6 < Rasterizer2D_xClipEnd) { + Rasterizer2D_pixels[var6 + Rasterizer2D_width * var1] = var4; + } + + var0 += var5; + ++var1; + } + } + + } + } + + @ObfuscatedName("da") + @Export("Rasterizer2D_setPixel") + static void Rasterizer2D_setPixel(int var0, int var1, int var2) { + if (var0 >= Rasterizer2D_xClipStart && var1 >= Rasterizer2D_yClipStart && var0 < Rasterizer2D_xClipEnd && var1 < Rasterizer2D_yClipEnd) { + Rasterizer2D_pixels[var0 + Rasterizer2D_width * var1] = var2; + } + } + + @ObfuscatedName("dl") + @Export("Rasterizer2D_fillMaskedRectangle") + public static void Rasterizer2D_fillMaskedRectangle(int var0, int var1, int var2, int[] var3, int[] var4) { + int var5 = var0 + Rasterizer2D_width * var1; + + for (var1 = 0; var1 < var3.length; ++var1) { + int var6 = var5 + var3[var1]; + + for (var0 = -var4[var1]; var0 < 0; ++var0) { + Rasterizer2D_pixels[var6++] = var2; + } + + var5 += Rasterizer2D_width; + } + + } +} diff --git a/runescape-client/src/main/java/Rasterizer3D.java b/runescape-client/src/main/java/Rasterizer3D.java index bc0aa38817..874e299ced 100644 --- a/runescape-client/src/main/java/Rasterizer3D.java +++ b/runescape-client/src/main/java/Rasterizer3D.java @@ -1,3455 +1,3455 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ej") -@Implements("Rasterizer3D") -public class Rasterizer3D extends Rasterizer2D { - @ObfuscatedName("c") - static boolean field1735; - @ObfuscatedName("x") - static boolean field1726; - @ObfuscatedName("t") - @Export("Rasterizer3D_isLowDetailTexture") - static boolean Rasterizer3D_isLowDetailTexture; - @ObfuscatedName("g") - public static boolean field1729; - @ObfuscatedName("l") - @Export("Rasterizer3D_alpha") - static int Rasterizer3D_alpha; - @ObfuscatedName("h") - @Export("Rasterizer3D_zoom") - public static int Rasterizer3D_zoom; - @ObfuscatedName("f") - @Export("Rasterizer3D_clipMidX") - static int Rasterizer3D_clipMidX; - @ObfuscatedName("s") - @Export("Rasterizer3D_clipMidY") - static int Rasterizer3D_clipMidY; - @ObfuscatedName("p") - @Export("Rasterizer3D_clipWidth") - static int Rasterizer3D_clipWidth; - @ObfuscatedName("e") - @Export("Rasterizer3D_clipHeight") - static int Rasterizer3D_clipHeight; - @ObfuscatedName("i") - @Export("Rasterizer3D_clipNegativeMidX") - static int Rasterizer3D_clipNegativeMidX; - @ObfuscatedName("q") - @Export("Rasterizer3D_clipMidX2") - static int Rasterizer3D_clipMidX2; - @ObfuscatedName("y") - @Export("Rasterizer3D_clipNegativeMidY") - static int Rasterizer3D_clipNegativeMidY; - @ObfuscatedName("r") - @Export("Rasterizer3D_clipMidY2") - static int Rasterizer3D_clipMidY2; - @ObfuscatedName("k") - @Export("Rasterizer3D_rowOffsets") - static int[] Rasterizer3D_rowOffsets; - @ObfuscatedName("w") - @Export("Rasterizer3D_colorPalette") - public static int[] Rasterizer3D_colorPalette; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Leg;" - ) - @Export("Rasterizer3D_textureLoader") - public static TextureLoader Rasterizer3D_textureLoader; - @ObfuscatedName("o") - static int[] field1749; - @ObfuscatedName("a") - static int[] field1752; - @ObfuscatedName("b") - @Export("Rasterizer3D_sine") - public static int[] Rasterizer3D_sine; - @ObfuscatedName("ag") - @Export("Rasterizer3D_cosine") - public static int[] Rasterizer3D_cosine; - - static { - field1735 = false; - field1726 = false; - Rasterizer3D_isLowDetailTexture = false; - field1729 = true; - Rasterizer3D_alpha = 0; - Rasterizer3D_zoom = 512; - Rasterizer3D_rowOffsets = new int[1024]; - Rasterizer3D_colorPalette = new int[65536]; - field1749 = new int[512]; - field1752 = new int[2048]; - Rasterizer3D_sine = new int[2048]; - Rasterizer3D_cosine = new int[2048]; - - int var0; - for (var0 = 1; var0 < 512; ++var0) { - field1749[var0] = 32768 / var0; - } - - for (var0 = 1; var0 < 2048; ++var0) { - field1752[var0] = 65536 / var0; - } - - for (var0 = 0; var0 < 2048; ++var0) { - Rasterizer3D_sine[var0] = (int)(65536.0D * Math.sin((double)var0 * 0.0030679615D)); - Rasterizer3D_cosine[var0] = (int)(65536.0D * Math.cos((double)var0 * 0.0030679615D)); - } - - } - - @ObfuscatedName("c") - @Export("Rasterizer3D_setClipFromRasterizer2D") - public static final void Rasterizer3D_setClipFromRasterizer2D() { - Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); - } - - @ObfuscatedName("x") - @Export("Rasterizer3D_setClip") - static final void Rasterizer3D_setClip(int var0, int var1, int var2, int var3) { - Rasterizer3D_clipWidth = var2 - var0; - Rasterizer3D_clipHeight = var3 - var1; - Rasterizer3D_method3(); - int var4; - int var5; - if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) { - var5 = Rasterizer3D_clipHeight; - --var5; - var5 |= var5 >>> 1; - var5 |= var5 >>> 2; - var5 |= var5 >>> 4; - var5 |= var5 >>> 8; - var5 |= var5 >>> 16; - var4 = var5 + 1; - Rasterizer3D_rowOffsets = new int[var4]; - } - - var4 = var0 + Rasterizer2D.Rasterizer2D_width * var1; - - for (var5 = 0; var5 < Rasterizer3D_clipHeight; ++var5) { - Rasterizer3D_rowOffsets[var5] = var4; - var4 += Rasterizer2D.Rasterizer2D_width; - } - - } - - @ObfuscatedName("t") - @Export("Rasterizer3D_method3") - public static final void Rasterizer3D_method3() { - Rasterizer3D_clipMidX = Rasterizer3D_clipWidth / 2; - Rasterizer3D_clipMidY = Rasterizer3D_clipHeight / 2; - Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; - Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; - Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; - Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; - } - - @ObfuscatedName("g") - public static final void method3033(int var0, int var1) { - int var2 = Rasterizer3D_rowOffsets[0]; - int var3 = var2 / Rasterizer2D.Rasterizer2D_width; - int var4 = var2 - var3 * Rasterizer2D.Rasterizer2D_width; - Rasterizer3D_clipMidX = var0 - var4; - Rasterizer3D_clipMidY = var1 - var3; - Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; - Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; - Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; - Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Leg;)V" - ) - @Export("Rasterizer3D_setTextureLoader") - public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { - Rasterizer3D_textureLoader = var0; - } - - @ObfuscatedName("u") - @Export("Rasterizer3D_setBrightness") - public static final void Rasterizer3D_setBrightness(double var0) { - Rasterizer3D_buildPalette(var0, 0, 512); - } - - @ObfuscatedName("j") - @Export("Rasterizer3D_buildPalette") - static final void Rasterizer3D_buildPalette(double var0, int var2, int var3) { - int var4 = var2 * 128; - - for (int var5 = var2; var5 < var3; ++var5) { - double var6 = (double)(var5 >> 3) / 64.0D + 0.0078125D; - double var8 = (double)(var5 & 7) / 8.0D + 0.0625D; - - for (int var10 = 0; var10 < 128; ++var10) { - double var11 = (double)var10 / 128.0D; - double var13 = var11; - double var15 = var11; - double var17 = var11; - if (var8 != 0.0D) { - double var19; - if (var11 < 0.5D) { - var19 = var11 * (1.0D + var8); - } else { - var19 = var11 + var8 - var11 * var8; - } - - double var21 = 2.0D * var11 - var19; - double var23 = var6 + 0.3333333333333333D; - if (var23 > 1.0D) { - --var23; - } - - double var27 = var6 - 0.3333333333333333D; - if (var27 < 0.0D) { - ++var27; - } - - if (6.0D * var23 < 1.0D) { - var13 = var21 + (var19 - var21) * 6.0D * var23; - } else if (2.0D * var23 < 1.0D) { - var13 = var19; - } else if (3.0D * var23 < 2.0D) { - var13 = var21 + (var19 - var21) * (0.6666666666666666D - var23) * 6.0D; - } else { - var13 = var21; - } - - if (6.0D * var6 < 1.0D) { - var15 = var21 + (var19 - var21) * 6.0D * var6; - } else if (2.0D * var6 < 1.0D) { - var15 = var19; - } else if (3.0D * var6 < 2.0D) { - var15 = var21 + (var19 - var21) * (0.6666666666666666D - var6) * 6.0D; - } else { - var15 = var21; - } - - if (6.0D * var27 < 1.0D) { - var17 = var21 + (var19 - var21) * 6.0D * var27; - } else if (2.0D * var27 < 1.0D) { - var17 = var19; - } else if (3.0D * var27 < 2.0D) { - var17 = var21 + (var19 - var21) * (0.6666666666666666D - var27) * 6.0D; - } else { - var17 = var21; - } - } - - int var29 = (int)(var13 * 256.0D); - int var20 = (int)(var15 * 256.0D); - int var30 = (int)(var17 * 256.0D); - int var22 = var30 + (var20 << 8) + (var29 << 16); - var22 = Rasterizer3D_brighten(var22, var0); - if (var22 == 0) { - var22 = 1; - } - - Rasterizer3D_colorPalette[var4++] = var22; - } - } - - } - - @ObfuscatedName("v") - @Export("Rasterizer3D_brighten") - static int Rasterizer3D_brighten(int var0, double var1) { - double var3 = (double)(var0 >> 16) / 256.0D; - double var5 = (double)(var0 >> 8 & 255) / 256.0D; - double var7 = (double)(var0 & 255) / 256.0D; - var3 = Math.pow(var3, var1); - var5 = Math.pow(var5, var1); - var7 = Math.pow(var7, var1); - int var9 = (int)(var3 * 256.0D); - int var10 = (int)(var5 * 256.0D); - int var11 = (int)(var7 * 256.0D); - return var11 + (var10 << 8) + (var9 << 16); - } - - @ObfuscatedName("d") - public static void method2970(int var0, int var1, int var2) { - field1735 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; - } - - @ObfuscatedName("z") - static final void method2971(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = var4 - var3; - int var10 = var1 - var0; - int var11 = var5 - var3; - int var12 = var2 - var0; - int var13 = var7 - var6; - int var14 = var8 - var6; - int var15; - if (var2 != var1) { - var15 = (var5 - var4 << 14) / (var2 - var1); - } else { - var15 = 0; - } - - int var16; - if (var0 != var1) { - var16 = (var9 << 14) / var10; - } else { - var16 = 0; - } - - int var17; - if (var0 != var2) { - var17 = (var11 << 14) / var12; - } else { - var17 = 0; - } - - int var18 = var9 * var12 - var11 * var10; - if (var18 != 0) { - int var19 = (var13 * var12 - var14 * var10 << 8) / var18; - int var20 = (var14 * var9 - var13 * var11 << 8) / var18; - if (var0 <= var1 && var0 <= var2) { - if (var0 < Rasterizer3D_clipHeight) { - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - var6 = var19 + ((var6 << 8) - var3 * var19); - if (var1 < var2) { - var5 = var3 <<= 14; - if (var0 < 0) { - var5 -= var0 * var17; - var3 -= var0 * var16; - var6 -= var0 * var20; - var0 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var15 * var1; - var1 = 0; - } - - if (var0 != var1 && var17 < var16 || var0 == var1 && var17 > var15) { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var4 >> 14, var6, var19); - var5 += var17; - var4 += var15; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); - var5 += var17; - var3 += var16; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var5 >> 14, var6, var19); - var5 += var17; - var4 += var15; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); - var5 += var17; - var3 += var16; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - } else { - var4 = var3 <<= 14; - if (var0 < 0) { - var4 -= var0 * var17; - var3 -= var0 * var16; - var6 -= var0 * var20; - var0 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var15 * var2; - var2 = 0; - } - - if (var0 != var2 && var17 < var16 || var0 == var2 && var15 > var16) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); - var5 += var15; - var3 += var16; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var3 >> 14, var6, var19); - var4 += var17; - var3 += var16; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); - var5 += var15; - var3 += var16; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var4 >> 14, var6, var19); - var4 += var17; - var3 += var16; - var6 += var20; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - } - } - } else if (var1 <= var2) { - if (var1 < Rasterizer3D_clipHeight) { - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - var7 = var19 + ((var7 << 8) - var19 * var4); - if (var2 < var0) { - var3 = var4 <<= 14; - if (var1 < 0) { - var3 -= var16 * var1; - var4 -= var15 * var1; - var7 -= var20 * var1; - var1 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var17 * var2; - var2 = 0; - } - - if (var2 != var1 && var16 < var15 || var2 == var1 && var16 > var17) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var5 >> 14, var7, var19); - var3 += var16; - var5 += var17; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); - var3 += var16; - var4 += var15; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var3 >> 14, var7, var19); - var3 += var16; - var5 += var17; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); - var3 += var16; - var4 += var15; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - } else { - var5 = var4 <<= 14; - if (var1 < 0) { - var5 -= var16 * var1; - var4 -= var15 * var1; - var7 -= var20 * var1; - var1 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var17; - var0 = 0; - } - - if (var16 < var15) { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); - var3 += var17; - var4 += var15; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var4 >> 14, var7, var19); - var5 += var16; - var4 += var15; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); - var3 += var17; - var4 += var15; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var5 >> 14, var7, var19); - var5 += var16; - var4 += var15; - var7 += var20; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - var8 = var19 + ((var8 << 8) - var5 * var19); - if (var0 < var1) { - var4 = var5 <<= 14; - if (var2 < 0) { - var4 -= var15 * var2; - var5 -= var17 * var2; - var8 -= var20 * var2; - var2 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var16; - var0 = 0; - } - - if (var15 < var17) { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var3 >> 14, var8, var19); - var4 += var15; - var3 += var16; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); - var4 += var15; - var5 += var17; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var4 >> 14, var8, var19); - var4 += var15; - var3 += var16; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); - var4 += var15; - var5 += var17; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - } else { - var3 = var5 <<= 14; - if (var2 < 0) { - var3 -= var15 * var2; - var5 -= var17 * var2; - var8 -= var20 * var2; - var2 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var16 * var1; - var1 = 0; - } - - if (var15 < var17) { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); - var4 += var16; - var5 += var17; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var5 >> 14, var8, var19); - var3 += var15; - var5 += var17; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); - var4 += var16; - var5 += var17; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var3 >> 14, var8, var19); - var3 += var15; - var5 += var17; - var8 += var20; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - } - } - } - } - - @ObfuscatedName("s") - @Export("Rasterizer3D_vertAlpha") - static final void Rasterizer3D_vertAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (field1735) { - if (var5 > Rasterizer3D_clipWidth) { - var5 = Rasterizer3D_clipWidth; - } - - if (var4 < 0) { - var4 = 0; - } - } - - if (var4 < var5) { - var1 += var4; - var6 += var4 * var7; - int var8; - int var9; - int var10; - if (field1729) { - var3 = var5 - var4 >> 2; - var7 <<= 2; - if (Rasterizer3D_alpha == 0) { - if (var3 > 0) { - do { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; - var6 += var7; - var0[var1++] = var2; - var0[var1++] = var2; - var0[var1++] = var2; - var0[var1++] = var2; - --var3; - } while(var3 > 0); - } - - var3 = var5 - var4 & 3; - if (var3 > 0) { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; - - do { - var0[var1++] = var2; - --var3; - } while(var3 > 0); - } - } else { - var8 = Rasterizer3D_alpha; - var9 = 256 - Rasterizer3D_alpha; - if (var3 > 0) { - do { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; - var6 += var7; - var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); - var10 = var0[var1]; - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); - var10 = var0[var1]; - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); - var10 = var0[var1]; - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); - var10 = var0[var1]; - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); - --var3; - } while(var3 > 0); - } - - var3 = var5 - var4 & 3; - if (var3 > 0) { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; - var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); - - do { - var10 = var0[var1]; - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); - --var3; - } while(var3 > 0); - } - } - - } else { - var3 = var5 - var4; - if (Rasterizer3D_alpha == 0) { - do { - var0[var1++] = Rasterizer3D_colorPalette[var6 >> 8]; - var6 += var7; - --var3; - } while(var3 > 0); - } else { - var8 = Rasterizer3D_alpha; - var9 = 256 - Rasterizer3D_alpha; - - do { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; - var6 += var7; - var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); - var10 = var0[var1]; - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); - --var3; - } while(var3 > 0); - } - - } - } - } - - @ObfuscatedName("p") - public static final void method2990(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = 0; - if (var0 != var1) { - var7 = (var4 - var3 << 14) / (var1 - var0); - } - - int var8 = 0; - if (var2 != var1) { - var8 = (var5 - var4 << 14) / (var2 - var1); - } - - int var9 = 0; - if (var0 != var2) { - var9 = (var3 - var5 << 14) / (var0 - var2); - } - - if (var0 <= var1 && var0 <= var2) { - if (var0 < Rasterizer3D_clipHeight) { - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - if (var1 < var2) { - var5 = var3 <<= 14; - if (var0 < 0) { - var5 -= var0 * var9; - var3 -= var0 * var7; - var0 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var8 * var1; - var1 = 0; - } - - if ((var0 == var1 || var9 >= var7) && (var0 != var1 || var9 <= var8)) { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var5 >> 14); - var5 += var9; - var4 += var8; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); - var5 += var9; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var4 >> 14); - var5 += var9; - var4 += var8; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); - var5 += var9; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - } else { - var4 = var3 <<= 14; - if (var0 < 0) { - var4 -= var0 * var9; - var3 -= var0 * var7; - var0 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var8 * var2; - var2 = 0; - } - - if (var0 != var2 && var9 < var7 || var0 == var2 && var8 > var7) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); - var5 += var8; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14); - var4 += var9; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); - var5 += var8; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var4 >> 14); - var4 += var9; - var3 += var7; - var0 += Rasterizer2D.Rasterizer2D_width; - } - } - } - } - } else if (var1 <= var2) { - if (var1 < Rasterizer3D_clipHeight) { - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - if (var2 < var0) { - var3 = var4 <<= 14; - if (var1 < 0) { - var3 -= var7 * var1; - var4 -= var8 * var1; - var1 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var9 * var2; - var2 = 0; - } - - if ((var2 == var1 || var7 >= var8) && (var2 != var1 || var7 <= var9)) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var3 >> 14); - var3 += var7; - var5 += var9; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); - var3 += var7; - var4 += var8; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var5 >> 14); - var3 += var7; - var5 += var9; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); - var3 += var7; - var4 += var8; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - } else { - var5 = var4 <<= 14; - if (var1 < 0) { - var5 -= var7 * var1; - var4 -= var8 * var1; - var1 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var9; - var0 = 0; - } - - if (var7 < var8) { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); - var3 += var9; - var4 += var8; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var4 >> 14); - var5 += var7; - var4 += var8; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); - var3 += var9; - var4 += var8; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var5 >> 14); - var5 += var7; - var4 += var8; - var1 += Rasterizer2D.Rasterizer2D_width; - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - if (var0 < var1) { - var4 = var5 <<= 14; - if (var2 < 0) { - var4 -= var8 * var2; - var5 -= var9 * var2; - var2 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var7; - var0 = 0; - } - - if (var8 < var9) { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var3 >> 14); - var4 += var8; - var3 += var7; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); - var4 += var8; - var5 += var9; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var4 >> 14); - var4 += var8; - var3 += var7; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); - var4 += var8; - var5 += var9; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - } else { - var3 = var5 <<= 14; - if (var2 < 0) { - var3 -= var8 * var2; - var5 -= var9 * var2; - var2 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var7 * var1; - var1 = 0; - } - - if (var8 < var9) { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); - var4 += var7; - var5 += var9; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var5 >> 14); - var3 += var8; - var5 += var9; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } else { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); - var4 += var7; - var5 += var9; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var3 >> 14); - var3 += var8; - var5 += var9; - var2 += Rasterizer2D.Rasterizer2D_width; - } - } - } - } - } - - @ObfuscatedName("e") - @Export("Rasterizer3D_horizAlpha") - static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { - if (field1735) { - if (var5 > Rasterizer3D_clipWidth) { - var5 = Rasterizer3D_clipWidth; - } - - if (var4 < 0) { - var4 = 0; - } - } - - if (var4 < var5) { - var1 += var4; - var3 = var5 - var4 >> 2; - if (Rasterizer3D_alpha != 0) { - if (Rasterizer3D_alpha == 254) { - while (true) { - --var3; - if (var3 < 0) { - var3 = var5 - var4 & 3; - - while (true) { - --var3; - if (var3 < 0) { - return; - } - - var0[var1++] = var0[var1]; - } - } - - var0[var1++] = var0[var1]; - var0[var1++] = var0[var1]; - var0[var1++] = var0[var1]; - var0[var1++] = var0[var1]; - } - } else { - int var6 = Rasterizer3D_alpha; - int var7 = 256 - Rasterizer3D_alpha; - var2 = (var7 * (var2 & 65280) >> 8 & 65280) + (var7 * (var2 & 16711935) >> 8 & 16711935); - - while (true) { - --var3; - int var8; - if (var3 < 0) { - var3 = var5 - var4 & 3; - - while (true) { - --var3; - if (var3 < 0) { - return; - } - - var8 = var0[var1]; - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); - } - } - - var8 = var0[var1]; - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); - var8 = var0[var1]; - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); - var8 = var0[var1]; - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); - var8 = var0[var1]; - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); - } - } - } else { - while (true) { - --var3; - if (var3 < 0) { - var3 = var5 - var4 & 3; - - while (true) { - --var3; - if (var3 < 0) { - return; - } - - var0[var1++] = var2; - } - } - - var0[var1++] = var2; - var0[var1++] = var2; - var0[var1++] = var2; - var0[var1++] = var2; - } - } - } - } - - @ObfuscatedName("i") - static final void method3020(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 = Rasterizer3D_textureLoader.getTexturePixels(var18); - int var20; - if (var19 == null) { - var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); - method2971(var0, var1, var2, var3, var4, var5, method3006(var20, var6), method3006(var20, var7), method3006(var20, var8)); - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field1726 = Rasterizer3D_textureLoader.vmethod3240(var18); - var20 = var4 - var3; - int var21 = var1 - var0; - int var22 = var5 - var3; - int var23 = var2 - var0; - int var24 = var7 - var6; - int var25 = var8 - var6; - int var26 = 0; - if (var0 != var1) { - var26 = (var4 - var3 << 14) / (var1 - var0); - } - - int var27 = 0; - if (var2 != var1) { - var27 = (var5 - var4 << 14) / (var2 - var1); - } - - int var28 = 0; - if (var0 != var2) { - var28 = (var3 - var5 << 14) / (var0 - var2); - } - - int var29 = var20 * var23 - var22 * var21; - if (var29 != 0) { - int var30 = (var24 * var23 - var25 * var21 << 9) / var29; - int var31 = (var25 * var20 - var24 * var22 << 9) / var29; - var10 = var9 - var10; - var13 = var12 - var13; - var16 = var15 - var16; - var11 -= var9; - var14 -= var12; - var17 -= var15; - int var32 = var11 * var12 - var9 * var14 << 14; - int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); - int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); - int var35 = var10 * var12 - var13 * var9 << 14; - int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); - int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); - int var38 = var13 * var11 - var10 * var14 << 14; - int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 3 << 14) / (long)Rasterizer3D_zoom); - int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); - int var41; - if (var0 <= var1 && var0 <= var2) { - if (var0 < Rasterizer3D_clipHeight) { - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - var6 = var30 + ((var6 << 9) - var3 * var30); - if (var1 < var2) { - var5 = var3 <<= 14; - if (var0 < 0) { - var5 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var27 * var1; - var1 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else { - var4 = var3 <<= 14; - if (var0 < 0) { - var4 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var27 * var2; - var2 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if ((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } - } - } else if (var1 <= var2) { - if (var1 < Rasterizer3D_clipHeight) { - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - var7 = var30 + ((var7 << 9) - var30 * var4); - if (var2 < var0) { - var3 = var4 <<= 14; - if (var1 < 0) { - var3 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var28 * var2; - var2 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else { - var5 = var4 <<= 14; - if (var1 < 0) { - var5 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var28; - var0 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var26 < var27) { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var28; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var5 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var28; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var5 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - var8 = (var8 << 9) - var5 * var30 + var30; - if (var0 < var1) { - var4 = var5 <<= 14; - if (var2 < 0) { - var4 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var26; - var0 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var3 += var26; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var3 += var26; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else { - var3 = var5 <<= 14; - if (var2 < 0) { - var3 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var26 * var1; - var1 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var26; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var3 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var26; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var3 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } - } - } - } - } - - @ObfuscatedName("q") - @Export("Rasterizer3D_iDontKnow") - static final void Rasterizer3D_iDontKnow(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) { - if (field1735) { - if (var6 > Rasterizer3D_clipWidth) { - var6 = Rasterizer3D_clipWidth; - } - - if (var5 < 0) { - var5 = 0; - } - } - - if (var5 < var6) { - var4 += var5; - var7 += var5 * var8; - int var17 = var6 - var5; - int var15; - int var16; - int var10000; - int var18; - int var19; - int var20; - int var21; - int var22; - int var23; - if (Rasterizer3D_isLowDetailTexture) { - var23 = var5 - Rasterizer3D_clipMidX; - var9 += var23 * (var12 >> 3); - var10 += (var13 >> 3) * var23; - var11 += var23 * (var14 >> 3); - var22 = var11 >> 12; - if (var22 != 0) { - var18 = var9 / var22; - var19 = var10 / var22; - if (var18 < 0) { - var18 = 0; - } else if (var18 > 4032) { - var18 = 4032; - } - } else { - var18 = 0; - var19 = 0; - } - - var9 += var12; - var10 += var13; - var11 += var14; - var22 = var11 >> 12; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - if (var20 < 0) { - var20 = 0; - } else if (var20 > 4032) { - var20 = 4032; - } - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 20) + var19; - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); - var17 >>= 3; - var8 <<= 3; - var15 = var7 >> 8; - if (field1726) { - if (var17 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var10000 = var16 + var2; - var18 = var20; - var19 = var21; - var9 += var12; - var10 += var13; - var11 += var14; - var22 = var11 >> 12; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - if (var20 < 0) { - var20 = 0; - } else if (var20 > 4032) { - var20 = 4032; - } - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 20) + var19; - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - --var17; - } while(var17 > 0); - } - } else { - if (var17 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var10000 = var16 + var2; - var18 = var20; - var19 = var21; - var9 += var12; - var10 += var13; - var11 += var14; - var22 = var11 >> 12; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - if (var20 < 0) { - var20 = 0; - } else if (var20 > 4032) { - var20 = 4032; - } - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 20) + var19; - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - --var17; - } while(var17 > 0); - } - } - } else { - var23 = var5 - Rasterizer3D_clipMidX; - var9 += var23 * (var12 >> 3); - var10 += (var13 >> 3) * var23; - var11 += var23 * (var14 >> 3); - var22 = var11 >> 14; - if (var22 != 0) { - var18 = var9 / var22; - var19 = var10 / var22; - if (var18 < 0) { - var18 = 0; - } else if (var18 > 16256) { - var18 = 16256; - } - } else { - var18 = 0; - var19 = 0; - } - - var9 += var12; - var10 += var13; - var11 += var14; - var22 = var11 >> 14; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - if (var20 < 0) { - var20 = 0; - } else if (var20 > 16256) { - var20 = 16256; - } - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 18) + var19; - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); - var17 >>= 3; - var8 <<= 3; - var15 = var7 >> 8; - if (field1726) { - if (var17 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var10000 = var16 + var2; - var18 = var20; - var19 = var21; - var9 += var12; - var10 += var13; - var11 += var14; - var22 = var11 >> 14; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - if (var20 < 0) { - var20 = 0; - } else if (var20 > 16256) { - var20 = 16256; - } - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 18) + var19; - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - --var17; - } while(var17 > 0); - } - } else { - if (var17 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var10000 = var16 + var2; - var18 = var20; - var19 = var21; - var9 += var12; - var10 += var13; - var11 += var14; - var22 = var11 >> 14; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - if (var20 < 0) { - var20 = 0; - } else if (var20 > 16256) { - var20 = 16256; - } - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 18) + var19; - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - --var17; - } while(var17 > 0); - } - } - } - - } - } - - @ObfuscatedName("r") - @Export("drawTexturedTile") - static final void drawTexturedTile(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 = Rasterizer3D_textureLoader.getTexturePixels(var18); - int var20; - if (var19 == null) { - var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); - method2971(var0, var1, var2, var3, var4, var5, method3006(var20, var6), method3006(var20, var7), method3006(var20, var8)); - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); - field1726 = Rasterizer3D_textureLoader.vmethod3240(var18); - var20 = var4 - var3; - int var21 = var1 - var0; - int var22 = var5 - var3; - int var23 = var2 - var0; - int var24 = var7 - var6; - int var25 = var8 - var6; - int var26 = 0; - if (var0 != var1) { - var26 = (var4 - var3 << 14) / (var1 - var0); - } - - int var27 = 0; - if (var2 != var1) { - var27 = (var5 - var4 << 14) / (var2 - var1); - } - - int var28 = 0; - if (var0 != var2) { - var28 = (var3 - var5 << 14) / (var0 - var2); - } - - int var29 = var20 * var23 - var22 * var21; - if (var29 != 0) { - int var30 = (var24 * var23 - var25 * var21 << 9) / var29; - int var31 = (var25 * var20 - var24 * var22 << 9) / var29; - var10 = var9 - var10; - var13 = var12 - var13; - var16 = var15 - var16; - var11 -= var9; - var14 -= var12; - var17 -= var15; - int var32 = var11 * var12 - var9 * var14 << 14; - int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 14) / (long)Rasterizer3D_zoom); - int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); - int var35 = var10 * var12 - var13 * var9 << 14; - int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 14) / (long)Rasterizer3D_zoom); - int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); - int var38 = var13 * var11 - var10 * var14 << 14; - int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 14) / (long)Rasterizer3D_zoom); - int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); - int var41; - if (var0 <= var1 && var0 <= var2) { - if (var0 < Rasterizer3D_clipHeight) { - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - var6 = var30 + ((var6 << 9) - var3 * var30); - if (var1 < var2) { - var5 = var3 <<= 14; - if (var0 < 0) { - var5 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var27 * var1; - var1 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var2 -= var1; - var1 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var4 += var27; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else { - var4 = var3 <<= 14; - if (var0 < 0) { - var4 -= var0 * var28; - var3 -= var0 * var26; - var6 -= var0 * var31; - var0 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var27 * var2; - var2 = 0; - } - - var41 = var0 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if ((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var1 -= var2; - var2 -= var0; - var0 = Rasterizer3D_rowOffsets[var0]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var5 += var27; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); - var4 += var28; - var3 += var26; - var6 += var31; - var0 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } - } - } else if (var1 <= var2) { - if (var1 < Rasterizer3D_clipHeight) { - if (var2 > Rasterizer3D_clipHeight) { - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - var7 = var30 + ((var7 << 9) - var30 * var4); - if (var2 < var0) { - var3 = var4 <<= 14; - if (var1 < 0) { - var3 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } - - var5 <<= 14; - if (var2 < 0) { - var5 -= var28 * var2; - var2 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var0 -= var2; - var2 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var2; - if (var2 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var5 += var28; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else { - var5 = var4 <<= 14; - if (var1 < 0) { - var5 -= var26 * var1; - var4 -= var27 * var1; - var7 -= var31 * var1; - var1 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var28; - var0 = 0; - } - - var41 = var1 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var26 < var27) { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var28; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var5 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var2 -= var0; - var0 -= var1; - var1 = Rasterizer3D_rowOffsets[var1]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var2; - if (var2 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var3 += var28; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); - var5 += var26; - var4 += var27; - var7 += var31; - var1 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { - if (var0 > Rasterizer3D_clipHeight) { - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { - var1 = Rasterizer3D_clipHeight; - } - - var8 = (var8 << 9) - var5 * var30 + var30; - if (var0 < var1) { - var4 = var5 <<= 14; - if (var2 < 0) { - var4 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } - - var3 <<= 14; - if (var0 < 0) { - var3 -= var0 * var26; - var0 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var3 += var26; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var1 -= var0; - var0 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var0; - if (var0 < 0) { - while (true) { - --var1; - if (var1 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var3 += var26; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } else { - var3 = var5 <<= 14; - if (var2 < 0) { - var3 -= var27 * var2; - var5 -= var28 * var2; - var8 -= var31 * var2; - var2 = 0; - } - - var4 <<= 14; - if (var1 < 0) { - var4 -= var26 * var1; - var1 = 0; - } - - var41 = var2 - Rasterizer3D_clipMidY; - var32 += var34 * var41; - var35 += var37 * var41; - var38 += var40 * var41; - if (var27 < var28) { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var26; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var3 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } else { - var0 -= var1; - var1 -= var2; - var2 = Rasterizer3D_rowOffsets[var2]; - - while (true) { - --var1; - if (var1 < 0) { - while (true) { - --var0; - if (var0 < 0) { - return; - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var4 += var26; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); - var3 += var27; - var5 += var28; - var8 += var31; - var2 += Rasterizer2D.Rasterizer2D_width; - var32 += var34; - var35 += var37; - var38 += var40; - } - } - } - } - } - } - } - - @ObfuscatedName("k") - @Export("Rasterizer3D_textureAlpha") - static final void Rasterizer3D_textureAlpha(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) { - if (field1735) { - if (var6 > Rasterizer3D_clipWidth) { - var6 = Rasterizer3D_clipWidth; - } - - if (var5 < 0) { - var5 = 0; - } - } - - if (var5 < var6) { - var4 += var5; - var7 += var5 * var8; - int var17 = var6 - var5; - int var15; - int var16; - int var18; - int var19; - int var20; - int var21; - int var22; - int var23; - if (Rasterizer3D_isLowDetailTexture) { - var23 = var5 - Rasterizer3D_clipMidX; - var9 += var23 * var12; - var10 += var13 * var23; - var11 += var23 * var14; - var22 = var11 >> 12; - if (var22 != 0) { - var18 = var9 / var22; - var19 = var10 / var22; - } else { - var18 = 0; - var19 = 0; - } - - var9 += var17 * var12; - var10 += var13 * var17; - var11 += var17 * var14; - var22 = var11 >> 12; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 20) + var19; - var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 20); - var17 >>= 3; - var8 <<= 3; - var15 = var7 >> 8; - if (field1726) { - if (var17 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - --var17; - } while(var17 > 0); - } - } else { - if (var17 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - --var17; - } while(var17 > 0); - } - } - } else { - var23 = var5 - Rasterizer3D_clipMidX; - var9 += var23 * var12; - var10 += var13 * var23; - var11 += var23 * var14; - var22 = var11 >> 14; - if (var22 != 0) { - var18 = var9 / var22; - var19 = var10 / var22; - } else { - var18 = 0; - var19 = 0; - } - - var9 += var17 * var12; - var10 += var13 * var17; - var11 += var17 * var14; - var22 = var11 >> 14; - if (var22 != 0) { - var20 = var9 / var22; - var21 = var10 / var22; - } else { - var20 = 0; - var21 = 0; - } - - var2 = (var18 << 18) + var19; - var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 18); - var17 >>= 3; - var8 <<= 3; - var15 = var7 >> 8; - if (field1726) { - if (var17 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - var2 += var16; - --var17; - } while(var17 > 0); - } - } else { - if (var17 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - var7 += var8; - var15 = var7 >> 8; - --var17; - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; - if (var17 > 0) { - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; - } - - ++var4; - var2 += var16; - --var17; - } while(var17 > 0); - } - } - } - - } - } - - @ObfuscatedName("w") - static final int method3006(int var0, int var1) { - var1 = (var0 & 127) * var1 >> 7; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - - @ObfuscatedName("m") - static final int method2980(int var0, int var1, int var2, int var3) { - return var0 * var2 + var3 * var1 >> 16; - } - - @ObfuscatedName("o") - static final int method2981(int var0, int var1, int var2, int var3) { - return var2 * var1 - var3 * var0 >> 16; - } - - @ObfuscatedName("a") - static final int method3026(int var0, int var1, int var2, int var3) { - return var0 * var2 - var3 * var1 >> 16; - } - - @ObfuscatedName("b") - static final int method2964(int var0, int var1, int var2, int var3) { - return var3 * var0 + var2 * var1 >> 16; - } - - @ObfuscatedName("ag") - static final int method2983(int var0, int var1, int var2, int var3) { - return var0 * var2 + var3 * var1 >> 16; - } - - @ObfuscatedName("at") - static final int method3000(int var0, int var1, int var2, int var3) { - return var2 * var1 - var3 * var0 >> 16; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ek") +@Implements("Rasterizer3D") +public class Rasterizer3D extends Rasterizer2D { + @ObfuscatedName("z") + static boolean field1733; + @ObfuscatedName("n") + static boolean field1730; + @ObfuscatedName("v") + @Export("Rasterizer3D_isLowDetailTexture") + static boolean Rasterizer3D_isLowDetailTexture; + @ObfuscatedName("u") + public static boolean field1754; + @ObfuscatedName("r") + @Export("Rasterizer3D_alpha") + static int Rasterizer3D_alpha; + @ObfuscatedName("b") + @Export("Rasterizer3D_zoom") + public static int Rasterizer3D_zoom; + @ObfuscatedName("o") + @Export("Rasterizer3D_clipMidX") + static int Rasterizer3D_clipMidX; + @ObfuscatedName("a") + @Export("Rasterizer3D_clipMidY") + static int Rasterizer3D_clipMidY; + @ObfuscatedName("e") + @Export("Rasterizer3D_clipWidth") + static int Rasterizer3D_clipWidth; + @ObfuscatedName("w") + @Export("Rasterizer3D_clipHeight") + static int Rasterizer3D_clipHeight; + @ObfuscatedName("t") + @Export("Rasterizer3D_clipNegativeMidX") + static int Rasterizer3D_clipNegativeMidX; + @ObfuscatedName("g") + @Export("Rasterizer3D_clipMidX2") + static int Rasterizer3D_clipMidX2; + @ObfuscatedName("x") + @Export("Rasterizer3D_clipNegativeMidY") + static int Rasterizer3D_clipNegativeMidY; + @ObfuscatedName("h") + @Export("Rasterizer3D_clipMidY2") + static int Rasterizer3D_clipMidY2; + @ObfuscatedName("s") + @Export("Rasterizer3D_rowOffsets") + static int[] Rasterizer3D_rowOffsets; + @ObfuscatedName("f") + @Export("Rasterizer3D_colorPalette") + public static int[] Rasterizer3D_colorPalette; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lei;" + ) + @Export("Rasterizer3D_textureLoader") + public static TextureLoader Rasterizer3D_textureLoader; + @ObfuscatedName("d") + static int[] field1752; + @ObfuscatedName("l") + static int[] field1753; + @ObfuscatedName("k") + @Export("Rasterizer3D_sine") + public static int[] Rasterizer3D_sine; + @ObfuscatedName("ac") + @Export("Rasterizer3D_cosine") + public static int[] Rasterizer3D_cosine; + + static { + field1733 = false; + field1730 = false; + Rasterizer3D_isLowDetailTexture = false; + field1754 = true; + Rasterizer3D_alpha = 0; + Rasterizer3D_zoom = 512; + Rasterizer3D_rowOffsets = new int[1024]; + Rasterizer3D_colorPalette = new int[65536]; + field1752 = new int[512]; + field1753 = new int[2048]; + Rasterizer3D_sine = new int[2048]; + Rasterizer3D_cosine = new int[2048]; + + int var0; + for (var0 = 1; var0 < 512; ++var0) { + field1752[var0] = 32768 / var0; + } + + for (var0 = 1; var0 < 2048; ++var0) { + field1753[var0] = 65536 / var0; + } + + for (var0 = 0; var0 < 2048; ++var0) { + Rasterizer3D_sine[var0] = (int)(65536.0D * Math.sin((double)var0 * 0.0030679615D)); + Rasterizer3D_cosine[var0] = (int)(65536.0D * Math.cos((double)var0 * 0.0030679615D)); + } + + } + + @ObfuscatedName("z") + @Export("Rasterizer3D_setClipFromRasterizer2D") + public static final void Rasterizer3D_setClipFromRasterizer2D() { + Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); + } + + @ObfuscatedName("n") + @Export("Rasterizer3D_setClip") + static final void Rasterizer3D_setClip(int var0, int var1, int var2, int var3) { + Rasterizer3D_clipWidth = var2 - var0; + Rasterizer3D_clipHeight = var3 - var1; + Rasterizer3D_method3(); + int var4; + int var5; + if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) { + var5 = Rasterizer3D_clipHeight; + --var5; + var5 |= var5 >>> 1; + var5 |= var5 >>> 2; + var5 |= var5 >>> 4; + var5 |= var5 >>> 8; + var5 |= var5 >>> 16; + var4 = var5 + 1; + Rasterizer3D_rowOffsets = new int[var4]; + } + + var4 = var0 + Rasterizer2D.Rasterizer2D_width * var1; + + for (var5 = 0; var5 < Rasterizer3D_clipHeight; ++var5) { + Rasterizer3D_rowOffsets[var5] = var4; + var4 += Rasterizer2D.Rasterizer2D_width; + } + + } + + @ObfuscatedName("v") + @Export("Rasterizer3D_method3") + public static final void Rasterizer3D_method3() { + Rasterizer3D_clipMidX = Rasterizer3D_clipWidth / 2; + Rasterizer3D_clipMidY = Rasterizer3D_clipHeight / 2; + Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; + Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; + Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; + Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; + } + + @ObfuscatedName("u") + public static final void method2988(int var0, int var1) { + int var2 = Rasterizer3D_rowOffsets[0]; + int var3 = var2 / Rasterizer2D.Rasterizer2D_width; + int var4 = var2 - var3 * Rasterizer2D.Rasterizer2D_width; + Rasterizer3D_clipMidX = var0 - var4; + Rasterizer3D_clipMidY = var1 - var3; + Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; + Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; + Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; + Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lei;)V" + ) + @Export("Rasterizer3D_setTextureLoader") + public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { + Rasterizer3D_textureLoader = var0; + } + + @ObfuscatedName("p") + @Export("Rasterizer3D_setBrightness") + public static final void Rasterizer3D_setBrightness(double var0) { + Rasterizer3D_buildPalette(var0, 0, 512); + } + + @ObfuscatedName("q") + @Export("Rasterizer3D_buildPalette") + static final void Rasterizer3D_buildPalette(double var0, int var2, int var3) { + int var4 = var2 * 128; + + for (int var5 = var2; var5 < var3; ++var5) { + double var6 = (double)(var5 >> 3) / 64.0D + 0.0078125D; + double var8 = (double)(var5 & 7) / 8.0D + 0.0625D; + + for (int var10 = 0; var10 < 128; ++var10) { + double var11 = (double)var10 / 128.0D; + double var13 = var11; + double var15 = var11; + double var17 = var11; + if (var8 != 0.0D) { + double var19; + if (var11 < 0.5D) { + var19 = var11 * (1.0D + var8); + } else { + var19 = var11 + var8 - var11 * var8; + } + + double var21 = 2.0D * var11 - var19; + double var23 = var6 + 0.3333333333333333D; + if (var23 > 1.0D) { + --var23; + } + + double var27 = var6 - 0.3333333333333333D; + if (var27 < 0.0D) { + ++var27; + } + + if (6.0D * var23 < 1.0D) { + var13 = var21 + (var19 - var21) * 6.0D * var23; + } else if (2.0D * var23 < 1.0D) { + var13 = var19; + } else if (3.0D * var23 < 2.0D) { + var13 = var21 + (var19 - var21) * (0.6666666666666666D - var23) * 6.0D; + } else { + var13 = var21; + } + + if (6.0D * var6 < 1.0D) { + var15 = var21 + (var19 - var21) * 6.0D * var6; + } else if (2.0D * var6 < 1.0D) { + var15 = var19; + } else if (3.0D * var6 < 2.0D) { + var15 = var21 + (var19 - var21) * (0.6666666666666666D - var6) * 6.0D; + } else { + var15 = var21; + } + + if (6.0D * var27 < 1.0D) { + var17 = var21 + (var19 - var21) * 6.0D * var27; + } else if (2.0D * var27 < 1.0D) { + var17 = var19; + } else if (3.0D * var27 < 2.0D) { + var17 = var21 + (var19 - var21) * (0.6666666666666666D - var27) * 6.0D; + } else { + var17 = var21; + } + } + + int var29 = (int)(var13 * 256.0D); + int var20 = (int)(var15 * 256.0D); + int var30 = (int)(var17 * 256.0D); + int var22 = var30 + (var20 << 8) + (var29 << 16); + var22 = Rasterizer3D_brighten(var22, var0); + if (var22 == 0) { + var22 = 1; + } + + Rasterizer3D_colorPalette[var4++] = var22; + } + } + + } + + @ObfuscatedName("m") + @Export("Rasterizer3D_brighten") + static int Rasterizer3D_brighten(int var0, double var1) { + double var3 = (double)(var0 >> 16) / 256.0D; + double var5 = (double)(var0 >> 8 & 255) / 256.0D; + double var7 = (double)(var0 & 255) / 256.0D; + var3 = Math.pow(var3, var1); + var5 = Math.pow(var5, var1); + var7 = Math.pow(var7, var1); + int var9 = (int)(var3 * 256.0D); + int var10 = (int)(var5 * 256.0D); + int var11 = (int)(var7 * 256.0D); + return var11 + (var10 << 8) + (var9 << 16); + } + + @ObfuscatedName("y") + public static void method2968(int var0, int var1, int var2) { + field1733 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; + } + + @ObfuscatedName("i") + static final void method2969(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = var4 - var3; + int var10 = var1 - var0; + int var11 = var5 - var3; + int var12 = var2 - var0; + int var13 = var7 - var6; + int var14 = var8 - var6; + int var15; + if (var2 != var1) { + var15 = (var5 - var4 << 14) / (var2 - var1); + } else { + var15 = 0; + } + + int var16; + if (var0 != var1) { + var16 = (var9 << 14) / var10; + } else { + var16 = 0; + } + + int var17; + if (var0 != var2) { + var17 = (var11 << 14) / var12; + } else { + var17 = 0; + } + + int var18 = var9 * var12 - var11 * var10; + if (var18 != 0) { + int var19 = (var13 * var12 - var14 * var10 << 8) / var18; + int var20 = (var14 * var9 - var13 * var11 << 8) / var18; + if (var0 <= var1 && var0 <= var2) { + if (var0 < Rasterizer3D_clipHeight) { + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + var6 = var19 + ((var6 << 8) - var3 * var19); + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var17; + var3 -= var0 * var16; + var6 -= var0 * var20; + var0 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var15 * var1; + var1 = 0; + } + + if ((var0 == var1 || var17 >= var16) && (var0 != var1 || var17 <= var15)) { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var5 >> 14, var6, var19); + var5 += var17; + var4 += var15; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); + var5 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var4 >> 14, var6, var19); + var5 += var17; + var4 += var15; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); + var5 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var17; + var3 -= var0 * var16; + var6 -= var0 * var20; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var15 * var2; + var2 = 0; + } + + if (var0 != var2 && var17 < var16 || var0 == var2 && var15 > var16) { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); + var5 += var15; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var3 >> 14, var6, var19); + var4 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); + var5 += var15; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var4 >> 14, var6, var19); + var4 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var1 <= var2) { + if (var1 < Rasterizer3D_clipHeight) { + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + var7 = var19 + ((var7 << 8) - var19 * var4); + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var16 * var1; + var4 -= var15 * var1; + var7 -= var20 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var17 * var2; + var2 = 0; + } + + if ((var2 == var1 || var16 >= var15) && (var2 != var1 || var16 <= var17)) { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var3 >> 14, var7, var19); + var3 += var16; + var5 += var17; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); + var3 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var5 >> 14, var7, var19); + var3 += var16; + var5 += var17; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); + var3 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var16 * var1; + var4 -= var15 * var1; + var7 -= var20 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var17; + var0 = 0; + } + + if (var16 < var15) { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); + var3 += var17; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var4 >> 14, var7, var19); + var5 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); + var3 += var17; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var5 >> 14, var7, var19); + var5 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var2 < Rasterizer3D_clipHeight) { + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + var8 = var19 + ((var8 << 8) - var5 * var19); + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var15 * var2; + var5 -= var17 * var2; + var8 -= var20 * var2; + var2 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var16; + var0 = 0; + } + + if (var15 < var17) { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var3 >> 14, var8, var19); + var4 += var15; + var3 += var16; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); + var4 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var4 >> 14, var8, var19); + var4 += var15; + var3 += var16; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); + var4 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var15 * var2; + var5 -= var17 * var2; + var8 -= var20 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var16 * var1; + var1 = 0; + } + + if (var15 < var17) { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); + var4 += var16; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var5 >> 14, var8, var19); + var3 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); + var4 += var16; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var3 >> 14, var8, var19); + var3 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } + } + + @ObfuscatedName("c") + @Export("Rasterizer3D_vertAlpha") + static final void Rasterizer3D_vertAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (field1733) { + if (var5 > Rasterizer3D_clipWidth) { + var5 = Rasterizer3D_clipWidth; + } + + if (var4 < 0) { + var4 = 0; + } + } + + if (var4 < var5) { + var1 += var4; + var6 += var4 * var7; + int var8; + int var9; + int var10; + if (field1754) { + var3 = var5 - var4 >> 2; + var7 <<= 2; + if (Rasterizer3D_alpha == 0) { + if (var3 > 0) { + do { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + --var3; + } while(var3 > 0); + } + + var3 = var5 - var4 & 3; + if (var3 > 0) { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + + do { + var0[var1++] = var2; + --var3; + } while(var3 > 0); + } + } else { + var8 = Rasterizer3D_alpha; + var9 = 256 - Rasterizer3D_alpha; + if (var3 > 0) { + do { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); + --var3; + } while(var3 > 0); + } + + var3 = var5 - var4 & 3; + if (var3 > 0) { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); + + do { + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); + --var3; + } while(var3 > 0); + } + } + + } else { + var3 = var5 - var4; + if (Rasterizer3D_alpha == 0) { + do { + var0[var1++] = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + --var3; + } while(var3 > 0); + } else { + var8 = Rasterizer3D_alpha; + var9 = 256 - Rasterizer3D_alpha; + + do { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); + --var3; + } while(var3 > 0); + } + + } + } + } + + @ObfuscatedName("b") + public static final void method2971(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = 0; + if (var0 != var1) { + var7 = (var4 - var3 << 14) / (var1 - var0); + } + + int var8 = 0; + if (var2 != var1) { + var8 = (var5 - var4 << 14) / (var2 - var1); + } + + int var9 = 0; + if (var0 != var2) { + var9 = (var3 - var5 << 14) / (var0 - var2); + } + + if (var0 <= var1 && var0 <= var2) { + if (var0 < Rasterizer3D_clipHeight) { + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var9; + var3 -= var0 * var7; + var0 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var8 * var1; + var1 = 0; + } + + if (var0 != var1 && var9 < var7 || var0 == var1 && var9 > var8) { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var4 >> 14); + var5 += var9; + var4 += var8; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); + var5 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var5 >> 14); + var5 += var9; + var4 += var8; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); + var5 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var9; + var3 -= var0 * var7; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var8 * var2; + var2 = 0; + } + + if (var0 != var2 && var9 < var7 || var0 == var2 && var8 > var7) { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); + var5 += var8; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14); + var4 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); + var5 += var8; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var4 >> 14); + var4 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var1 <= var2) { + if (var1 < Rasterizer3D_clipHeight) { + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var7 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var9 * var2; + var2 = 0; + } + + if (var2 != var1 && var7 < var8 || var2 == var1 && var7 > var9) { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var5 >> 14); + var3 += var7; + var5 += var9; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); + var3 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var3 >> 14); + var3 += var7; + var5 += var9; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); + var3 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var7 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var9; + var0 = 0; + } + + if (var7 < var8) { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); + var3 += var9; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var4 >> 14); + var5 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); + var3 += var9; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var5 >> 14); + var5 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var2 < Rasterizer3D_clipHeight) { + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var7; + var0 = 0; + } + + if (var8 < var9) { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var3 >> 14); + var4 += var8; + var3 += var7; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); + var4 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var4 >> 14); + var4 += var8; + var3 += var7; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); + var4 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var7 * var1; + var1 = 0; + } + + if (var8 < var9) { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); + var4 += var7; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var5 >> 14); + var3 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); + var4 += var7; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var3 >> 14); + var3 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } + + @ObfuscatedName("o") + @Export("Rasterizer3D_horizAlpha") + static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { + if (field1733) { + if (var5 > Rasterizer3D_clipWidth) { + var5 = Rasterizer3D_clipWidth; + } + + if (var4 < 0) { + var4 = 0; + } + } + + if (var4 < var5) { + var1 += var4; + var3 = var5 - var4 >> 2; + if (Rasterizer3D_alpha != 0) { + if (Rasterizer3D_alpha == 254) { + while (true) { + --var3; + if (var3 < 0) { + var3 = var5 - var4 & 3; + + while (true) { + --var3; + if (var3 < 0) { + return; + } + + var0[var1++] = var0[var1]; + } + } + + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + } + } else { + int var6 = Rasterizer3D_alpha; + int var7 = 256 - Rasterizer3D_alpha; + var2 = (var7 * (var2 & 65280) >> 8 & 65280) + (var7 * (var2 & 16711935) >> 8 & 16711935); + + while (true) { + --var3; + int var8; + if (var3 < 0) { + var3 = var5 - var4 & 3; + + while (true) { + --var3; + if (var3 < 0) { + return; + } + + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); + } + } + + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); + } + } + } else { + while (true) { + --var3; + if (var3 < 0) { + var3 = var5 - var4 & 3; + + while (true) { + --var3; + if (var3 < 0) { + return; + } + + var0[var1++] = var2; + } + } + + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + } + } + } + } + + @ObfuscatedName("a") + static final void method2973(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 = Rasterizer3D_textureLoader.getTexturePixels(var18); + int var20; + if (var19 == null) { + var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); + method2969(var0, var1, var2, var3, var4, var5, method2977(var20, var6), method2977(var20, var7), method2977(var20, var8)); + } else { + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1730 = Rasterizer3D_textureLoader.vmethod3232(var18); + var20 = var4 - var3; + int var21 = var1 - var0; + int var22 = var5 - var3; + int var23 = var2 - var0; + int var24 = var7 - var6; + int var25 = var8 - var6; + int var26 = 0; + if (var0 != var1) { + var26 = (var4 - var3 << 14) / (var1 - var0); + } + + int var27 = 0; + if (var2 != var1) { + var27 = (var5 - var4 << 14) / (var2 - var1); + } + + int var28 = 0; + if (var0 != var2) { + var28 = (var3 - var5 << 14) / (var0 - var2); + } + + int var29 = var20 * var23 - var22 * var21; + if (var29 != 0) { + int var30 = (var24 * var23 - var25 * var21 << 9) / var29; + int var31 = (var25 * var20 - var24 * var22 << 9) / var29; + var10 = var9 - var10; + var13 = var12 - var13; + var16 = var15 - var16; + var11 -= var9; + var14 -= var12; + var17 -= var15; + int var32 = var11 * var12 - var9 * var14 << 14; + int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); + int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); + int var35 = var10 * var12 - var13 * var9 << 14; + int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); + int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); + int var38 = var13 * var11 - var10 * var14 << 14; + int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 3 << 14) / (long)Rasterizer3D_zoom); + int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); + int var41; + if (var0 <= var1 && var0 <= var2) { + if (var0 < Rasterizer3D_clipHeight) { + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + var6 = var30 + ((var6 << 9) - var3 * var30); + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var27 * var1; + var1 = 0; + } + + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if ((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var27 * var2; + var2 = 0; + } + + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if (var1 <= var2) { + if (var1 < Rasterizer3D_clipHeight) { + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + var7 = var30 + ((var7 << 9) - var30 * var4); + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var28 * var2; + var2 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if ((var2 == var1 || var26 >= var27) && (var2 != var1 || var26 <= var28)) { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var28; + var0 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var26 < var27) { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if (var2 < Rasterizer3D_clipHeight) { + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + var8 = (var8 << 9) - var5 * var30 + var30; + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var26; + var0 = 0; + } + + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var26 * var1; + var1 = 0; + } + + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } + } + } + + @ObfuscatedName("e") + @Export("Rasterizer3D_iDontKnow") + static final void Rasterizer3D_iDontKnow(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) { + if (field1733) { + if (var6 > Rasterizer3D_clipWidth) { + var6 = Rasterizer3D_clipWidth; + } + + if (var5 < 0) { + var5 = 0; + } + } + + if (var5 < var6) { + var4 += var5; + var7 += var5 * var8; + int var17 = var6 - var5; + int var15; + int var16; + int var10000; + int var18; + int var19; + int var20; + int var21; + int var22; + int var23; + if (Rasterizer3D_isLowDetailTexture) { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * (var12 >> 3); + var10 += (var13 >> 3) * var23; + var11 += var23 * (var14 >> 3); + var22 = var11 >> 12; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + if (var18 < 0) { + var18 = 0; + } else if (var18 > 4032) { + var18 = 4032; + } + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 4032) { + var20 = 4032; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1730) { + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 4032) { + var20 = 4032; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 4032) { + var20 = 4032; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } else { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * (var12 >> 3); + var10 += (var13 >> 3) * var23; + var11 += var23 * (var14 >> 3); + var22 = var11 >> 14; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + if (var18 < 0) { + var18 = 0; + } else if (var18 > 16256) { + var18 = 16256; + } + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 16256) { + var20 = 16256; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1730) { + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 16256) { + var20 = 16256; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 16256) { + var20 = 16256; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } + + } + } + + @ObfuscatedName("x") + @Export("drawTexturedTile") + static final void drawTexturedTile(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 = Rasterizer3D_textureLoader.getTexturePixels(var18); + int var20; + if (var19 == null) { + var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); + method2969(var0, var1, var2, var3, var4, var5, method2977(var20, var6), method2977(var20, var7), method2977(var20, var8)); + } else { + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1730 = Rasterizer3D_textureLoader.vmethod3232(var18); + var20 = var4 - var3; + int var21 = var1 - var0; + int var22 = var5 - var3; + int var23 = var2 - var0; + int var24 = var7 - var6; + int var25 = var8 - var6; + int var26 = 0; + if (var0 != var1) { + var26 = (var4 - var3 << 14) / (var1 - var0); + } + + int var27 = 0; + if (var2 != var1) { + var27 = (var5 - var4 << 14) / (var2 - var1); + } + + int var28 = 0; + if (var0 != var2) { + var28 = (var3 - var5 << 14) / (var0 - var2); + } + + int var29 = var20 * var23 - var22 * var21; + if (var29 != 0) { + int var30 = (var24 * var23 - var25 * var21 << 9) / var29; + int var31 = (var25 * var20 - var24 * var22 << 9) / var29; + var10 = var9 - var10; + var13 = var12 - var13; + var16 = var15 - var16; + var11 -= var9; + var14 -= var12; + var17 -= var15; + int var32 = var11 * var12 - var9 * var14 << 14; + int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 14) / (long)Rasterizer3D_zoom); + int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); + int var35 = var10 * var12 - var13 * var9 << 14; + int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 14) / (long)Rasterizer3D_zoom); + int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); + int var38 = var13 * var11 - var10 * var14 << 14; + int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 14) / (long)Rasterizer3D_zoom); + int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); + int var41; + if (var0 <= var1 && var0 <= var2) { + if (var0 < Rasterizer3D_clipHeight) { + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + var6 = var30 + ((var6 << 9) - var3 * var30); + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var27 * var1; + var1 = 0; + } + + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var28; + var3 -= var0 * var26; + var6 -= var0 * var31; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var27 * var2; + var2 = 0; + } + + var41 = var0 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if ((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if (var1 <= var2) { + if (var1 < Rasterizer3D_clipHeight) { + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + var7 = var30 + ((var7 << 9) - var30 * var4); + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var28 * var2; + var2 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var2; + if (var2 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var28; + var0 = 0; + } + + var41 = var1 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var26 < var27) { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if (var2 < Rasterizer3D_clipHeight) { + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + var8 = (var8 << 9) - var5 * var30 + var30; + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var26; + var0 = 0; + } + + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var0; + if (var0 < 0) { + while (true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var26 * var1; + var1 = 0; + } + + var41 = var2 - Rasterizer3D_clipMidY; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if (var27 < var28) { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while (true) { + --var1; + if (var1 < 0) { + while (true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } + } + } + + @ObfuscatedName("h") + @Export("Rasterizer3D_textureAlpha") + static final void Rasterizer3D_textureAlpha(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) { + if (field1733) { + if (var6 > Rasterizer3D_clipWidth) { + var6 = Rasterizer3D_clipWidth; + } + + if (var5 < 0) { + var5 = 0; + } + } + + if (var5 < var6) { + var4 += var5; + var7 += var5 * var8; + int var17 = var6 - var5; + int var15; + int var16; + int var18; + int var19; + int var20; + int var21; + int var22; + int var23; + if (Rasterizer3D_isLowDetailTexture) { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * var12; + var10 += var13 * var23; + var11 += var23 * var14; + var22 = var11 >> 12; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var17 * var12; + var10 += var13 * var17; + var11 += var17 * var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 20); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1730) { + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } else { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * var12; + var10 += var13 * var23; + var11 += var23 * var14; + var22 = var11 >> 14; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var17 * var12; + var10 += var13 * var17; + var11 += var17 * var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 18); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1730) { + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } + + } + } + + @ObfuscatedName("s") + static final int method2977(int var0, int var1) { + var1 = (var0 & 127) * var1 >> 7; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 65408) + var1; + } + + @ObfuscatedName("f") + static final int method2978(int var0, int var1, int var2, int var3) { + return var0 * var2 + var3 * var1 >> 16; + } + + @ObfuscatedName("j") + static final int method2979(int var0, int var1, int var2, int var3) { + return var2 * var1 - var3 * var0 >> 16; + } + + @ObfuscatedName("d") + static final int method2980(int var0, int var1, int var2, int var3) { + return var0 * var2 - var3 * var1 >> 16; + } + + @ObfuscatedName("l") + static final int method2981(int var0, int var1, int var2, int var3) { + return var3 * var0 + var2 * var1 >> 16; + } + + @ObfuscatedName("k") + static final int method2982(int var0, int var1, int var2, int var3) { + return var0 * var2 + var3 * var1 >> 16; + } + + @ObfuscatedName("ac") + static final int method2974(int var0, int var1, int var2, int var3) { + return var2 * var1 - var3 * var0 >> 16; + } +} diff --git a/runescape-client/src/main/java/RawPcmStream.java b/runescape-client/src/main/java/RawPcmStream.java index 8021ebaf0e..1530b45f59 100644 --- a/runescape-client/src/main/java/RawPcmStream.java +++ b/runescape-client/src/main/java/RawPcmStream.java @@ -1,1565 +1,1565 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("da") -@Implements("RawPcmStream") -public class RawPcmStream extends PcmStream { - @ObfuscatedName("c") - int field1435; - @ObfuscatedName("x") - int field1433; - @ObfuscatedName("t") - int field1434; - @ObfuscatedName("g") - int field1438; - @ObfuscatedName("l") - int field1436; - @ObfuscatedName("u") - int field1437; - @ObfuscatedName("j") - int field1432; - @ObfuscatedName("v") - @Export("numLoops") - int numLoops; - @ObfuscatedName("d") - @Export("start") - int start; - @ObfuscatedName("z") - @Export("end") - int end; - @ObfuscatedName("n") - boolean field1442; - @ObfuscatedName("h") - int field1443; - @ObfuscatedName("f") - int field1444; - @ObfuscatedName("s") - int field1445; - @ObfuscatedName("p") - int field1446; - - @ObfuscatedSignature( - signature = "(Lcg;III)V" - ) - RawPcmStream(RawSound var1, int var2, int var3, int var4) { - super.sound = var1; - this.start = var1.start; - this.end = var1.end; - this.field1442 = var1.field1358; - this.field1433 = var2; - this.field1434 = var3; - this.field1438 = var4; - this.field1435 = 0; - this.method2512(); - } - - @ObfuscatedSignature( - signature = "(Lcg;II)V" - ) - RawPcmStream(RawSound var1, int var2, int var3) { - super.sound = var1; - this.start = var1.start; - this.end = var1.end; - this.field1442 = var1.field1358; - this.field1433 = var2; - this.field1434 = var3; - this.field1438 = 8192; - this.field1435 = 0; - this.method2512(); - } - - @ObfuscatedName("l") - void method2512() { - this.field1436 = this.field1434; - this.field1437 = method2647(this.field1434, this.field1438); - this.field1432 = method2508(this.field1434, this.field1438); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - return null; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "()Ldg;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - return null; - } - - @ObfuscatedName("v") - protected int vmethod3881() { - return this.field1434 == 0 && this.field1443 == 0 ? 0 : 1; - } - - @ObfuscatedName("d") - @Export("fill") - public synchronized void fill(int[] var1, int var2, int var3) { - if (this.field1434 == 0 && this.field1443 == 0) { - this.skip(var3); - } else { - RawSound var4 = (RawSound)super.sound; - int var5 = this.start << 8; - int var6 = this.end << 8; - int var7 = var4.samples.length << 8; - int var8 = var6 - var5; - if (var8 <= 0) { - this.numLoops = 0; - } - - int var9 = var2; - var3 += var2; - if (this.field1435 < 0) { - if (this.field1433 <= 0) { - this.method2521(); - this.remove(); - return; - } - - this.field1435 = 0; - } - - if (this.field1435 >= var7) { - if (this.field1433 >= 0) { - this.method2521(); - this.remove(); - return; - } - - this.field1435 = var7 - 1; - } - - if (this.numLoops < 0) { - if (this.field1442) { - if (this.field1433 < 0) { - var9 = this.method2544(var1, var2, var5, var3, var4.samples[this.start]); - if (this.field1435 >= var5) { - return; - } - - this.field1435 = var5 + var5 - 1 - this.field1435; - this.field1433 = -this.field1433; - } - - while (true) { - var9 = this.method2568(var1, var9, var6, var3, var4.samples[this.end - 1]); - if (this.field1435 < var6) { - return; - } - - this.field1435 = var6 + var6 - 1 - this.field1435; - this.field1433 = -this.field1433; - var9 = this.method2544(var1, var9, var5, var3, var4.samples[this.start]); - if (this.field1435 >= var5) { - return; - } - - this.field1435 = var5 + var5 - 1 - this.field1435; - this.field1433 = -this.field1433; - } - } else if (this.field1433 < 0) { - while (true) { - var9 = this.method2544(var1, var9, var5, var3, var4.samples[this.end - 1]); - if (this.field1435 >= var5) { - return; - } - - this.field1435 = var6 - 1 - (var6 - 1 - this.field1435) % var8; - } - } else { - while (true) { - var9 = this.method2568(var1, var9, var6, var3, var4.samples[this.start]); - if (this.field1435 < var6) { - return; - } - - this.field1435 = var5 + (this.field1435 - var5) % var8; - } - } - } else { - if (this.numLoops > 0) { - if (this.field1442) { - label139: { - if (this.field1433 < 0) { - var9 = this.method2544(var1, var2, var5, var3, var4.samples[this.start]); - if (this.field1435 >= var5) { - return; - } - - this.field1435 = var5 + var5 - 1 - this.field1435; - this.field1433 = -this.field1433; - if (--this.numLoops == 0) { - break label139; - } - } - - do { - var9 = this.method2568(var1, var9, var6, var3, var4.samples[this.end - 1]); - if (this.field1435 < var6) { - return; - } - - this.field1435 = var6 + var6 - 1 - this.field1435; - this.field1433 = -this.field1433; - if (--this.numLoops == 0) { - break; - } - - var9 = this.method2544(var1, var9, var5, var3, var4.samples[this.start]); - if (this.field1435 >= var5) { - return; - } - - this.field1435 = var5 + var5 - 1 - this.field1435; - this.field1433 = -this.field1433; - } while(--this.numLoops != 0); - } - } else { - int var10; - if (this.field1433 < 0) { - while (true) { - var9 = this.method2544(var1, var9, var5, var3, var4.samples[this.end - 1]); - if (this.field1435 >= var5) { - return; - } - - var10 = (var6 - 1 - this.field1435) / var8; - if (var10 >= this.numLoops) { - this.field1435 += var8 * this.numLoops; - this.numLoops = 0; - break; - } - - this.field1435 += var8 * var10; - this.numLoops -= var10; - } - } else { - while (true) { - var9 = this.method2568(var1, var9, var6, var3, var4.samples[this.start]); - if (this.field1435 < var6) { - return; - } - - var10 = (this.field1435 - var5) / var8; - if (var10 >= this.numLoops) { - this.field1435 -= var8 * this.numLoops; - this.numLoops = 0; - break; - } - - this.field1435 -= var8 * var10; - this.numLoops -= var10; - } - } - } - } - - if (this.field1433 < 0) { - this.method2544(var1, var9, 0, var3, 0); - if (this.field1435 < 0) { - this.field1435 = -1; - this.method2521(); - this.remove(); - } - } else { - this.method2568(var1, var9, var7, var3, 0); - if (this.field1435 >= var7) { - this.field1435 = var7; - this.method2521(); - this.remove(); - } - } - - } - } - } - - @ObfuscatedName("z") - @Export("setNumLoops") - public synchronized void setNumLoops(int var1) { - this.numLoops = var1; - } - - @ObfuscatedName("s") - @Export("skip") - public synchronized void skip(int var1) { - if (this.field1443 > 0) { - if (var1 >= this.field1443) { - if (this.field1434 == Integer.MIN_VALUE) { - this.field1434 = 0; - this.field1432 = 0; - this.field1437 = 0; - this.field1436 = 0; - this.remove(); - var1 = this.field1443; - } - - this.field1443 = 0; - this.method2512(); - } else { - this.field1436 += this.field1444 * var1; - this.field1437 += this.field1445 * var1; - this.field1432 += this.field1446 * var1; - this.field1443 -= var1; - } - } - - RawSound var2 = (RawSound)super.sound; - int var3 = this.start << 8; - int var4 = this.end << 8; - int var5 = var2.samples.length << 8; - int var6 = var4 - var3; - if (var6 <= 0) { - this.numLoops = 0; - } - - if (this.field1435 < 0) { - if (this.field1433 <= 0) { - this.method2521(); - this.remove(); - return; - } - - this.field1435 = 0; - } - - if (this.field1435 >= var5) { - if (this.field1433 >= 0) { - this.method2521(); - this.remove(); - return; - } - - this.field1435 = var5 - 1; - } - - this.field1435 += this.field1433 * var1; - if (this.numLoops < 0) { - if (!this.field1442) { - if (this.field1433 < 0) { - if (this.field1435 >= var3) { - return; - } - - this.field1435 = var4 - 1 - (var4 - 1 - this.field1435) % var6; - } else { - if (this.field1435 < var4) { - return; - } - - this.field1435 = var3 + (this.field1435 - var3) % var6; - } - - } else { - if (this.field1433 < 0) { - if (this.field1435 >= var3) { - return; - } - - this.field1435 = var3 + var3 - 1 - this.field1435; - this.field1433 = -this.field1433; - } - - while (this.field1435 >= var4) { - this.field1435 = var4 + var4 - 1 - this.field1435; - this.field1433 = -this.field1433; - if (this.field1435 >= var3) { - return; - } - - this.field1435 = var3 + var3 - 1 - this.field1435; - this.field1433 = -this.field1433; - } - - } - } else { - if (this.numLoops > 0) { - if (this.field1442) { - label126: { - if (this.field1433 < 0) { - if (this.field1435 >= var3) { - return; - } - - this.field1435 = var3 + var3 - 1 - this.field1435; - this.field1433 = -this.field1433; - if (--this.numLoops == 0) { - break label126; - } - } - - do { - if (this.field1435 < var4) { - return; - } - - this.field1435 = var4 + var4 - 1 - this.field1435; - this.field1433 = -this.field1433; - if (--this.numLoops == 0) { - break; - } - - if (this.field1435 >= var3) { - return; - } - - this.field1435 = var3 + var3 - 1 - this.field1435; - this.field1433 = -this.field1433; - } while(--this.numLoops != 0); - } - } else { - int var7; - if (this.field1433 < 0) { - if (this.field1435 >= var3) { - return; - } - - var7 = (var4 - 1 - this.field1435) / var6; - if (var7 < this.numLoops) { - this.field1435 += var6 * var7; - this.numLoops -= var7; - return; - } - - this.field1435 += var6 * this.numLoops; - this.numLoops = 0; - } else { - if (this.field1435 < var4) { - return; - } - - var7 = (this.field1435 - var3) / var6; - if (var7 < this.numLoops) { - this.field1435 -= var6 * var7; - this.numLoops -= var7; - return; - } - - this.field1435 -= var6 * this.numLoops; - this.numLoops = 0; - } - } - } - - if (this.field1433 < 0) { - if (this.field1435 < 0) { - this.field1435 = -1; - this.method2521(); - this.remove(); - } - } else if (this.field1435 >= var5) { - this.field1435 = var5; - this.method2521(); - this.remove(); - } - - } - } - - @ObfuscatedName("p") - public synchronized void method2514(int var1) { - this.method2532(var1 << 6, this.method2518()); - } - - @ObfuscatedName("e") - synchronized void method2515(int var1) { - this.method2532(var1, this.method2518()); - } - - @ObfuscatedName("i") - synchronized void method2532(int var1, int var2) { - this.field1434 = var1; - this.field1438 = var2; - this.field1443 = 0; - this.method2512(); - } - - @ObfuscatedName("q") - public synchronized int method2517() { - return this.field1434 == Integer.MIN_VALUE ? 0 : this.field1434; - } - - @ObfuscatedName("r") - public synchronized int method2518() { - return this.field1438 < 0 ? -1 : this.field1438; - } - - @ObfuscatedName("k") - public synchronized void method2569(int var1) { - int var2 = ((RawSound)super.sound).samples.length << 8; - if (var1 < -1) { - var1 = -1; - } - - if (var1 > var2) { - var1 = var2; - } - - this.field1435 = var1; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Z)V", - garbageValue = "1" - ) - public synchronized void method2548() { - this.field1433 = (this.field1433 ^ this.field1433 >> 31) + (this.field1433 >>> 31); - this.field1433 = -this.field1433; - } - - @ObfuscatedName("m") - void method2521() { - if (this.field1443 != 0) { - if (this.field1434 == Integer.MIN_VALUE) { - this.field1434 = 0; - } - - this.field1443 = 0; - this.method2512(); - } - - } - - @ObfuscatedName("o") - public synchronized void method2522(int var1, int var2) { - this.method2523(var1, var2, this.method2518()); - } - - @ObfuscatedName("a") - public synchronized void method2523(int var1, int var2, int var3) { - if (var1 == 0) { - this.method2532(var2, var3); - } else { - int var4 = method2647(var2, var3); - int var5 = method2508(var2, var3); - if (var4 == this.field1437 && var5 == this.field1432) { - this.field1443 = 0; - } else { - int var6 = var2 - this.field1436; - if (this.field1436 - var2 > var6) { - var6 = this.field1436 - var2; - } - - if (var4 - this.field1437 > var6) { - var6 = var4 - this.field1437; - } - - if (this.field1437 - var4 > var6) { - var6 = this.field1437 - var4; - } - - if (var5 - this.field1432 > var6) { - var6 = var5 - this.field1432; - } - - if (this.field1432 - var5 > var6) { - var6 = this.field1432 - var5; - } - - if (var1 > var6) { - var1 = var6; - } - - this.field1443 = var1; - this.field1434 = var2; - this.field1438 = var3; - this.field1444 = (var2 - this.field1436) / var1; - this.field1445 = (var4 - this.field1437) / var1; - this.field1446 = (var5 - this.field1432) / var1; - } - } - } - - @ObfuscatedName("b") - public synchronized void method2541(int var1) { - if (var1 == 0) { - this.method2515(0); - this.remove(); - } else if (this.field1437 == 0 && this.field1432 == 0) { - this.field1443 = 0; - this.field1434 = 0; - this.field1436 = 0; - this.remove(); - } else { - int var2 = -this.field1436; - if (this.field1436 > var2) { - var2 = this.field1436; - } - - if (-this.field1437 > var2) { - var2 = -this.field1437; - } - - if (this.field1437 > var2) { - var2 = this.field1437; - } - - if (-this.field1432 > var2) { - var2 = -this.field1432; - } - - if (this.field1432 > var2) { - var2 = this.field1432; - } - - if (var1 > var2) { - var1 = var2; - } - - this.field1443 = var1; - this.field1434 = Integer.MIN_VALUE; - this.field1444 = -this.field1436 / var1; - this.field1445 = -this.field1437 / var1; - this.field1446 = -this.field1432 / var1; - } - } - - @ObfuscatedName("ag") - public synchronized void method2525(int var1) { - if (this.field1433 < 0) { - this.field1433 = -var1; - } else { - this.field1433 = var1; - } - - } - - @ObfuscatedName("at") - public synchronized int method2604() { - return this.field1433 < 0 ? -this.field1433 : this.field1433; - } - - @ObfuscatedName("ax") - public boolean method2583() { - return this.field1435 < 0 || this.field1435 >= ((RawSound)super.sound).samples.length << 8; - } - - @ObfuscatedName("aj") - public boolean method2606() { - return this.field1443 != 0; - } - - @ObfuscatedName("ab") - int method2568(int[] var1, int var2, int var3, int var4, int var5) { - while (true) { - if (this.field1443 > 0) { - int var6 = var2 + this.field1443; - if (var6 > var4) { - var6 = var4; - } - - this.field1443 += var2; - if (this.field1433 == 256 && (this.field1435 & 255) == 0) { - if (PcmPlayer.PcmPlayer_stereo) { - var2 = method2546(0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, this.field1445, this.field1446, 0, var6, var3, this); - } else { - var2 = method2545(((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, this.field1444, 0, var6, var3, this); - } - } else if (PcmPlayer.PcmPlayer_stereo) { - var2 = method2550(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, this.field1445, this.field1446, 0, var6, var3, this, this.field1433, var5); - } else { - var2 = method2645(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, this.field1444, 0, var6, var3, this, this.field1433, var5); - } - - this.field1443 -= var2; - if (this.field1443 != 0) { - return var2; - } - - if (!this.method2526()) { - continue; - } - - return var4; - } - - if (this.field1433 == 256 && (this.field1435 & 255) == 0) { - if (PcmPlayer.PcmPlayer_stereo) { - return method2538(0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, 0, var4, var3, this); - } - - return method2537(((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, 0, var4, var3, this); - } - - if (PcmPlayer.PcmPlayer_stereo) { - return method2623(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, 0, var4, var3, this, this.field1433, var5); - } - - return method2631(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, 0, var4, var3, this, this.field1433, var5); - } - } - - @ObfuscatedName("ak") - int method2544(int[] var1, int var2, int var3, int var4, int var5) { - while (true) { - if (this.field1443 > 0) { - int var6 = var2 + this.field1443; - if (var6 > var4) { - var6 = var4; - } - - this.field1443 += var2; - if (this.field1433 == -256 && (this.field1435 & 255) == 0) { - if (PcmPlayer.PcmPlayer_stereo) { - var2 = method2535(0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, this.field1445, this.field1446, 0, var6, var3, this); - } else { - var2 = method2547(((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, this.field1444, 0, var6, var3, this); - } - } else if (PcmPlayer.PcmPlayer_stereo) { - var2 = method2552(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, this.field1445, this.field1446, 0, var6, var3, this, this.field1433, var5); - } else { - var2 = method2551(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, this.field1444, 0, var6, var3, this, this.field1433, var5); - } - - this.field1443 -= var2; - if (this.field1443 != 0) { - return var2; - } - - if (!this.method2526()) { - continue; - } - - return var4; - } - - if (this.field1433 == -256 && (this.field1435 & 255) == 0) { - if (PcmPlayer.PcmPlayer_stereo) { - return method2540(0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, 0, var4, var3, this); - } - - return method2539(((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, 0, var4, var3, this); - } - - if (PcmPlayer.PcmPlayer_stereo) { - return method2564(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1437, this.field1432, 0, var4, var3, this, this.field1433, var5); - } - - return method2543(0, 0, ((RawSound)super.sound).samples, var1, this.field1435, var2, this.field1436, 0, var4, var3, this, this.field1433, var5); - } - } - - @ObfuscatedName("ay") - boolean method2526() { - int var1 = this.field1434; - int var2; - int var3; - if (var1 == Integer.MIN_VALUE) { - var3 = 0; - var2 = 0; - var1 = 0; - } else { - var2 = method2647(var1, this.field1438); - var3 = method2508(var1, this.field1438); - } - - if (var1 == this.field1436 && var2 == this.field1437 && var3 == this.field1432) { - if (this.field1434 == Integer.MIN_VALUE) { - this.field1434 = 0; - this.field1432 = 0; - this.field1437 = 0; - this.field1436 = 0; - this.remove(); - return true; - } else { - this.method2512(); - return false; - } - } else { - if (this.field1436 < var1) { - this.field1444 = 1; - this.field1443 = var1 - this.field1436; - } else if (this.field1436 > var1) { - this.field1444 = -1; - this.field1443 = this.field1436 - var1; - } else { - this.field1444 = 0; - } - - if (this.field1437 < var2) { - this.field1445 = 1; - if (this.field1443 == 0 || this.field1443 > var2 - this.field1437) { - this.field1443 = var2 - this.field1437; - } - } else if (this.field1437 > var2) { - this.field1445 = -1; - if (this.field1443 == 0 || this.field1443 > this.field1437 - var2) { - this.field1443 = this.field1437 - var2; - } - } else { - this.field1445 = 0; - } - - if (this.field1432 < var3) { - this.field1446 = 1; - if (this.field1443 == 0 || this.field1443 > var3 - this.field1432) { - this.field1443 = var3 - this.field1432; - } - } else if (this.field1432 > var3) { - this.field1446 = -1; - if (this.field1443 == 0 || this.field1443 > this.field1432 - var3) { - this.field1443 = this.field1432 - var3; - } - } else { - this.field1446 = 0; - } - - return false; - } - } - - @ObfuscatedName("ah") - int vmethod2673() { - int var1 = this.field1436 * 3 >> 6; - var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); - if (this.numLoops == 0) { - var1 -= var1 * this.field1435 / (((RawSound)super.sound).samples.length << 8); - } else if (this.numLoops >= 0) { - var1 -= var1 * this.start / ((RawSound)super.sound).samples.length; - } - - return var1 > 255 ? 255 : var1; - } - - @ObfuscatedName("c") - static int method2647(int var0, int var1) { - return var1 < 0 ? var0 : (int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); - } - - @ObfuscatedName("x") - static int method2508(int var0, int var1) { - return var1 < 0 ? -var0 : (int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lcg;II)Lda;" - ) - @Export("createRawPcmStream") - public static RawPcmStream createRawPcmStream(RawSound var0, int var1, int var2) { - return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, (int)((long)var0.sampleRate * 256L * (long)var1 / (long)(GrandExchangeOfferWorldComparator.PcmPlayer_sampleRate * 100)), var2 << 6) : null; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lcg;III)Lda;" - ) - public static RawPcmStream method2511(RawSound var0, int var1, int var2, int var3) { - return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "([B[IIIIIIILda;)I" - ) - static int method2537(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { - var2 >>= 8; - var7 >>= 8; - var4 <<= 2; - if ((var5 = var3 + var7 - var2) > var6) { - var5 = var6; - } - - int var10001; - for (var5 -= 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - var10001 = var3++; - } - - for (var5 += 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { - var10001 = var3++; - } - - var8.field1435 = var2 << 8; - return var3; - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIILda;)I" - ) - static int method2538(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { - var3 >>= 8; - var9 >>= 8; - var5 <<= 2; - var6 <<= 2; - if ((var7 = var4 + var9 - var3) > var8) { - var7 = var8; - } - - var4 <<= 1; - var7 <<= 1; - - int var10001; - byte var11; - for (var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { - var11 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - var2[var10001] += var11 * var6; - var11 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - var2[var10001] += var11 * var6; - var11 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - var2[var10001] += var11 * var6; - var11 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - } - - for (var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { - var11 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - } - - var10.field1435 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "([B[IIIIIIILda;)I" - ) - static int method2539(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { - var2 >>= 8; - var7 >>= 8; - var4 <<= 2; - if ((var5 = var3 + var2 - (var7 - 1)) > var6) { - var5 = var6; - } - - int var10001; - for (var5 -= 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - var10001 = var3++; - } - - for (var5 += 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { - var10001 = var3++; - } - - var8.field1435 = var2 << 8; - return var3; - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIILda;)I" - ) - static int method2540(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { - var3 >>= 8; - var9 >>= 8; - var5 <<= 2; - var6 <<= 2; - if ((var7 = var3 + var4 - (var9 - 1)) > var8) { - var7 = var8; - } - - var4 <<= 1; - var7 <<= 1; - - int var10001; - byte var11; - for (var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { - var11 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - var2[var10001] += var11 * var6; - var11 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - var2[var10001] += var11 * var6; - var11 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - var2[var10001] += var11 * var6; - var11 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - } - - for (var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { - var11 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var11 * var5; - var10001 = var4++; - } - - var10.field1435 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIILda;II)I" - ) - static int method2631(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { - if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 257) / var11) > var8) { - var7 = var8; - } - - byte var13; - int var10001; - while (var5 < var7) { - var1 = var4 >> 8; - var13 = var2[var1]; - var10001 = var5++; - var3[var10001] += ((var13 << 8) + (var2[var1 + 1] - var13) * (var4 & 255)) * var6 >> 6; - var4 += var11; - } - - if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 1) / var11) > var8) { - var7 = var8; - } - - for (var1 = var12; var5 < var7; var4 += var11) { - var13 = var2[var4 >> 8]; - var10001 = var5++; - var3[var10001] += ((var13 << 8) + (var1 - var13) * (var4 & 255)) * var6 >> 6; - } - - var10.field1435 = var4; - return var5; - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILda;II)I" - ) - static int method2623(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { - var8 = var9; - } - - var5 <<= 1; - - byte var14; - int var10001; - for (var8 <<= 1; var5 < var8; var4 += var12) { - var1 = var4 >> 8; - var14 = var2[var1]; - var0 = (var14 << 8) + (var4 & 255) * (var2[var1 + 1] - var14); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - } - - if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12 - 1) / var12) > var9) { - var8 = var9; - } - - var8 <<= 1; - - for (var1 = var13; var5 < var8; var4 += var12) { - var14 = var2[var4 >> 8]; - var0 = (var14 << 8) + (var1 - var14) * (var4 & 255); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - } - - var11.field1435 = var4; - return var5 >> 1; - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIILda;II)I" - ) - static int method2543(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { - if (var11 == 0 || (var7 = var5 + (var11 + (var9 + 256 - var4)) / var11) > var8) { - var7 = var8; - } - - int var10001; - while (var5 < var7) { - var1 = var4 >> 8; - byte var13 = var2[var1 - 1]; - var10001 = var5++; - var3[var10001] += ((var13 << 8) + (var2[var1] - var13) * (var4 & 255)) * var6 >> 6; - var4 += var11; - } - - if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4)) / var11) > var8) { - var7 = var8; - } - - var0 = var12; - - for (var1 = var11; var5 < var7; var4 += var1) { - var10001 = var5++; - var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; - } - - var10.field1435 = var4; - return var5; - } - - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILda;II)I" - ) - static int method2564(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { - var8 = var9; - } - - var5 <<= 1; - - int var10001; - for (var8 <<= 1; var5 < var8; var4 += var12) { - var1 = var4 >> 8; - byte var14 = var2[var1 - 1]; - var0 = (var2[var1] - var14) * (var4 & 255) + (var14 << 8); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - } - - if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12) / var12) > var9) { - var8 = var9; - } - - var8 <<= 1; - - for (var1 = var13; var5 < var8; var4 += var12) { - var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - } - - var11.field1435 = var4; - return var5 >> 1; - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "([B[IIIIIIIILda;)I" - ) - static int method2545(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { - var2 >>= 8; - var8 >>= 8; - var4 <<= 2; - var5 <<= 2; - if ((var6 = var3 + var8 - var2) > var7) { - var6 = var7; - } - - var9.field1437 += var9.field1445 * (var6 - var3); - var9.field1432 += var9.field1446 * (var6 - var3); - - int var10001; - for (var6 -= 3; var3 < var6; var4 += var5) { - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - var4 += var5; - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - var4 += var5; - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - var4 += var5; - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - } - - for (var6 += 3; var3 < var6; var4 += var5) { - var10001 = var3++; - var1[var10001] += var0[var2++] * var4; - } - - var9.field1436 = var4 >> 2; - var9.field1435 = var2 << 8; - return var3; - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIIIILda;)I" - ) - static int method2546(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { - var3 >>= 8; - var11 >>= 8; - var5 <<= 2; - var6 <<= 2; - var7 <<= 2; - var8 <<= 2; - if ((var9 = var11 + var4 - var3) > var10) { - var9 = var10; - } - - var12.field1436 += var12.field1444 * (var9 - var4); - var4 <<= 1; - var9 <<= 1; - - byte var13; - int var10001; - for (var9 -= 6; var4 < var9; var6 += var8) { - var13 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - var6 += var8; - var13 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - var6 += var8; - var13 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - var6 += var8; - var13 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - } - - for (var9 += 6; var4 < var9; var6 += var8) { - var13 = var1[var3++]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - } - - var12.field1437 = var5 >> 2; - var12.field1432 = var6 >> 2; - var12.field1435 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "([B[IIIIIIIILda;)I" - ) - static int method2547(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { - var2 >>= 8; - var8 >>= 8; - var4 <<= 2; - var5 <<= 2; - if ((var6 = var3 + var2 - (var8 - 1)) > var7) { - var6 = var7; - } - - var9.field1437 += var9.field1445 * (var6 - var3); - var9.field1432 += var9.field1446 * (var6 - var3); - - int var10001; - for (var6 -= 3; var3 < var6; var4 += var5) { - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - var4 += var5; - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - var4 += var5; - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - var4 += var5; - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - } - - for (var6 += 3; var3 < var6; var4 += var5) { - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; - } - - var9.field1436 = var4 >> 2; - var9.field1435 = var2 << 8; - return var3; - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "(I[B[IIIIIIIIIILda;)I" - ) - static int method2535(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { - var3 >>= 8; - var11 >>= 8; - var5 <<= 2; - var6 <<= 2; - var7 <<= 2; - var8 <<= 2; - if ((var9 = var3 + var4 - (var11 - 1)) > var10) { - var9 = var10; - } - - var12.field1436 += var12.field1444 * (var9 - var4); - var4 <<= 1; - var9 <<= 1; - - byte var13; - int var10001; - for (var9 -= 6; var4 < var9; var6 += var8) { - var13 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - var6 += var8; - var13 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - var6 += var8; - var13 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - var6 += var8; - var13 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - } - - for (var9 += 6; var4 < var9; var6 += var8) { - var13 = var1[var3--]; - var10001 = var4++; - var2[var10001] += var13 * var5; - var5 += var7; - var10001 = var4++; - var2[var10001] += var13 * var6; - } - - var12.field1437 = var5 >> 2; - var12.field1432 = var6 >> 2; - var12.field1435 = var3 << 8; - return var4 >> 1; - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILda;II)I" - ) - static int method2645(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - var11.field1437 -= var11.field1445 * var5; - var11.field1432 -= var11.field1446 * var5; - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { - var8 = var9; - } - - byte var14; - int var10001; - while (var5 < var8) { - var1 = var4 >> 8; - var14 = var2[var1]; - var10001 = var5++; - var3[var10001] += ((var14 << 8) + (var2[var1 + 1] - var14) * (var4 & 255)) * var6 >> 6; - var6 += var7; - var4 += var12; - } - - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 1) / var12) > var9) { - var8 = var9; - } - - for (var1 = var13; var5 < var8; var4 += var12) { - var14 = var2[var4 >> 8]; - var10001 = var5++; - var3[var10001] += ((var14 << 8) + (var1 - var14) * (var4 & 255)) * var6 >> 6; - var6 += var7; - } - - var11.field1437 += var11.field1445 * var5; - var11.field1432 += var11.field1446 * var5; - var11.field1436 = var6; - var11.field1435 = var4; - return var5; - } - - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIIIILda;II)I" - ) - static int method2550(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { - var13.field1436 -= var5 * var13.field1444; - if (var14 == 0 || (var10 = var5 + (var12 - var4 + var14 - 257) / var14) > var11) { - var10 = var11; - } - - var5 <<= 1; - - byte var16; - int var10001; - for (var10 <<= 1; var5 < var10; var4 += var14) { - var1 = var4 >> 8; - var16 = var2[var1]; - var0 = (var16 << 8) + (var4 & 255) * (var2[var1 + 1] - var16); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var6 += var8; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - var7 += var9; - } - - if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14 - 1) / var14) > var11) { - var10 = var11; - } - - var10 <<= 1; - - for (var1 = var15; var5 < var10; var4 += var14) { - var16 = var2[var4 >> 8]; - var0 = (var16 << 8) + (var1 - var16) * (var4 & 255); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var6 += var8; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - var7 += var9; - } - - var5 >>= 1; - var13.field1436 += var13.field1444 * var5; - var13.field1437 = var6; - var13.field1432 = var7; - var13.field1435 = var4; - return var5; - } - - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIILda;II)I" - ) - static int method2551(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - var11.field1437 -= var11.field1445 * var5; - var11.field1432 -= var11.field1446 * var5; - if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { - var8 = var9; - } - - int var10001; - while (var5 < var8) { - var1 = var4 >> 8; - byte var14 = var2[var1 - 1]; - var10001 = var5++; - var3[var10001] += ((var14 << 8) + (var2[var1] - var14) * (var4 & 255)) * var6 >> 6; - var6 += var7; - var4 += var12; - } - - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12) / var12) > var9) { - var8 = var9; - } - - var0 = var13; - - for (var1 = var12; var5 < var8; var4 += var1) { - var10001 = var5++; - var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; - var6 += var7; - } - - var11.field1437 += var11.field1445 * var5; - var11.field1432 += var11.field1446 * var5; - var11.field1436 = var6; - var11.field1435 = var4; - return var5; - } - - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "(II[B[IIIIIIIIIILda;II)I" - ) - static int method2552(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { - var13.field1436 -= var5 * var13.field1444; - if (var14 == 0 || (var10 = var5 + (var12 + 256 - var4 + var14) / var14) > var11) { - var10 = var11; - } - - var5 <<= 1; - - int var10001; - for (var10 <<= 1; var5 < var10; var4 += var14) { - var1 = var4 >> 8; - byte var16 = var2[var1 - 1]; - var0 = (var2[var1] - var16) * (var4 & 255) + (var16 << 8); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var6 += var8; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - var7 += var9; - } - - if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14) / var14) > var11) { - var10 = var11; - } - - var10 <<= 1; - - for (var1 = var15; var5 < var10; var4 += var14) { - var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); - var10001 = var5++; - var3[var10001] += var0 * var6 >> 6; - var6 += var8; - var10001 = var5++; - var3[var10001] += var0 * var7 >> 6; - var7 += var9; - } - - var5 >>= 1; - var13.field1436 += var13.field1444 * var5; - var13.field1437 = var6; - var13.field1432 = var7; - var13.field1435 = var4; - return var5; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("du") +@Implements("RawPcmStream") +public class RawPcmStream extends PcmStream { + @ObfuscatedName("z") + int field1445; + @ObfuscatedName("n") + int field1435; + @ObfuscatedName("v") + int field1436; + @ObfuscatedName("u") + int field1443; + @ObfuscatedName("r") + int field1447; + @ObfuscatedName("p") + int field1439; + @ObfuscatedName("q") + int field1440; + @ObfuscatedName("m") + @Export("numLoops") + int numLoops; + @ObfuscatedName("y") + @Export("start") + int start; + @ObfuscatedName("i") + @Export("end") + int end; + @ObfuscatedName("c") + boolean field1444; + @ObfuscatedName("b") + int field1442; + @ObfuscatedName("o") + int field1434; + @ObfuscatedName("a") + int field1437; + @ObfuscatedName("e") + int field1448; + + @ObfuscatedSignature( + signature = "(Lch;III)V" + ) + RawPcmStream(RawSound var1, int var2, int var3, int var4) { + super.sound = var1; + this.start = var1.start; + this.end = var1.end; + this.field1444 = var1.field1369; + this.field1435 = var2; + this.field1436 = var3; + this.field1443 = var4; + this.field1445 = 0; + this.method2576(); + } + + @ObfuscatedSignature( + signature = "(Lch;II)V" + ) + RawPcmStream(RawSound var1, int var2, int var3) { + super.sound = var1; + this.start = var1.start; + this.end = var1.end; + this.field1444 = var1.field1369; + this.field1435 = var2; + this.field1436 = var3; + this.field1443 = 8192; + this.field1445 = 0; + this.method2576(); + } + + @ObfuscatedName("r") + void method2576() { + this.field1447 = this.field1436; + this.field1439 = method2602(this.field1436, this.field1443); + this.field1440 = method2508(this.field1436, this.field1443); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("firstSubStream") + protected PcmStream firstSubStream() { + return null; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "()Ldc;" + ) + @Export("nextSubStream") + protected PcmStream nextSubStream() { + return null; + } + + @ObfuscatedName("m") + protected int vmethod3873() { + return this.field1436 == 0 && this.field1442 == 0 ? 0 : 1; + } + + @ObfuscatedName("y") + @Export("fill") + public synchronized void fill(int[] var1, int var2, int var3) { + if (this.field1436 == 0 && this.field1442 == 0) { + this.skip(var3); + } else { + RawSound var4 = (RawSound)super.sound; + int var5 = this.start << 8; + int var6 = this.end << 8; + int var7 = var4.samples.length << 8; + int var8 = var6 - var5; + if (var8 <= 0) { + this.numLoops = 0; + } + + int var9 = var2; + var3 += var2; + if (this.field1445 < 0) { + if (this.field1435 <= 0) { + this.method2637(); + this.remove(); + return; + } + + this.field1445 = 0; + } + + if (this.field1445 >= var7) { + if (this.field1435 >= 0) { + this.method2637(); + this.remove(); + return; + } + + this.field1445 = var7 - 1; + } + + if (this.numLoops < 0) { + if (this.field1444) { + if (this.field1435 < 0) { + var9 = this.method2567(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field1445 >= var5) { + return; + } + + this.field1445 = var5 + var5 - 1 - this.field1445; + this.field1435 = -this.field1435; + } + + while (true) { + var9 = this.method2535(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field1445 < var6) { + return; + } + + this.field1445 = var6 + var6 - 1 - this.field1445; + this.field1435 = -this.field1435; + var9 = this.method2567(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field1445 >= var5) { + return; + } + + this.field1445 = var5 + var5 - 1 - this.field1445; + this.field1435 = -this.field1435; + } + } else if (this.field1435 < 0) { + while (true) { + var9 = this.method2567(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field1445 >= var5) { + return; + } + + this.field1445 = var6 - 1 - (var6 - 1 - this.field1445) % var8; + } + } else { + while (true) { + var9 = this.method2535(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field1445 < var6) { + return; + } + + this.field1445 = var5 + (this.field1445 - var5) % var8; + } + } + } else { + if (this.numLoops > 0) { + if (this.field1444) { + label129: { + if (this.field1435 < 0) { + var9 = this.method2567(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field1445 >= var5) { + return; + } + + this.field1445 = var5 + var5 - 1 - this.field1445; + this.field1435 = -this.field1435; + if (--this.numLoops == 0) { + break label129; + } + } + + do { + var9 = this.method2535(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field1445 < var6) { + return; + } + + this.field1445 = var6 + var6 - 1 - this.field1445; + this.field1435 = -this.field1435; + if (--this.numLoops == 0) { + break; + } + + var9 = this.method2567(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field1445 >= var5) { + return; + } + + this.field1445 = var5 + var5 - 1 - this.field1445; + this.field1435 = -this.field1435; + } while(--this.numLoops != 0); + } + } else { + int var10; + if (this.field1435 < 0) { + while (true) { + var9 = this.method2567(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field1445 >= var5) { + return; + } + + var10 = (var6 - 1 - this.field1445) / var8; + if (var10 >= this.numLoops) { + this.field1445 += var8 * this.numLoops; + this.numLoops = 0; + break; + } + + this.field1445 += var8 * var10; + this.numLoops -= var10; + } + } else { + while (true) { + var9 = this.method2535(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field1445 < var6) { + return; + } + + var10 = (this.field1445 - var5) / var8; + if (var10 >= this.numLoops) { + this.field1445 -= var8 * this.numLoops; + this.numLoops = 0; + break; + } + + this.field1445 -= var8 * var10; + this.numLoops -= var10; + } + } + } + } + + if (this.field1435 < 0) { + this.method2567(var1, var9, 0, var3, 0); + if (this.field1445 < 0) { + this.field1445 = -1; + this.method2637(); + this.remove(); + } + } else { + this.method2535(var1, var9, var7, var3, 0); + if (this.field1445 >= var7) { + this.field1445 = var7; + this.method2637(); + this.remove(); + } + } + + } + } + } + + @ObfuscatedName("i") + @Export("setNumLoops") + public synchronized void setNumLoops(int var1) { + this.numLoops = var1; + } + + @ObfuscatedName("c") + @Export("skip") + public synchronized void skip(int var1) { + if (this.field1442 > 0) { + if (var1 >= this.field1442) { + if (this.field1436 == Integer.MIN_VALUE) { + this.field1436 = 0; + this.field1440 = 0; + this.field1439 = 0; + this.field1447 = 0; + this.remove(); + var1 = this.field1442; + } + + this.field1442 = 0; + this.method2576(); + } else { + this.field1447 += this.field1434 * var1; + this.field1439 += this.field1437 * var1; + this.field1440 += this.field1448 * var1; + this.field1442 -= var1; + } + } + + RawSound var2 = (RawSound)super.sound; + int var3 = this.start << 8; + int var4 = this.end << 8; + int var5 = var2.samples.length << 8; + int var6 = var4 - var3; + if (var6 <= 0) { + this.numLoops = 0; + } + + if (this.field1445 < 0) { + if (this.field1435 <= 0) { + this.method2637(); + this.remove(); + return; + } + + this.field1445 = 0; + } + + if (this.field1445 >= var5) { + if (this.field1435 >= 0) { + this.method2637(); + this.remove(); + return; + } + + this.field1445 = var5 - 1; + } + + this.field1445 += this.field1435 * var1; + if (this.numLoops < 0) { + if (!this.field1444) { + if (this.field1435 < 0) { + if (this.field1445 >= var3) { + return; + } + + this.field1445 = var4 - 1 - (var4 - 1 - this.field1445) % var6; + } else { + if (this.field1445 < var4) { + return; + } + + this.field1445 = var3 + (this.field1445 - var3) % var6; + } + + } else { + if (this.field1435 < 0) { + if (this.field1445 >= var3) { + return; + } + + this.field1445 = var3 + var3 - 1 - this.field1445; + this.field1435 = -this.field1435; + } + + while (this.field1445 >= var4) { + this.field1445 = var4 + var4 - 1 - this.field1445; + this.field1435 = -this.field1435; + if (this.field1445 >= var3) { + return; + } + + this.field1445 = var3 + var3 - 1 - this.field1445; + this.field1435 = -this.field1435; + } + + } + } else { + if (this.numLoops > 0) { + if (this.field1444) { + label126: { + if (this.field1435 < 0) { + if (this.field1445 >= var3) { + return; + } + + this.field1445 = var3 + var3 - 1 - this.field1445; + this.field1435 = -this.field1435; + if (--this.numLoops == 0) { + break label126; + } + } + + do { + if (this.field1445 < var4) { + return; + } + + this.field1445 = var4 + var4 - 1 - this.field1445; + this.field1435 = -this.field1435; + if (--this.numLoops == 0) { + break; + } + + if (this.field1445 >= var3) { + return; + } + + this.field1445 = var3 + var3 - 1 - this.field1445; + this.field1435 = -this.field1435; + } while(--this.numLoops != 0); + } + } else { + int var7; + if (this.field1435 < 0) { + if (this.field1445 >= var3) { + return; + } + + var7 = (var4 - 1 - this.field1445) / var6; + if (var7 < this.numLoops) { + this.field1445 += var6 * var7; + this.numLoops -= var7; + return; + } + + this.field1445 += var6 * this.numLoops; + this.numLoops = 0; + } else { + if (this.field1445 < var4) { + return; + } + + var7 = (this.field1445 - var3) / var6; + if (var7 < this.numLoops) { + this.field1445 -= var6 * var7; + this.numLoops -= var7; + return; + } + + this.field1445 -= var6 * this.numLoops; + this.numLoops = 0; + } + } + } + + if (this.field1435 < 0) { + if (this.field1445 < 0) { + this.field1445 = -1; + this.method2637(); + this.remove(); + } + } else if (this.field1445 >= var5) { + this.field1445 = var5; + this.method2637(); + this.remove(); + } + + } + } + + @ObfuscatedName("b") + public synchronized void method2515(int var1) { + this.method2517(var1 << 6, this.method2519()); + } + + @ObfuscatedName("o") + synchronized void method2516(int var1) { + this.method2517(var1, this.method2519()); + } + + @ObfuscatedName("a") + synchronized void method2517(int var1, int var2) { + this.field1436 = var1; + this.field1443 = var2; + this.field1442 = 0; + this.method2576(); + } + + @ObfuscatedName("e") + public synchronized int method2518() { + return this.field1436 == Integer.MIN_VALUE ? 0 : this.field1436; + } + + @ObfuscatedName("x") + public synchronized int method2519() { + return this.field1443 < 0 ? -1 : this.field1443; + } + + @ObfuscatedName("h") + public synchronized void method2577(int var1) { + int var2 = ((RawSound)super.sound).samples.length << 8; + if (var1 < -1) { + var1 = -1; + } + + if (var1 > var2) { + var1 = var2; + } + + this.field1445 = var1; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(Z)V", + garbageValue = "1" + ) + public synchronized void method2521() { + this.field1435 = (this.field1435 ^ this.field1435 >> 31) + (this.field1435 >>> 31); + this.field1435 = -this.field1435; + } + + @ObfuscatedName("f") + void method2637() { + if (this.field1442 != 0) { + if (this.field1436 == Integer.MIN_VALUE) { + this.field1436 = 0; + } + + this.field1442 = 0; + this.method2576(); + } + + } + + @ObfuscatedName("j") + public synchronized void method2523(int var1, int var2) { + this.method2524(var1, var2, this.method2519()); + } + + @ObfuscatedName("d") + public synchronized void method2524(int var1, int var2, int var3) { + if (var1 == 0) { + this.method2517(var2, var3); + } else { + int var4 = method2602(var2, var3); + int var5 = method2508(var2, var3); + if (var4 == this.field1439 && var5 == this.field1440) { + this.field1442 = 0; + } else { + int var6 = var2 - this.field1447; + if (this.field1447 - var2 > var6) { + var6 = this.field1447 - var2; + } + + if (var4 - this.field1439 > var6) { + var6 = var4 - this.field1439; + } + + if (this.field1439 - var4 > var6) { + var6 = this.field1439 - var4; + } + + if (var5 - this.field1440 > var6) { + var6 = var5 - this.field1440; + } + + if (this.field1440 - var5 > var6) { + var6 = this.field1440 - var5; + } + + if (var1 > var6) { + var1 = var6; + } + + this.field1442 = var1; + this.field1436 = var2; + this.field1443 = var3; + this.field1434 = (var2 - this.field1447) / var1; + this.field1437 = (var4 - this.field1439) / var1; + this.field1448 = (var5 - this.field1440) / var1; + } + } + } + + @ObfuscatedName("l") + public synchronized void method2525(int var1) { + if (var1 == 0) { + this.method2516(0); + this.remove(); + } else if (this.field1439 == 0 && this.field1440 == 0) { + this.field1442 = 0; + this.field1436 = 0; + this.field1447 = 0; + this.remove(); + } else { + int var2 = -this.field1447; + if (this.field1447 > var2) { + var2 = this.field1447; + } + + if (-this.field1439 > var2) { + var2 = -this.field1439; + } + + if (this.field1439 > var2) { + var2 = this.field1439; + } + + if (-this.field1440 > var2) { + var2 = -this.field1440; + } + + if (this.field1440 > var2) { + var2 = this.field1440; + } + + if (var1 > var2) { + var1 = var2; + } + + this.field1442 = var1; + this.field1436 = Integer.MIN_VALUE; + this.field1434 = -this.field1447 / var1; + this.field1437 = -this.field1439 / var1; + this.field1448 = -this.field1440 / var1; + } + } + + @ObfuscatedName("k") + public synchronized void method2526(int var1) { + if (this.field1435 < 0) { + this.field1435 = -var1; + } else { + this.field1435 = var1; + } + + } + + @ObfuscatedName("ai") + public synchronized int method2527() { + return this.field1435 < 0 ? -this.field1435 : this.field1435; + } + + @ObfuscatedName("ak") + public boolean method2528() { + return this.field1445 < 0 || this.field1445 >= ((RawSound)super.sound).samples.length << 8; + } + + @ObfuscatedName("ae") + public boolean method2529() { + return this.field1442 != 0; + } + + @ObfuscatedName("av") + int method2535(int[] var1, int var2, int var3, int var4, int var5) { + while (true) { + if (this.field1442 > 0) { + int var6 = var2 + this.field1442; + if (var6 > var4) { + var6 = var4; + } + + this.field1442 += var2; + if (this.field1435 == 256 && (this.field1445 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2547(0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, this.field1437, this.field1448, 0, var6, var3, this); + } else { + var2 = method2546(((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, this.field1434, 0, var6, var3, this); + } + } else if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2580(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, this.field1437, this.field1448, 0, var6, var3, this, this.field1435, var5); + } else { + var2 = method2617(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, this.field1434, 0, var6, var3, this, this.field1435, var5); + } + + this.field1442 -= var2; + if (this.field1442 != 0) { + return var2; + } + + if (!this.method2537()) { + continue; + } + + return var4; + } + + if (this.field1435 == 256 && (this.field1445 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + return method2539(0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, 0, var4, var3, this); + } + + return method2538(((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, 0, var4, var3, this); + } + + if (PcmPlayer.PcmPlayer_stereo) { + return method2543(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, 0, var4, var3, this, this.field1435, var5); + } + + return method2542(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, 0, var4, var3, this, this.field1435, var5); + } + } + + @ObfuscatedName("ah") + int vmethod2687() { + int var1 = this.field1447 * 3 >> 6; + var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); + if (this.numLoops == 0) { + var1 -= var1 * this.field1445 / (((RawSound)super.sound).samples.length << 8); + } else if (this.numLoops >= 0) { + var1 -= var1 * this.start / ((RawSound)super.sound).samples.length; + } + + return var1 > 255 ? 255 : var1; + } + + @ObfuscatedName("ag") + int method2567(int[] var1, int var2, int var3, int var4, int var5) { + while (true) { + if (this.field1442 > 0) { + int var6 = var2 + this.field1442; + if (var6 > var4) { + var6 = var4; + } + + this.field1442 += var2; + if (this.field1435 == -256 && (this.field1445 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2507(0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, this.field1437, this.field1448, 0, var6, var3, this); + } else { + var2 = method2548(((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, this.field1434, 0, var6, var3, this); + } + } else if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2582(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, this.field1437, this.field1448, 0, var6, var3, this, this.field1435, var5); + } else { + var2 = method2552(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, this.field1434, 0, var6, var3, this, this.field1435, var5); + } + + this.field1442 -= var2; + if (this.field1442 != 0) { + return var2; + } + + if (!this.method2537()) { + continue; + } + + return var4; + } + + if (this.field1435 == -256 && (this.field1445 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + return method2541(0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, 0, var4, var3, this); + } + + return method2540(((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, 0, var4, var3, this); + } + + if (PcmPlayer.PcmPlayer_stereo) { + return method2564(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1439, this.field1440, 0, var4, var3, this, this.field1435, var5); + } + + return method2578(0, 0, ((RawSound)super.sound).samples, var1, this.field1445, var2, this.field1447, 0, var4, var3, this, this.field1435, var5); + } + } + + @ObfuscatedName("aj") + boolean method2537() { + int var1 = this.field1436; + int var2; + int var3; + if (var1 == Integer.MIN_VALUE) { + var3 = 0; + var2 = 0; + var1 = 0; + } else { + var2 = method2602(var1, this.field1443); + var3 = method2508(var1, this.field1443); + } + + if (var1 == this.field1447 && var2 == this.field1439 && var3 == this.field1440) { + if (this.field1436 == Integer.MIN_VALUE) { + this.field1436 = 0; + this.field1440 = 0; + this.field1439 = 0; + this.field1447 = 0; + this.remove(); + return true; + } else { + this.method2576(); + return false; + } + } else { + if (this.field1447 < var1) { + this.field1434 = 1; + this.field1442 = var1 - this.field1447; + } else if (this.field1447 > var1) { + this.field1434 = -1; + this.field1442 = this.field1447 - var1; + } else { + this.field1434 = 0; + } + + if (this.field1439 < var2) { + this.field1437 = 1; + if (this.field1442 == 0 || this.field1442 > var2 - this.field1439) { + this.field1442 = var2 - this.field1439; + } + } else if (this.field1439 > var2) { + this.field1437 = -1; + if (this.field1442 == 0 || this.field1442 > this.field1439 - var2) { + this.field1442 = this.field1439 - var2; + } + } else { + this.field1437 = 0; + } + + if (this.field1440 < var3) { + this.field1448 = 1; + if (this.field1442 == 0 || this.field1442 > var3 - this.field1440) { + this.field1442 = var3 - this.field1440; + } + } else if (this.field1440 > var3) { + this.field1448 = -1; + if (this.field1442 == 0 || this.field1442 > this.field1440 - var3) { + this.field1442 = this.field1440 - var3; + } + } else { + this.field1448 = 0; + } + + return false; + } + } + + @ObfuscatedName("z") + static int method2602(int var0, int var1) { + return var1 < 0 ? var0 : (int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); + } + + @ObfuscatedName("n") + static int method2508(int var0, int var1) { + return var1 < 0 ? -var0 : (int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lch;II)Ldu;" + ) + @Export("createRawPcmStream") + public static RawPcmStream createRawPcmStream(RawSound var0, int var1, int var2) { + return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, (int)((long)var0.sampleRate * 256L * (long)var1 / (long)(UrlRequest.PcmPlayer_sampleRate * 100)), var2 << 6) : null; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lch;III)Ldu;" + ) + public static RawPcmStream method2544(RawSound var0, int var1, int var2, int var3) { + return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "([B[IIIIIIILdu;)I" + ) + static int method2538(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { + var2 >>= 8; + var7 >>= 8; + var4 <<= 2; + if ((var5 = var3 + var7 - var2) > var6) { + var5 = var6; + } + + int var10001; + for (var5 -= 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + } + + for (var5 += 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { + var10001 = var3++; + } + + var8.field1445 = var2 << 8; + return var3; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIILdu;)I" + ) + static int method2539(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { + var3 >>= 8; + var9 >>= 8; + var5 <<= 2; + var6 <<= 2; + if ((var7 = var4 + var9 - var3) > var8) { + var7 = var8; + } + + var4 <<= 1; + var7 <<= 1; + + int var10001; + byte var11; + for (var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + for (var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + var10.field1445 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "([B[IIIIIIILdu;)I" + ) + static int method2540(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { + var2 >>= 8; + var7 >>= 8; + var4 <<= 2; + if ((var5 = var3 + var2 - (var7 - 1)) > var6) { + var5 = var6; + } + + int var10001; + for (var5 -= 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + } + + for (var5 += 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { + var10001 = var3++; + } + + var8.field1445 = var2 << 8; + return var3; + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIILdu;)I" + ) + static int method2541(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { + var3 >>= 8; + var9 >>= 8; + var5 <<= 2; + var6 <<= 2; + if ((var7 = var3 + var4 - (var9 - 1)) > var8) { + var7 = var8; + } + + var4 <<= 1; + var7 <<= 1; + + int var10001; + byte var11; + for (var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + for (var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + var10.field1445 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIILdu;II)I" + ) + static int method2542(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { + if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 257) / var11) > var8) { + var7 = var8; + } + + byte var13; + int var10001; + while (var5 < var7) { + var1 = var4 >> 8; + var13 = var2[var1]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var2[var1 + 1] - var13) * (var4 & 255)) * var6 >> 6; + var4 += var11; + } + + if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 1) / var11) > var8) { + var7 = var8; + } + + for (var1 = var12; var5 < var7; var4 += var11) { + var13 = var2[var4 >> 8]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var1 - var13) * (var4 & 255)) * var6 >> 6; + } + + var10.field1445 = var4; + return var5; + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdu;II)I" + ) + static int method2543(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { + var8 = var9; + } + + var5 <<= 1; + + byte var14; + int var10001; + for (var8 <<= 1; var5 < var8; var4 += var12) { + var1 = var4 >> 8; + var14 = var2[var1]; + var0 = (var14 << 8) + (var4 & 255) * (var2[var1 + 1] - var14); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12 - 1) / var12) > var9) { + var8 = var9; + } + + var8 <<= 1; + + for (var1 = var13; var5 < var8; var4 += var12) { + var14 = var2[var4 >> 8]; + var0 = (var14 << 8) + (var1 - var14) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + var11.field1445 = var4; + return var5 >> 1; + } + + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIILdu;II)I" + ) + static int method2578(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { + if (var11 == 0 || (var7 = var5 + (var11 + (var9 + 256 - var4)) / var11) > var8) { + var7 = var8; + } + + int var10001; + while (var5 < var7) { + var1 = var4 >> 8; + byte var13 = var2[var1 - 1]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var2[var1] - var13) * (var4 & 255)) * var6 >> 6; + var4 += var11; + } + + if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4)) / var11) > var8) { + var7 = var8; + } + + var0 = var12; + + for (var1 = var11; var5 < var7; var4 += var1) { + var10001 = var5++; + var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; + } + + var10.field1445 = var4; + return var5; + } + + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdu;II)I" + ) + static int method2564(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var5 <<= 1; + + int var10001; + for (var8 <<= 1; var5 < var8; var4 += var12) { + var1 = var4 >> 8; + byte var14 = var2[var1 - 1]; + var0 = (var2[var1] - var14) * (var4 & 255) + (var14 << 8); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var8 <<= 1; + + for (var1 = var13; var5 < var8; var4 += var12) { + var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + var11.field1445 = var4; + return var5 >> 1; + } + + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "([B[IIIIIIIILdu;)I" + ) + static int method2546(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { + var2 >>= 8; + var8 >>= 8; + var4 <<= 2; + var5 <<= 2; + if ((var6 = var3 + var8 - var2) > var7) { + var6 = var7; + } + + var9.field1439 += var9.field1437 * (var6 - var3); + var9.field1440 += var9.field1448 * (var6 - var3); + + int var10001; + for (var6 -= 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + } + + for (var6 += 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + } + + var9.field1447 = var4 >> 2; + var9.field1445 = var2 << 8; + return var3; + } + + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIIIILdu;)I" + ) + static int method2547(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { + var3 >>= 8; + var11 >>= 8; + var5 <<= 2; + var6 <<= 2; + var7 <<= 2; + var8 <<= 2; + if ((var9 = var11 + var4 - var3) > var10) { + var9 = var10; + } + + var12.field1447 += var12.field1434 * (var9 - var4); + var4 <<= 1; + var9 <<= 1; + + byte var13; + int var10001; + for (var9 -= 6; var4 < var9; var6 += var8) { + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + for (var9 += 6; var4 < var9; var6 += var8) { + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + var12.field1439 = var5 >> 2; + var12.field1440 = var6 >> 2; + var12.field1445 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "([B[IIIIIIIILdu;)I" + ) + static int method2548(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { + var2 >>= 8; + var8 >>= 8; + var4 <<= 2; + var5 <<= 2; + if ((var6 = var3 + var2 - (var8 - 1)) > var7) { + var6 = var7; + } + + var9.field1439 += var9.field1437 * (var6 - var3); + var9.field1440 += var9.field1448 * (var6 - var3); + + int var10001; + for (var6 -= 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + } + + for (var6 += 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + } + + var9.field1447 = var4 >> 2; + var9.field1445 = var2 << 8; + return var3; + } + + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "(I[B[IIIIIIIIIILdu;)I" + ) + static int method2507(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { + var3 >>= 8; + var11 >>= 8; + var5 <<= 2; + var6 <<= 2; + var7 <<= 2; + var8 <<= 2; + if ((var9 = var3 + var4 - (var11 - 1)) > var10) { + var9 = var10; + } + + var12.field1447 += var12.field1434 * (var9 - var4); + var4 <<= 1; + var9 <<= 1; + + byte var13; + int var10001; + for (var9 -= 6; var4 < var9; var6 += var8) { + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + for (var9 += 6; var4 < var9; var6 += var8) { + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + var12.field1439 = var5 >> 2; + var12.field1440 = var6 >> 2; + var12.field1445 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdu;II)I" + ) + static int method2617(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + var11.field1439 -= var11.field1437 * var5; + var11.field1440 -= var11.field1448 * var5; + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { + var8 = var9; + } + + byte var14; + int var10001; + while (var5 < var8) { + var1 = var4 >> 8; + var14 = var2[var1]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var2[var1 + 1] - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + var4 += var12; + } + + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 1) / var12) > var9) { + var8 = var9; + } + + for (var1 = var13; var5 < var8; var4 += var12) { + var14 = var2[var4 >> 8]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var1 - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + } + + var11.field1439 += var11.field1437 * var5; + var11.field1440 += var11.field1448 * var5; + var11.field1447 = var6; + var11.field1445 = var4; + return var5; + } + + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIIIILdu;II)I" + ) + static int method2580(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { + var13.field1447 -= var5 * var13.field1434; + if (var14 == 0 || (var10 = var5 + (var12 - var4 + var14 - 257) / var14) > var11) { + var10 = var11; + } + + var5 <<= 1; + + byte var16; + int var10001; + for (var10 <<= 1; var5 < var10; var4 += var14) { + var1 = var4 >> 8; + var16 = var2[var1]; + var0 = (var16 << 8) + (var4 & 255) * (var2[var1 + 1] - var16); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14 - 1) / var14) > var11) { + var10 = var11; + } + + var10 <<= 1; + + for (var1 = var15; var5 < var10; var4 += var14) { + var16 = var2[var4 >> 8]; + var0 = (var16 << 8) + (var1 - var16) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + var5 >>= 1; + var13.field1447 += var13.field1434 * var5; + var13.field1439 = var6; + var13.field1440 = var7; + var13.field1445 = var4; + return var5; + } + + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIILdu;II)I" + ) + static int method2552(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + var11.field1439 -= var11.field1437 * var5; + var11.field1440 -= var11.field1448 * var5; + if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + int var10001; + while (var5 < var8) { + var1 = var4 >> 8; + byte var14 = var2[var1 - 1]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var2[var1] - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + var4 += var12; + } + + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var0 = var13; + + for (var1 = var12; var5 < var8; var4 += var1) { + var10001 = var5++; + var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; + var6 += var7; + } + + var11.field1439 += var11.field1437 * var5; + var11.field1440 += var11.field1448 * var5; + var11.field1447 = var6; + var11.field1445 = var4; + return var5; + } + + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "(II[B[IIIIIIIIIILdu;II)I" + ) + static int method2582(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { + var13.field1447 -= var5 * var13.field1434; + if (var14 == 0 || (var10 = var5 + (var12 + 256 - var4 + var14) / var14) > var11) { + var10 = var11; + } + + var5 <<= 1; + + int var10001; + for (var10 <<= 1; var5 < var10; var4 += var14) { + var1 = var4 >> 8; + byte var16 = var2[var1 - 1]; + var0 = (var2[var1] - var16) * (var4 & 255) + (var16 << 8); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14) / var14) > var11) { + var10 = var11; + } + + var10 <<= 1; + + for (var1 = var15; var5 < var10; var4 += var14) { + var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + var5 >>= 1; + var13.field1447 += var13.field1434 * var5; + var13.field1439 = var6; + var13.field1440 = var7; + var13.field1445 = var4; + return var5; + } +} diff --git a/runescape-client/src/main/java/RawSound.java b/runescape-client/src/main/java/RawSound.java index 661e43049f..9a3bd73e31 100644 --- a/runescape-client/src/main/java/RawSound.java +++ b/runescape-client/src/main/java/RawSound.java @@ -1,59 +1,59 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cg") -@Implements("RawSound") -public class RawSound extends AbstractSound { - @ObfuscatedName("c") - @Export("sampleRate") - public int sampleRate; - @ObfuscatedName("x") - @Export("samples") - public byte[] samples; - @ObfuscatedName("t") - @Export("start") - public int start; - @ObfuscatedName("g") - @Export("end") - int end; - @ObfuscatedName("l") - public boolean field1358; - - RawSound(int var1, byte[] var2, int var3, int var4) { - this.sampleRate = var1; - this.samples = var2; - this.start = var3; - this.end = var4; - } - - RawSound(int var1, byte[] var2, int var3, int var4, boolean var5) { - this.sampleRate = var1; - this.samples = var2; - this.start = var3; - this.end = var4; - this.field1358 = var5; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lde;)Lcg;" - ) - @Export("resample") - public RawSound resample(Decimator var1) { - this.samples = var1.resample(this.samples); - this.sampleRate = var1.scaleRate(this.sampleRate); - if (this.start == this.end) { - this.start = this.end = var1.scalePosition(this.start); - } else { - this.start = var1.scalePosition(this.start); - this.end = var1.scalePosition(this.end); - if (this.start == this.end) { - --this.start; - } - } - - return this; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ch") +@Implements("RawSound") +public class RawSound extends AbstractSound { + @ObfuscatedName("z") + @Export("sampleRate") + public int sampleRate; + @ObfuscatedName("n") + @Export("samples") + public byte[] samples; + @ObfuscatedName("v") + @Export("start") + public int start; + @ObfuscatedName("u") + @Export("end") + int end; + @ObfuscatedName("r") + public boolean field1369; + + RawSound(int var1, byte[] var2, int var3, int var4) { + this.sampleRate = var1; + this.samples = var2; + this.start = var3; + this.end = var4; + } + + RawSound(int var1, byte[] var2, int var3, int var4, boolean var5) { + this.sampleRate = var1; + this.samples = var2; + this.start = var3; + this.end = var4; + this.field1369 = var5; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ldr;)Lch;" + ) + @Export("resample") + public RawSound resample(Decimator var1) { + this.samples = var1.resample(this.samples); + this.sampleRate = var1.scaleRate(this.sampleRate); + if (this.start == this.end) { + this.start = this.end = var1.scalePosition(this.start); + } else { + this.start = var1.scalePosition(this.start); + this.end = var1.scalePosition(this.end); + if (this.start == this.end) { + --this.start; + } + } + + return this; + } +} diff --git a/runescape-client/src/main/java/ReflectionCheck.java b/runescape-client/src/main/java/ReflectionCheck.java index 72fe06ac75..46286e26bf 100644 --- a/runescape-client/src/main/java/ReflectionCheck.java +++ b/runescape-client/src/main/java/ReflectionCheck.java @@ -1,157 +1,80 @@ -import java.applet.Applet; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.net.URL; -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 netscape.javascript.JSObject; - -@ObfuscatedName("cf") -@Implements("ReflectionCheck") -public class ReflectionCheck extends Node { - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lgy;" - ) - @Export("musicTrack") - public static MusicTrack musicTrack; - @ObfuscatedName("fx") - @ObfuscatedGetter( - intValue = 1741628195 - ) - static int field1303; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -698721725 - ) - @Export("id") - int id; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -414565063 - ) - @Export("size") - int size; - @ObfuscatedName("t") - @Export("operations") - int[] operations; - @ObfuscatedName("g") - @Export("creationErrors") - int[] creationErrors; - @ObfuscatedName("l") - @Export("fields") - Field[] fields; - @ObfuscatedName("u") - @Export("intReplaceValues") - int[] intReplaceValues; - @ObfuscatedName("j") - @Export("methods") - Method[] methods; - @ObfuscatedName("v") - @Export("arguments") - byte[][][] arguments; - - ReflectionCheck() { - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ILjava/lang/String;B)Z", - garbageValue = "122" - ) - static boolean method2261(String var0, int var1, String var2) { - if (var1 == 0) { - try { - if (!class51.field406.startsWith("win")) { - throw new Exception(); - } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { - throw new Exception(); - } else { - String var13 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; - - for (int var4 = 0; var4 < var0.length(); ++var4) { - if (var13.indexOf(var0.charAt(var4)) == -1) { - throw new Exception(); - } - } - - Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); - return true; - } - } catch (Throwable var8) { - return false; - } - } else if (var1 == 1) { - try { - Applet var7 = class51.applet; - Object[] var5 = new Object[]{(new URL(class51.applet.getCodeBase(), var0)).toString()}; - Object var3 = JSObject.getWindow(var7).call(var2, var5); - return var3 != null; - } catch (Throwable var9) { - return false; - } - } else if (var1 == 2) { - try { - class51.applet.getAppletContext().showDocument(new URL(class51.applet.getCodeBase(), var0), "_blank"); - return true; - } catch (Exception var10) { - return false; - } - } else if (var1 == 3) { - try { - class47.method812(class51.applet, "loggedout"); - } catch (Throwable var12) { - } - - try { - class51.applet.getAppletContext().showDocument(new URL(class51.applet.getCodeBase(), var0), "_top"); - return true; - } catch (Exception var11) { - return false; - } - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lbb;I)V", - garbageValue = "1777731201" - ) - @Export("changeWorld") - static void changeWorld(World var0) { - if (var0.isMembersOnly() != Client.isMembersWorld) { - Client.isMembersWorld = var0.isMembersOnly(); - VertexNormal.method2960(var0.isMembersOnly()); - } - - ArchiveLoader.worldHost = var0.host; - Client.worldId = var0.id; - Client.worldProperties = var0.properties; - WorldMapSection1.port1 = Client.gameBuild == 0 ? 43594 : var0.id + 40000; - IsaacCipher.port2 = Client.gameBuild == 0 ? 443 : var0.id + 50000; - LoginPacket.port3 = WorldMapSection1.port1; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(Lhy;IB)V", - garbageValue = "0" - ) - @Export("Widget_setKeyIgnoreHeld") - static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) { - if (var0.field2671 == null) { - throw new RuntimeException(); - } else { - if (var0.field2656 == null) { - var0.field2656 = new int[var0.field2671.length]; - } - - var0.field2656[var1] = Integer.MAX_VALUE; - } - } -} +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.ScriptOpcodes; + +@ObfuscatedName("cq") +@Implements("ReflectionCheck") +public class ReflectionCheck extends Node { + @ObfuscatedName("sf") + @ObfuscatedGetter( + intValue = 1327402685 + ) + @Export("foundItemIndex") + static int foundItemIndex; + @ObfuscatedName("gp") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("headIconHintSprites") + static Sprite[] headIconHintSprites; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 85422493 + ) + @Export("id") + int id; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 198207431 + ) + @Export("size") + int size; + @ObfuscatedName("v") + @Export("operations") + int[] operations; + @ObfuscatedName("u") + @Export("creationErrors") + int[] creationErrors; + @ObfuscatedName("r") + @Export("fields") + Field[] fields; + @ObfuscatedName("p") + @Export("intReplaceValues") + int[] intReplaceValues; + @ObfuscatedName("q") + @Export("methods") + Method[] methods; + @ObfuscatedName("m") + @Export("arguments") + byte[][][] arguments; + + ReflectionCheck() { + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-884073904" + ) + static int method2267(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.SOUND_SYNTH) { + Interpreter.Interpreter_intStackSize -= 3; + Message.queueSoundEffect(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_SONG) { + MusicPatchNode2.playSong(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { + Interpreter.Interpreter_intStackSize -= 2; + ClientPacket.playSoundJingle(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + return 1; + } else { + return 2; + } + } +} diff --git a/runescape-client/src/main/java/RouteStrategy.java b/runescape-client/src/main/java/RouteStrategy.java index 365b87419b..ed93b04fae 100644 --- a/runescape-client/src/main/java/RouteStrategy.java +++ b/runescape-client/src/main/java/RouteStrategy.java @@ -1,98 +1,152 @@ -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("fw") -@Implements("RouteStrategy") -public abstract class RouteStrategy { - @ObfuscatedName("sk") - @ObfuscatedSignature( - signature = "Lkx;" - ) - @Export("masterDisk") - static ArchiveDisk masterDisk; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Leq;" - ) - @Export("World_request") - static UrlRequest World_request; - @ObfuscatedName("fy") - @ObfuscatedSignature( - signature = "Led;" - ) - @Export("urlRequester") - static UrlRequester urlRequester; - @ObfuscatedName("gc") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("headIconPrayerSprites") - static Sprite[] headIconPrayerSprites; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -2040361911 - ) - @Export("approxDestinationX") - public int approxDestinationX; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1007393083 - ) - @Export("approxDestinationY") - public int approxDestinationY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -462526133 - ) - @Export("approxDestinationSizeX") - public int approxDestinationSizeX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1078511921 - ) - @Export("approxDestinationSizeY") - public int approxDestinationSizeY; - - protected RouteStrategy() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIILfj;I)Z", - garbageValue = "2030512647" - ) - @Export("hasArrived") - protected abstract boolean hasArrived(int var1, int var2, int var3, CollisionMap var4); - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(S)[Lli;", - garbageValue = "-22640" - ) - static Sprite[] method3578() { - Sprite[] var0 = new Sprite[class325.SpriteBuffer_spriteCount]; - - for (int var1 = 0; var1 < class325.SpriteBuffer_spriteCount; ++var1) { - Sprite var2 = var0[var1] = new Sprite(); - var2.width = class325.SpriteBuffer_spriteWidth; - var2.height = class325.SpriteBuffer_spriteHeight; - var2.xOffset = class325.SpriteBuffer_xOffsets[var1]; - var2.yOffset = SecureRandomCallable.SpriteBuffer_yOffsets[var1]; - var2.subWidth = class325.SpriteBuffer_spriteWidths[var1]; - var2.subHeight = SoundSystem.SpriteBuffer_spriteHeights[var1]; - int var3 = var2.subHeight * var2.subWidth; - byte[] var4 = InvDefinition.SpriteBuffer_pixels[var1]; - var2.pixels = new int[var3]; - - for (int var5 = 0; var5 < var3; ++var5) { - var2.pixels[var5] = class325.SpriteBuffer_spritePalette[var4[var5] & 255]; - } - } - - class192.SpriteBuffer_clear(); - return var0; - } -} +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("fi") +@Implements("RouteStrategy") +public abstract class RouteStrategy { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 942047679 + ) + @Export("approxDestinationX") + public int approxDestinationX; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1911711911 + ) + @Export("approxDestinationY") + public int approxDestinationY; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -969700339 + ) + @Export("approxDestinationSizeX") + public int approxDestinationSizeX; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1794388549 + ) + @Export("approxDestinationSizeY") + public int approxDestinationSizeY; + + protected RouteStrategy() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIILfa;B)Z", + garbageValue = "27" + ) + @Export("hasArrived") + protected abstract boolean hasArrived(int var1, int var2, int var3, CollisionMap var4); + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IILfi;Lfa;I)Z", + garbageValue = "-1798427460" + ) + static final boolean method3555(int var0, int var1, RouteStrategy var2, CollisionMap var3) { + int var4 = var0; + int var5 = var1; + byte var6 = 64; + byte var7 = 64; + int var8 = var0 - var6; + int var9 = var1 - var7; + class173.directions[var6][var7] = 99; + class173.distances[var6][var7] = 0; + byte var10 = 0; + int var11 = 0; + class173.bufferX[var10] = var0; + byte var10001 = var10; + int var18 = var10 + 1; + class173.bufferY[var10001] = var1; + int[][] var12 = var3.flags; + + while (var11 != var18) { + var4 = class173.bufferX[var11]; + var5 = class173.bufferY[var11]; + var11 = var11 + 1 & 4095; + int var16 = var4 - var8; + int var17 = var5 - var9; + int var13 = var4 - var3.xInset; + int var14 = var5 - var3.yInset; + if (var2.hasArrived(2, var4, var5, var3)) { + UserComparator10.field1956 = var4; + class173.field2075 = var5; + return true; + } + + int var15 = class173.distances[var16][var17] + 1; + if (var16 > 0 && class173.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136782) == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0) { + class173.bufferX[var18] = var4 - 1; + class173.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class173.directions[var16 - 1][var17] = 2; + class173.distances[var16 - 1][var17] = var15; + } + + if (var16 < 126 && class173.directions[var16 + 1][var17] == 0 && (var12[var13 + 2][var14] & 19136899) == 0 && (var12[var13 + 2][var14 + 1] & 19136992) == 0) { + class173.bufferX[var18] = var4 + 1; + class173.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class173.directions[var16 + 1][var17] = 8; + class173.distances[var16 + 1][var17] = var15; + } + + if (var17 > 0 && class173.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136782) == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0) { + class173.bufferX[var18] = var4; + class173.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class173.directions[var16][var17 - 1] = 1; + class173.distances[var16][var17 - 1] = var15; + } + + if (var17 < 126 && class173.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 2] & 19136824) == 0 && (var12[var13 + 1][var14 + 2] & 19136992) == 0) { + class173.bufferX[var18] = var4; + class173.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class173.directions[var16][var17 + 1] = 4; + class173.distances[var16][var17 + 1] = var15; + } + + if (var16 > 0 && var17 > 0 && class173.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14] & 19136830) == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13][var14 - 1] & 19136911) == 0) { + class173.bufferX[var18] = var4 - 1; + class173.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 - 1][var17 - 1] = 3; + class173.distances[var16 - 1][var17 - 1] = var15; + } + + if (var16 < 126 && var17 > 0 && class173.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136911) == 0 && (var12[var13 + 2][var14 - 1] & 19136899) == 0 && (var12[var13 + 2][var14] & 19136995) == 0) { + class173.bufferX[var18] = var4 + 1; + class173.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 + 1][var17 - 1] = 9; + class173.distances[var16 + 1][var17 - 1] = var15; + } + + if (var16 > 0 && var17 < 126 && class173.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136830) == 0 && (var12[var13 - 1][var14 + 2] & 19136824) == 0 && (var12[var13][var14 + 2] & 19137016) == 0) { + class173.bufferX[var18] = var4 - 1; + class173.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 - 1][var17 + 1] = 6; + class173.distances[var16 - 1][var17 + 1] = var15; + } + + if (var16 < 126 && var17 < 126 && class173.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 2] & 19137016) == 0 && (var12[var13 + 2][var14 + 2] & 19136992) == 0 && (var12[var13 + 2][var14 + 1] & 19136995) == 0) { + class173.bufferX[var18] = var4 + 1; + class173.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 + 1][var17 + 1] = 12; + class173.distances[var16 + 1][var17 + 1] = var15; + } + } + + UserComparator10.field1956 = var4; + class173.field2075 = var5; + return false; + } +} diff --git a/runescape-client/src/main/java/RunException.java b/runescape-client/src/main/java/RunException.java index 294a6140f1..3f57df670d 100644 --- a/runescape-client/src/main/java/RunException.java +++ b/runescape-client/src/main/java/RunException.java @@ -1,33 +1,43 @@ -import java.applet.Applet; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ma") -@Implements("RunException") -public class RunException extends RuntimeException { - @ObfuscatedName("c") - @Export("RunException_applet") - public static Applet RunException_applet; - @ObfuscatedName("x") - @Export("localPlayerName") - public static String localPlayerName; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -242879535 - ) - @Export("RunException_revision") - public static int RunException_revision; - @ObfuscatedName("u") - @Export("message") - String message; - @ObfuscatedName("j") - @Export("throwable") - Throwable throwable; - - RunException(Throwable var1, String var2) { - this.message = var2; - this.throwable = var1; - } -} +import java.applet.Applet; +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("mf") +@Implements("RunException") +public class RunException extends RuntimeException { + @ObfuscatedName("z") + @Export("RunException_applet") + public static Applet RunException_applet; + @ObfuscatedName("n") + @Export("localPlayerName") + public static String localPlayerName; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1228960845 + ) + @Export("RunException_revision") + public static int RunException_revision; + @ObfuscatedName("q") + @Export("SpriteBuffer_spriteHeights") + public static int[] SpriteBuffer_spriteHeights; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Ldn;" + ) + @Export("soundSystem") + static SoundSystem soundSystem; + @ObfuscatedName("r") + @Export("message") + String message; + @ObfuscatedName("p") + @Export("throwable") + Throwable throwable; + + RunException(Throwable var1, String var2) { + this.message = var2; + this.throwable = var1; + } +} diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index 59de00a926..ab9965d09b 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -1,2598 +1,2590 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ep") -@Implements("Scene") -public class Scene { - @ObfuscatedName("c") - @Export("Scene_isLowDetail") - public static boolean Scene_isLowDetail; - @ObfuscatedName("p") - @Export("tileUpdateCount") - static int tileUpdateCount; - @ObfuscatedName("e") - @Export("Scene_plane") - static int Scene_plane; - @ObfuscatedName("i") - @Export("Scene_drawnCount") - static int Scene_drawnCount; - @ObfuscatedName("q") - @Export("Scene_cameraXTileMin") - static int Scene_cameraXTileMin; - @ObfuscatedName("y") - @Export("Scene_cameraXTileMax") - static int Scene_cameraXTileMax; - @ObfuscatedName("r") - @Export("Scene_cameraYTileMin") - static int Scene_cameraYTileMin; - @ObfuscatedName("k") - @Export("Scene_cameraYTileMax") - static int Scene_cameraYTileMax; - @ObfuscatedName("w") - @Export("Scene_cameraXTile") - static int Scene_cameraXTile; - @ObfuscatedName("m") - @Export("Scene_cameraYTile") - static int Scene_cameraYTile; - @ObfuscatedName("o") - @Export("Scene_cameraX") - static int Scene_cameraX; - @ObfuscatedName("a") - @Export("Scene_cameraY") - static int Scene_cameraY; - @ObfuscatedName("b") - @Export("Scene_cameraZ") - static int Scene_cameraZ; - @ObfuscatedName("ag") - @Export("Scene_cameraPitchSine") - static int Scene_cameraPitchSine; - @ObfuscatedName("at") - @Export("Scene_cameraPitchCosine") - static int Scene_cameraPitchCosine; - @ObfuscatedName("ao") - @Export("Scene_cameraYawSine") - static int Scene_cameraYawSine; - @ObfuscatedName("av") - @Export("Scene_cameraYawCosine") - static int Scene_cameraYawCosine; - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "[Lef;" - ) - @Export("gameObjects") - static GameObject[] gameObjects; - @ObfuscatedName("al") - @Export("checkClick") - static boolean checkClick; - @ObfuscatedName("as") - @Export("Scene_selectedPlane") - static int Scene_selectedPlane; - @ObfuscatedName("ad") - @Export("Scene_selectedScreenX") - static int Scene_selectedScreenX; - @ObfuscatedName("ap") - @Export("Scene_selectedScreenY") - static int Scene_selectedScreenY; - @ObfuscatedName("ax") - @Export("Scene_selectedX") - public static int Scene_selectedX; - @ObfuscatedName("aj") - @Export("Scene_selectedY") - public static int Scene_selectedY; - @ObfuscatedName("ab") - @Export("viewportWalking") - static boolean viewportWalking; - @ObfuscatedName("ay") - @Export("Scene_planesCount") - static int Scene_planesCount; - @ObfuscatedName("ae") - @Export("Scene_planeOccluderCounts") - static int[] Scene_planeOccluderCounts; - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "[[Lek;" - ) - @Export("Scene_planeOccluders") - static Occluder[][] Scene_planeOccluders; - @ObfuscatedName("aa") - @Export("Scene_currentOccludersCount") - static int Scene_currentOccludersCount; - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "[Lek;" - ) - @Export("Scene_currentOccluders") - static Occluder[] Scene_currentOccluders; - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("Scene_tilesDeque") - static NodeDeque Scene_tilesDeque; - @ObfuscatedName("ac") - static final int[] field1818; - @ObfuscatedName("az") - static final int[] field1781; - @ObfuscatedName("ai") - static final int[] field1813; - @ObfuscatedName("am") - static final int[] field1814; - @ObfuscatedName("aw") - static final int[] field1779; - @ObfuscatedName("au") - static final int[] field1801; - @ObfuscatedName("bg") - static final int[] field1817; - @ObfuscatedName("bf") - @Export("visibilityMap") - static boolean[][][][] visibilityMap; - @ObfuscatedName("bm") - @Export("visibleTiles") - static boolean[][] visibleTiles; - @ObfuscatedName("bw") - @Export("Scene_viewportXCenter") - static int Scene_viewportXCenter; - @ObfuscatedName("bs") - @Export("Scene_viewportYCenter") - static int Scene_viewportYCenter; - @ObfuscatedName("bt") - @Export("Scene_viewportXMin") - static int Scene_viewportXMin; - @ObfuscatedName("bj") - @Export("Scene_viewportYMin") - static int Scene_viewportYMin; - @ObfuscatedName("bd") - @Export("Scene_viewportXMax") - static int Scene_viewportXMax; - @ObfuscatedName("by") - @Export("Scene_viewportYMax") - static int Scene_viewportYMax; - @ObfuscatedName("x") - @Export("planes") - int planes; - @ObfuscatedName("t") - @Export("xSize") - int xSize; - @ObfuscatedName("g") - @Export("ySize") - int ySize; - @ObfuscatedName("l") - @Export("tileHeights") - int[][][] tileHeights; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[[[Ldq;" - ) - @Export("tiles") - Tile[][][] tiles; - @ObfuscatedName("j") - @Export("minPlane") - int minPlane; - @ObfuscatedName("v") - @Export("tempGameObjectsCount") - int tempGameObjectsCount; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "[Lef;" - ) - @Export("tempGameObjects") - GameObject[] tempGameObjects; - @ObfuscatedName("z") - int[][][] field1815; - @ObfuscatedName("bi") - @Export("tileShape2D") - int[][] tileShape2D; - @ObfuscatedName("bv") - @Export("tileRotation2D") - int[][] tileRotation2D; - - static { - Scene_isLowDetail = true; - tileUpdateCount = 0; - Scene_plane = 0; - gameObjects = new GameObject[100]; - checkClick = false; - Scene_selectedPlane = 0; - Scene_selectedScreenX = 0; - Scene_selectedScreenY = 0; - Scene_selectedX = -1; - Scene_selectedY = -1; - viewportWalking = false; - Scene_planesCount = 4; - Scene_planeOccluderCounts = new int[Scene_planesCount]; - Scene_planeOccluders = new Occluder[Scene_planesCount][500]; - Scene_currentOccludersCount = 0; - Scene_currentOccluders = new Occluder[500]; - Scene_tilesDeque = new NodeDeque(); - field1818 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; - field1781 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; - field1813 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; - field1814 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; - field1779 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; - field1801 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; - field1817 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; - visibilityMap = new boolean[8][32][51][51]; - } - - public Scene(int var1, int var2, int var3, int[][][] var4) { - this.minPlane = 0; - this.tempGameObjectsCount = 0; - this.tempGameObjects = new GameObject[5000]; - this.tileShape2D = new int[][]{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1}}; - this.tileRotation2D = new int[][]{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}}; - this.planes = var1; - this.xSize = var2; - this.ySize = var3; - this.tiles = new Tile[var1][var2][var3]; - this.field1815 = new int[var1][var2 + 1][var3 + 1]; - this.tileHeights = var4; - this.clear(); - } - - @ObfuscatedName("c") - @Export("clear") - public void clear() { - int var1; - int var2; - for (var1 = 0; var1 < this.planes; ++var1) { - for (var2 = 0; var2 < this.xSize; ++var2) { - for (int var3 = 0; var3 < this.ySize; ++var3) { - this.tiles[var1][var2][var3] = null; - } - } - } - - for (var1 = 0; var1 < Scene_planesCount; ++var1) { - for (var2 = 0; var2 < Scene_planeOccluderCounts[var1]; ++var2) { - Scene_planeOccluders[var1][var2] = null; - } - - Scene_planeOccluderCounts[var1] = 0; - } - - for (var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { - this.tempGameObjects[var1] = null; - } - - this.tempGameObjectsCount = 0; - - for (var1 = 0; var1 < gameObjects.length; ++var1) { - gameObjects[var1] = null; - } - - } - - @ObfuscatedName("x") - @Export("init") - public void init(int var1) { - this.minPlane = var1; - - for (int var2 = 0; var2 < this.xSize; ++var2) { - for (int var3 = 0; var3 < this.ySize; ++var3) { - if (this.tiles[var1][var2][var3] == null) { - this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); - } - } - } - - } - - @ObfuscatedName("t") - @Export("setLinkBelow") - public void setLinkBelow(int var1, int var2) { - Tile var3 = this.tiles[0][var1][var2]; - - for (int var4 = 0; var4 < 3; ++var4) { - Tile var5 = this.tiles[var4][var1][var2] = this.tiles[var4 + 1][var1][var2]; - if (var5 != null) { - --var5.plane; - - for (int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { - GameObject var7 = var5.gameObjects[var6]; - long var9 = var7.tag; - boolean var8 = UserComparator2.ViewportMouse_unpackY(var9) == 2; - if (var8 && var7.startX == var1 && var2 == var7.startY) { - --var7.plane; - } - } - } - } - - if (this.tiles[0][var1][var2] == null) { - this.tiles[0][var1][var2] = new Tile(0, var1, var2); - } - - this.tiles[0][var1][var2].linkedBelowTile = var3; - this.tiles[3][var1][var2] = null; - } - - @ObfuscatedName("l") - @Export("setTileMinPlane") - public void setTileMinPlane(int var1, int var2, int var3, int var4) { - Tile var5 = this.tiles[var1][var2][var3]; - if (var5 != null) { - this.tiles[var1][var2][var3].minPlane = var4; - } - } - - @ObfuscatedName("u") - @Export("addTile") - public void addTile(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 var20) { - TilePaint var21; - int var22; - if (var4 == 0) { - var21 = new TilePaint(var11, var12, var13, var14, -1, var19, false); - - for (var22 = var1; var22 >= 0; --var22) { - if (this.tiles[var22][var2][var3] == null) { - this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); - } - } - - this.tiles[var1][var2][var3].paint = var21; - } else if (var4 != 1) { - TileModel var23 = new TileModel(var4, var5, var6, var2, var3, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19, var20); - - for (var22 = var1; var22 >= 0; --var22) { - if (this.tiles[var22][var2][var3] == null) { - this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); - } - } - - this.tiles[var1][var2][var3].model = var23; - } else { - var21 = new TilePaint(var15, var16, var17, var18, var6, var20, var8 == var7 && var7 == var9 && var10 == var7); - - for (var22 = var1; var22 >= 0; --var22) { - if (this.tiles[var22][var2][var3] == null) { - this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); - } - } - - this.tiles[var1][var2][var3].paint = var21; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(IIIILel;JI)V" - ) - @Export("newFloorDecoration") - public void newFloorDecoration(int var1, int var2, int var3, int var4, Entity var5, long var6, int var8) { - if (var5 != null) { - FloorDecoration var9 = new FloorDecoration(); - var9.entity = var5; - var9.x = var2 * 128 + 64; - var9.y = var3 * 128 + 64; - var9.tileHeight = var4; - var9.tag = var6; - var9.flags = var8; - if (this.tiles[var1][var2][var3] == null) { - this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); - } - - this.tiles[var1][var2][var3].floorDecoration = var9; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IIIILel;JLel;Lel;)V" - ) - @Export("newGroundItemPile") - public void newGroundItemPile(int var1, int var2, int var3, int var4, Entity var5, long var6, Entity var8, Entity var9) { - TileItemPile var10 = new TileItemPile(); - var10.first = var5; - var10.x = var2 * 134217728 + 67108864; - var10.y = var3 * 128 + 64; - var10.tileHeight = var4; - var10.tag = var6; - var10.second = var8; - var10.third = var9; - int var11 = 0; - Tile var12 = this.tiles[var1][var2][var3]; - if (var12 != null) { - for (int var13 = 0; var13 < var12.gameObjectsCount; ++var13) { - if ((var12.gameObjects[var13].flags & 256) == 256 && var12.gameObjects[var13].entity instanceof Model) { - Model var14 = (Model)var12.gameObjects[var13].entity; - var14.calculateBoundsCylinder(); - if (var14.height > var11) { - var11 = var14.height; - } - } - } - } - - var10.height = var11; - if (this.tiles[var1][var2][var3] == null) { - this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); - } - - this.tiles[var1][var2][var3].tileItemPile = var10; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(IIIILel;Lel;IIJI)V" - ) - @Export("newBoundaryObject") - public void newBoundaryObject(int var1, int var2, int var3, int var4, Entity var5, Entity var6, int var7, int var8, long var9, int var11) { - if (var5 != null || var6 != null) { - BoundaryObject var12 = new BoundaryObject(); - var12.tag = var9; - var12.flags = var11; - var12.x = var2 * 128 + 64; - var12.y = var3 * 128 + 64; - var12.tileHeight = var4; - var12.entity1 = var5; - var12.entity2 = var6; - var12.orientationA = var7; - var12.orientationB = var8; - - for (int var13 = var1; var13 >= 0; --var13) { - if (this.tiles[var13][var2][var3] == null) { - this.tiles[var13][var2][var3] = new Tile(var13, var2, var3); - } - } - - this.tiles[var1][var2][var3].boundaryObject = var12; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(IIIILel;Lel;IIIIJI)V" - ) - @Export("newWallDecoration") - public void newWallDecoration(int var1, int var2, int var3, int var4, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long var11, int var13) { - if (var5 != null) { - WallDecoration var14 = new WallDecoration(); - var14.tag = var11; - var14.flags = var13; - var14.x = var2 * 128 + 64; - var14.y = var3 * 128 + 64; - var14.tileHeight = var4; - var14.entity1 = var5; - var14.entity2 = var6; - var14.orientation = var7; - var14.orientation2 = var8; - var14.xOffset = var9; - var14.yOffset = var10; - - for (int var15 = var1; var15 >= 0; --var15) { - if (this.tiles[var15][var2][var3] == null) { - this.tiles[var15][var2][var3] = new Tile(var15, var2, var3); - } - } - - this.tiles[var1][var2][var3].wallDecoration = var14; - } - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(IIIIIILel;IJI)Z" - ) - public boolean method3051(int var1, int var2, int var3, int var4, int var5, int var6, Entity var7, int var8, long var9, int var11) { - if (var7 == null) { - return true; - } else { - int var12 = var5 * 64 + var2 * 128; - int var13 = var6 * 64 + var3 * 128; - return this.newGameObject(var1, var2, var3, var5, var6, var12, var13, var4, var7, var8, false, var9, var11); - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IIIIILel;IJZ)Z" - ) - @Export("drawEntity") - public boolean drawEntity(int var1, int var2, int var3, int var4, int var5, Entity var6, int var7, long var8, boolean var10) { - if (var6 == null) { - return true; - } else { - int var11 = var2 - var5; - int var12 = var3 - var5; - int var13 = var5 + var2; - int var14 = var3 + var5; - if (var10) { - if (var7 > 640 && var7 < 1408) { - var14 += 128; - } - - if (var7 > 1152 && var7 < 1920) { - var13 += 128; - } - - if (var7 > 1664 || var7 < 384) { - var12 -= 128; - } - - if (var7 > 128 && var7 < 896) { - var11 -= 128; - } - } - - var11 /= 128; - var12 /= 128; - var13 /= 128; - var14 /= 128; - return this.newGameObject(var1, var11, var12, var13 - var11 + 1, var14 - var12 + 1, var2, var3, var4, var6, var7, true, var8, 0); - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IIIIILel;IJIIII)Z" - ) - @Export("addNullableObject") - public boolean addNullableObject(int var1, int var2, int var3, int var4, int var5, Entity var6, int var7, long var8, int var10, int var11, int var12, int var13) { - return var6 == null ? true : this.newGameObject(var1, var10, var11, var12 - var10 + 1, var13 - var11 + 1, var2, var3, var4, var6, var7, true, var8, 0); - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(IIIIIIIILel;IZJI)Z" - ) - @Export("newGameObject") - boolean newGameObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Entity var9, int var10, boolean var11, long var12, int var14) { - int var16; - for (int var15 = var2; var15 < var2 + var4; ++var15) { - for (var16 = var3; var16 < var3 + var5; ++var16) { - if (var15 < 0 || var16 < 0 || var15 >= this.xSize || var16 >= this.ySize) { - return false; - } - - Tile var17 = this.tiles[var1][var15][var16]; - if (var17 != null && var17.gameObjectsCount >= 5) { - return false; - } - } - } - - GameObject var21 = new GameObject(); - var21.tag = var12; - var21.flags = var14; - var21.plane = var1; - var21.centerX = var6; - var21.centerY = var7; - var21.height = var8; - var21.entity = var9; - var21.orientation = var10; - var21.startX = var2; - var21.startY = var3; - var21.endX = var2 + var4 - 1; - var21.endY = var3 + var5 - 1; - - for (var16 = var2; var16 < var2 + var4; ++var16) { - for (int var22 = var3; var22 < var3 + var5; ++var22) { - int var18 = 0; - if (var16 > var2) { - ++var18; - } - - if (var16 < var2 + var4 - 1) { - var18 += 4; - } - - if (var22 > var3) { - var18 += 8; - } - - if (var22 < var3 + var5 - 1) { - var18 += 2; - } - - for (int var19 = var1; var19 >= 0; --var19) { - if (this.tiles[var19][var16][var22] == null) { - this.tiles[var19][var16][var22] = new Tile(var19, var16, var22); - } - } - - Tile var23 = this.tiles[var1][var16][var22]; - var23.gameObjects[var23.gameObjectsCount] = var21; - var23.gameObjectEdgeMasks[var23.gameObjectsCount] = var18; - var23.gameObjectsEdgeMask |= var18; - ++var23.gameObjectsCount; - } - } - - if (var11) { - this.tempGameObjects[this.tempGameObjectsCount++] = var21; - } - - return true; - } - - @ObfuscatedName("q") - @Export("clearTempGameObjects") - public void clearTempGameObjects() { - for (int var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { - GameObject var2 = this.tempGameObjects[var1]; - this.removeGameObject(var2); - this.tempGameObjects[var1] = null; - } - - this.tempGameObjectsCount = 0; - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(Lef;)V" - ) - @Export("removeGameObject") - void removeGameObject(GameObject var1) { - for (int var2 = var1.startX; var2 <= var1.endX; ++var2) { - for (int var3 = var1.startY; var3 <= var1.endY; ++var3) { - Tile var4 = this.tiles[var1.plane][var2][var3]; - if (var4 != null) { - int var5; - for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - if (var4.gameObjects[var5] == var1) { - --var4.gameObjectsCount; - - for (int var6 = var5; var6 < var4.gameObjectsCount; ++var6) { - var4.gameObjects[var6] = var4.gameObjects[var6 + 1]; - var4.gameObjectEdgeMasks[var6] = var4.gameObjectEdgeMasks[var6 + 1]; - } - - var4.gameObjects[var4.gameObjectsCount] = null; - break; - } - } - - var4.gameObjectsEdgeMask = 0; - - for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - var4.gameObjectsEdgeMask |= var4.gameObjectEdgeMasks[var5]; - } - } - } - } - - } - - @ObfuscatedName("k") - public void method3057(int var1, int var2, int var3, int var4) { - Tile var5 = this.tiles[var1][var2][var3]; - if (var5 != null) { - WallDecoration var6 = var5.wallDecoration; - if (var6 != null) { - var6.xOffset = var4 * var6.xOffset / 16; - var6.yOffset = var4 * var6.yOffset / 16; - } - } - } - - @ObfuscatedName("w") - @Export("removeBoundaryObject") - public void removeBoundaryObject(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - if (var4 != null) { - var4.boundaryObject = null; - } - } - - @ObfuscatedName("m") - @Export("removeWallDecoration") - public void removeWallDecoration(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - if (var4 != null) { - var4.wallDecoration = null; - } - } - - @ObfuscatedName("o") - @Export("removeGameObject") - public void removeGameObject(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - if (var4 != null) { - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - GameObject var6 = var4.gameObjects[var5]; - long var8 = var6.tag; - boolean var7 = UserComparator2.ViewportMouse_unpackY(var8) == 2; - if (var7 && var2 == var6.startX && var3 == var6.startY) { - this.removeGameObject(var6); - return; - } - } - - } - } - - @ObfuscatedName("a") - @Export("removeFloorDecoration") - public void removeFloorDecoration(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - if (var4 != null) { - var4.floorDecoration = null; - } - } - - @ObfuscatedName("b") - @Export("removeGroundItemPile") - public void removeGroundItemPile(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - if (var4 != null) { - var4.tileItemPile = null; - } - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(III)Lea;" - ) - public BoundaryObject method3063(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - return var4 == null ? null : var4.boundaryObject; - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(III)Les;" - ) - public WallDecoration method3189(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - return var4 == null ? null : var4.wallDecoration; - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(III)Lef;" - ) - public GameObject method3065(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - if (var4 == null) { - return null; - } else { - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - GameObject var6 = var4.gameObjects[var5]; - long var8 = var6.tag; - boolean var7 = UserComparator2.ViewportMouse_unpackY(var8) == 2; - if (var7 && var2 == var6.startX && var3 == var6.startY) { - return var6; - } - } - - return null; - } - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(III)Ldb;" - ) - @Export("getFloorDecoration") - public FloorDecoration getFloorDecoration(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - return var4 != null && var4.floorDecoration != null ? var4.floorDecoration : null; - } - - @ObfuscatedName("an") - @Export("getBoundaryObjectTag") - public long getBoundaryObjectTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - return var4 != null && var4.boundaryObject != null ? var4.boundaryObject.tag : 0L; - } - - @ObfuscatedName("al") - @Export("getWallDecorationTag") - public long getWallDecorationTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - return var4 != null && var4.wallDecoration != null ? var4.wallDecoration.tag : 0L; - } - - @ObfuscatedName("as") - @Export("getGameObjectTag") - public long getGameObjectTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - if (var4 == null) { - return 0L; - } else { - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { - GameObject var6 = var4.gameObjects[var5]; - long var8 = var6.tag; - boolean var7 = UserComparator2.ViewportMouse_unpackY(var8) == 2; - if (var7 && var2 == var6.startX && var3 == var6.startY) { - return var6.tag; - } - } - - return 0L; - } - } - - @ObfuscatedName("ad") - @Export("getFloorDecorationTag") - public long getFloorDecorationTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; - return var4 != null && var4.floorDecoration != null ? var4.floorDecoration.tag : 0L; - } - - @ObfuscatedName("ap") - @Export("getObjectFlags") - public int getObjectFlags(int var1, int var2, int var3, long var4) { - Tile var6 = this.tiles[var1][var2][var3]; - if (var6 == null) { - return -1; - } else if (var6.boundaryObject != null && var6.boundaryObject.tag == var4) { - return var6.boundaryObject.flags & 255; - } else if (var6.wallDecoration != null && var6.wallDecoration.tag == var4) { - return var6.wallDecoration.flags & 255; - } else if (var6.floorDecoration != null && var6.floorDecoration.tag == var4) { - return var6.floorDecoration.flags & 255; - } else { - for (int var7 = 0; var7 < var6.gameObjectsCount; ++var7) { - if (var6.gameObjects[var7].tag == var4) { - return var6.gameObjects[var7].flags & 255; - } - } - - return -1; - } - } - - @ObfuscatedName("ax") - public void method3072(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.planes; ++var4) { - for (int var5 = 0; var5 < this.xSize; ++var5) { - for (int var6 = 0; var6 < this.ySize; ++var6) { - Tile var7 = this.tiles[var4][var5][var6]; - if (var7 != null) { - BoundaryObject var8 = var7.boundaryObject; - ModelData var10; - if (var8 != null && var8.entity1 instanceof ModelData) { - ModelData var9 = (ModelData)var8.entity1; - this.method3060(var9, var4, var5, var6, 1, 1); - if (var8.entity2 instanceof ModelData) { - var10 = (ModelData)var8.entity2; - this.method3060(var10, var4, var5, var6, 1, 1); - ModelData.method2807(var9, var10, 0, 0, 0, false); - var8.entity2 = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); - } - - var8.entity1 = var9.toModel(var9.ambient, var9.contrast, var1, var2, var3); - } - - for (int var12 = 0; var12 < var7.gameObjectsCount; ++var12) { - GameObject var14 = var7.gameObjects[var12]; - if (var14 != null && var14.entity instanceof ModelData) { - ModelData var11 = (ModelData)var14.entity; - this.method3060(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); - var14.entity = var11.toModel(var11.ambient, var11.contrast, var1, var2, var3); - } - } - - FloorDecoration var13 = var7.floorDecoration; - if (var13 != null && var13.entity instanceof ModelData) { - var10 = (ModelData)var13.entity; - this.method3073(var10, var4, var5, var6); - var13.entity = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); - } - } - } - } - } - - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Lds;III)V" - ) - void method3073(ModelData var1, int var2, int var3, int var4) { - Tile var5; - ModelData var6; - if (var3 < this.xSize) { - var5 = this.tiles[var2][var3 + 1][var4]; - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { - var6 = (ModelData)var5.floorDecoration.entity; - ModelData.method2807(var1, var6, 128, 0, 0, true); - } - } - - if (var4 < this.xSize) { - var5 = this.tiles[var2][var3][var4 + 1]; - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { - var6 = (ModelData)var5.floorDecoration.entity; - ModelData.method2807(var1, var6, 0, 0, 128, true); - } - } - - if (var3 < this.xSize && var4 < this.ySize) { - var5 = this.tiles[var2][var3 + 1][var4 + 1]; - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { - var6 = (ModelData)var5.floorDecoration.entity; - ModelData.method2807(var1, var6, 128, 0, 128, true); - } - } - - if (var3 < this.xSize && var4 > 0) { - var5 = this.tiles[var2][var3 + 1][var4 - 1]; - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { - var6 = (ModelData)var5.floorDecoration.entity; - ModelData.method2807(var1, var6, 128, 0, -128, true); - } - } - - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(Lds;IIIII)V" - ) - void method3060(ModelData var1, int var2, int var3, int var4, int var5, int var6) { - boolean var7 = true; - int var8 = var3; - int var9 = var3 + var5; - int var10 = var4 - 1; - int var11 = var4 + var6; - - for (int var12 = var2; var12 <= var2 + 1; ++var12) { - if (var12 != this.planes) { - for (int var13 = var8; var13 <= var9; ++var13) { - if (var13 >= 0 && var13 < this.xSize) { - for (int var14 = var10; var14 <= var11; ++var14) { - if (var14 >= 0 && var14 < this.ySize && (!var7 || var13 >= var9 || var14 >= var11 || var14 < var4 && var3 != var13)) { - Tile var15 = this.tiles[var12][var13][var14]; - if (var15 != null) { - int var16 = (this.tileHeights[var12][var13 + 1][var14] + this.tileHeights[var12][var13 + 1][var14 + 1] + this.tileHeights[var12][var13][var14] + this.tileHeights[var12][var13][var14 + 1]) / 4 - (this.tileHeights[var2][var3 + 1][var4] + this.tileHeights[var2][var3][var4] + this.tileHeights[var2][var3 + 1][var4 + 1] + this.tileHeights[var2][var3][var4 + 1]) / 4; - BoundaryObject var17 = var15.boundaryObject; - if (var17 != null) { - ModelData var18; - if (var17.entity1 instanceof ModelData) { - var18 = (ModelData)var17.entity1; - ModelData.method2807(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); - } - - if (var17.entity2 instanceof ModelData) { - var18 = (ModelData)var17.entity2; - ModelData.method2807(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); - } - } - - for (int var23 = 0; var23 < var15.gameObjectsCount; ++var23) { - GameObject var19 = var15.gameObjects[var23]; - if (var19 != null && var19.entity instanceof ModelData) { - ModelData var20 = (ModelData)var19.entity; - int var21 = var19.endX - var19.startX + 1; - int var22 = var19.endY - var19.startY + 1; - ModelData.method2807(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); - } - } - } - } - } - } - } - - --var8; - var7 = false; - } - } - - } - - @ObfuscatedName("af") - @Export("drawTileMinimap") - public void drawTileMinimap(int[] var1, int var2, int var3, int var4, int var5, int var6) { - Tile var7 = this.tiles[var4][var5][var6]; - if (var7 != null) { - TilePaint var8 = var7.paint; - int var10; - if (var8 != null) { - int var9 = var8.rgb; - if (var9 != 0) { - for (var10 = 0; var10 < 4; ++var10) { - var1[var2] = var9; - var1[var2 + 1] = var9; - var1[var2 + 2] = var9; - var1[var2 + 3] = var9; - var2 += var3; - } - - } - } else { - TileModel var18 = var7.model; - if (var18 != null) { - var10 = var18.shape; - int var11 = var18.rotation; - int var12 = var18.underlayRgb; - int var13 = var18.overlayRgb; - int[] var14 = this.tileShape2D[var10]; - int[] var15 = this.tileRotation2D[var11]; - int var16 = 0; - int var17; - if (var12 != 0) { - for (var17 = 0; var17 < 4; ++var17) { - var1[var2] = var14[var15[var16++]] == 0 ? var12 : var13; - var1[var2 + 1] = var14[var15[var16++]] == 0 ? var12 : var13; - var1[var2 + 2] = var14[var15[var16++]] == 0 ? var12 : var13; - var1[var2 + 3] = var14[var15[var16++]] == 0 ? var12 : var13; - var2 += var3; - } - } else { - for (var17 = 0; var17 < 4; ++var17) { - if (var14[var15[var16++]] != 0) { - var1[var2] = var13; - } - - if (var14[var15[var16++]] != 0) { - var1[var2 + 1] = var13; - } - - if (var14[var15[var16++]] != 0) { - var1[var2 + 2] = var13; - } - - if (var14[var15[var16++]] != 0) { - var1[var2 + 3] = var13; - } - - var2 += var3; - } - } - - } - } - } - } - - @ObfuscatedName("ae") - @Export("menuOpen") - public void menuOpen(int var1, int var2, int var3, boolean var4) { - if (!method3080() || var4) { - checkClick = true; - viewportWalking = var4; - Scene_selectedPlane = var1; - Scene_selectedScreenX = var2; - Scene_selectedScreenY = var3; - Scene_selectedX = -1; - Scene_selectedY = -1; - } - } - - @ObfuscatedName("ah") - @Export("setViewportWalking") - public void setViewportWalking() { - viewportWalking = true; - } - - @ObfuscatedName("ar") - @Export("draw") - public void draw(int var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 < 0) { - var1 = 0; - } else if (var1 >= this.xSize * 128) { - var1 = this.xSize * 128 - 1; - } - - if (var3 < 0) { - var3 = 0; - } else if (var3 >= this.ySize * 128) { - var3 = this.ySize * 128 - 1; - } - - if (var4 < 128) { - var4 = 128; - } else if (var4 > 383) { - var4 = 383; - } - - ++Scene_drawnCount; - Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var4]; - Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var4]; - Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var5]; - Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var5]; - visibleTiles = visibilityMap[(var4 - 128) / 32][var5 / 64]; - Scene_cameraX = var1; - Scene_cameraY = var2; - Scene_cameraZ = var3; - Scene_cameraXTile = var1 / 128; - Scene_cameraYTile = var3 / 128; - Scene_plane = var6; - Scene_cameraXTileMin = Scene_cameraXTile - 25; - if (Scene_cameraXTileMin < 0) { - Scene_cameraXTileMin = 0; - } - - Scene_cameraYTileMin = Scene_cameraYTile - 25; - if (Scene_cameraYTileMin < 0) { - Scene_cameraYTileMin = 0; - } - - Scene_cameraXTileMax = Scene_cameraXTile + 25; - if (Scene_cameraXTileMax > this.xSize) { - Scene_cameraXTileMax = this.xSize; - } - - Scene_cameraYTileMax = Scene_cameraYTile + 25; - if (Scene_cameraYTileMax > this.ySize) { - Scene_cameraYTileMax = this.ySize; - } - - this.occlude(); - tileUpdateCount = 0; - - int var7; - Tile[][] var8; - int var9; - int var10; - for (var7 = this.minPlane; var7 < this.planes; ++var7) { - var8 = this.tiles[var7]; - - for (var9 = Scene_cameraXTileMin; var9 < Scene_cameraXTileMax; ++var9) { - for (var10 = Scene_cameraYTileMin; var10 < Scene_cameraYTileMax; ++var10) { - Tile var11 = var8[var9][var10]; - if (var11 != null) { - if (var11.minPlane <= var6 && (visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] || this.tileHeights[var7][var9][var10] - var2 >= 2000)) { - var11.drawPrimary = true; - var11.drawSecondary = true; - if (var11.gameObjectsCount > 0) { - var11.drawGameObjects = true; - } else { - var11.drawGameObjects = false; - } - - ++tileUpdateCount; - } else { - var11.drawPrimary = false; - var11.drawSecondary = false; - var11.drawGameObjectEdges = 0; - } - } - } - } - } - - int var12; - int var13; - int var14; - Tile var15; - int var16; - for (var7 = this.minPlane; var7 < this.planes; ++var7) { - var8 = this.tiles[var7]; - - for (var9 = -25; var9 <= 0; ++var9) { - var10 = var9 + Scene_cameraXTile; - var16 = Scene_cameraXTile - var9; - if (var10 >= Scene_cameraXTileMin || var16 < Scene_cameraXTileMax) { - for (var12 = -25; var12 <= 0; ++var12) { - var13 = var12 + Scene_cameraYTile; - var14 = Scene_cameraYTile - var12; - if (var10 >= Scene_cameraXTileMin) { - if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var10][var13]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, true); - } - } - - if (var14 < Scene_cameraYTileMax) { - var15 = var8[var10][var14]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, true); - } - } - } - - if (var16 < Scene_cameraXTileMax) { - if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var16][var13]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, true); - } - } - - if (var14 < Scene_cameraYTileMax) { - var15 = var8[var16][var14]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, true); - } - } - } - - if (tileUpdateCount == 0) { - checkClick = false; - return; - } - } - } - } - } - - for (var7 = this.minPlane; var7 < this.planes; ++var7) { - var8 = this.tiles[var7]; - - for (var9 = -25; var9 <= 0; ++var9) { - var10 = var9 + Scene_cameraXTile; - var16 = Scene_cameraXTile - var9; - if (var10 >= Scene_cameraXTileMin || var16 < Scene_cameraXTileMax) { - for (var12 = -25; var12 <= 0; ++var12) { - var13 = var12 + Scene_cameraYTile; - var14 = Scene_cameraYTile - var12; - if (var10 >= Scene_cameraXTileMin) { - if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var10][var13]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, false); - } - } - - if (var14 < Scene_cameraYTileMax) { - var15 = var8[var10][var14]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, false); - } - } - } - - if (var16 < Scene_cameraXTileMax) { - if (var13 >= Scene_cameraYTileMin) { - var15 = var8[var16][var13]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, false); - } - } - - if (var14 < Scene_cameraYTileMax) { - var15 = var8[var16][var14]; - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, false); - } - } - } - - if (tileUpdateCount == 0) { - checkClick = false; - return; - } - } - } - } - } - - checkClick = false; - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(Ldq;Z)V" - ) - @Export("drawTile") - void drawTile(Tile var1, boolean var2) { - Scene_tilesDeque.addFirst(var1); - - while (true) { - Tile var3; - int var4; - int var5; - int var6; - int var7; - Tile[][] var8; - Tile var9; - int var11; - int var14; - int var15; - int var16; - int var24; - int var25; - do { - do { - do { - do { - do { - do { - while (true) { - BoundaryObject var10; - GameObject var12; - int var17; - int var18; - boolean var20; - int var21; - Tile var36; - while (true) { - do { - var3 = (Tile)Scene_tilesDeque.removeLast(); - if (var3 == null) { - return; - } - } while(!var3.drawSecondary); - - var4 = var3.x; - var5 = var3.y; - var6 = var3.plane; - var7 = var3.originalPlane; - var8 = this.tiles[var6]; - if (!var3.drawPrimary) { - break; - } - - if (var2) { - if (var6 > 0) { - var9 = this.tiles[var6 - 1][var4][var5]; - if (var9 != null && var9.drawSecondary) { - continue; - } - } - - if (var4 <= Scene_cameraXTile && var4 > Scene_cameraXTileMin) { - var9 = var8[var4 - 1][var5]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 1) == 0)) { - continue; - } - } - - if (var4 >= Scene_cameraXTile && var4 < Scene_cameraXTileMax - 1) { - var9 = var8[var4 + 1][var5]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 4) == 0)) { - continue; - } - } - - if (var5 <= Scene_cameraYTile && var5 > Scene_cameraYTileMin) { - var9 = var8[var4][var5 - 1]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 8) == 0)) { - continue; - } - } - - if (var5 >= Scene_cameraYTile && var5 < Scene_cameraYTileMax - 1) { - var9 = var8[var4][var5 + 1]; - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 2) == 0)) { - continue; - } - } - } else { - var2 = true; - } - - var3.drawPrimary = false; - if (var3.linkedBelowTile != null) { - var9 = var3.linkedBelowTile; - if (var9.paint != null) { - if (!this.method3089(0, var4, var5)) { - this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - } else if (var9.model != null && !this.method3089(0, var4, var5)) { - this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - - var10 = var9.boundaryObject; - if (var10 != null) { - var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); - } - - for (var11 = 0; var11 < var9.gameObjectsCount; ++var11) { - var12 = var9.gameObjects[var11]; - if (var12 != null) { - var12.entity.draw(var12.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var12.centerX - Scene_cameraX, var12.height - Scene_cameraY, var12.centerY - Scene_cameraZ, var12.tag); - } - } - } - - var20 = false; - if (var3.paint != null) { - if (!this.method3089(var7, var4, var5)) { - var20 = true; - if (var3.paint.neColor != 12345678 || checkClick && var6 <= Scene_selectedPlane) { - this.drawTileUnderlay(var3.paint, var7, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - } - } else if (var3.model != null && !this.method3089(var7, var4, var5)) { - var20 = true; - this.drawTileOverlay(var3.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - - var21 = 0; - var11 = 0; - BoundaryObject var31 = var3.boundaryObject; - WallDecoration var13 = var3.wallDecoration; - if (var31 != null || var13 != null) { - if (var4 == Scene_cameraXTile) { - ++var21; - } else if (Scene_cameraXTile < var4) { - var21 += 2; - } - - if (var5 == Scene_cameraYTile) { - var21 += 3; - } else if (Scene_cameraYTile > var5) { - var21 += 6; - } - - var11 = field1818[var21]; - var3.field1613 = field1813[var21]; - } - - if (var31 != null) { - if ((var31.orientationA & field1781[var21]) != 0) { - if (var31.orientationA == 16) { - var3.drawGameObjectEdges = 3; - var3.field1632 = field1814[var21]; - var3.field1622 = 3 - var3.field1632; - } else if (var31.orientationA == 32) { - var3.drawGameObjectEdges = 6; - var3.field1632 = field1779[var21]; - var3.field1622 = 6 - var3.field1632; - } else if (var31.orientationA == 64) { - var3.drawGameObjectEdges = 12; - var3.field1632 = field1801[var21]; - var3.field1622 = 12 - var3.field1632; - } else { - var3.drawGameObjectEdges = 9; - var3.field1632 = field1817[var21]; - var3.field1622 = 9 - var3.field1632; - } - } else { - var3.drawGameObjectEdges = 0; - } - - if ((var31.orientationA & var11) != 0 && !this.method3090(var7, var4, var5, var31.orientationA)) { - var31.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x * 4096 - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y * 4096 - Scene_cameraZ, var31.tag); - } - - if ((var31.orientationB & var11) != 0 && !this.method3090(var7, var4, var5, var31.orientationB)) { - var31.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x * 4096 - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y * 4096 - Scene_cameraZ, var31.tag); - } - } - - if (var13 != null && !this.method3138(var7, var4, var5, var13.entity1.height)) { - if ((var13.orientation & var11) != 0) { - var13.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var13.xOffset + (var13.x * 4096 - Scene_cameraX), var13.tileHeight - Scene_cameraY, var13.yOffset + (var13.y * 4096 - Scene_cameraZ), var13.tag); - } else if (var13.orientation == 256) { - var14 = var13.x * 4096 - Scene_cameraX; - var15 = var13.tileHeight - Scene_cameraY; - var16 = var13.y * 4096 - Scene_cameraZ; - var17 = var13.orientation2; - 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) { - var13.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14 + var13.xOffset, var15, var16 + var13.yOffset, var13.tag); - } else if (var13.entity2 != null) { - var13.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14, var15, var16, var13.tag); - } - } - } - - if (var20) { - FloorDecoration var22 = var3.floorDecoration; - if (var22 != null) { - var22.entity.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var22.x * 4096 - Scene_cameraX, var22.tileHeight - Scene_cameraY, var22.y * 4096 - Scene_cameraZ, var22.tag); - } - - TileItemPile var23 = var3.tileItemPile; - if (var23 != null && var23.height == 0) { - if (var23.second != null) { - var23.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 64 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); - } - - if (var23.third != null) { - var23.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 64 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); - } - - if (var23.first != null) { - var23.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 64 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); - } - } - } - - var14 = var3.gameObjectsEdgeMask; - if (var14 != 0) { - if (var4 < Scene_cameraXTile && (var14 & 4) != 0) { - var36 = var8[var4 + 1][var5]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - - if (var5 < Scene_cameraYTile && (var14 & 2) != 0) { - var36 = var8[var4][var5 + 1]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - - if (var4 > Scene_cameraXTile && (var14 & 1) != 0) { - var36 = var8[var4 - 1][var5]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - - if (var5 > Scene_cameraYTile && (var14 & 8) != 0) { - var36 = var8[var4][var5 - 1]; - if (var36 != null && var36.drawSecondary) { - Scene_tilesDeque.addFirst(var36); - } - } - } - break; - } - - if (var3.drawGameObjectEdges != 0) { - var20 = true; - - for (var21 = 0; var21 < var3.gameObjectsCount; ++var21) { - if (var3.gameObjects[var21].lastDrawn != Scene_drawnCount && (var3.gameObjectEdgeMasks[var21] & var3.drawGameObjectEdges) == var3.field1632) { - var20 = false; - break; - } - } - - if (var20) { - var10 = var3.boundaryObject; - if (!this.method3090(var7, var4, var5, var10.orientationA)) { - var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); - } - - var3.drawGameObjectEdges = 0; - } - } - - if (!var3.drawGameObjects) { - break; - } - - try { - int var34 = var3.gameObjectsCount; - var3.drawGameObjects = false; - var21 = 0; - - label563: - for (var11 = 0; var11 < var34; ++var11) { - var12 = var3.gameObjects[var11]; - if (var12.lastDrawn != Scene_drawnCount) { - for (var24 = var12.startX; var24 <= var12.endX; ++var24) { - for (var14 = var12.startY; var14 <= var12.endY; ++var14) { - var36 = var8[var24][var14]; - if (var36.drawPrimary) { - var3.drawGameObjects = true; - continue label563; - } - - if (var36.drawGameObjectEdges != 0) { - var16 = 0; - if (var24 > var12.startX) { - ++var16; - } - - if (var24 < var12.endX) { - var16 += 4; - } - - if (var14 > var12.startY) { - var16 += 8; - } - - if (var14 < var12.endY) { - var16 += 2; - } - - if ((var16 & var36.drawGameObjectEdges) == var3.field1622) { - var3.drawGameObjects = true; - continue label563; - } - } - } - } - - gameObjects[var21++] = var12; - var24 = Scene_cameraXTile - var12.startX; - var14 = var12.endX - Scene_cameraXTile; - if (var14 > var24) { - var24 = var14; - } - - var15 = Scene_cameraYTile - var12.startY; - var16 = var12.endY - Scene_cameraYTile; - if (var16 > var15) { - var12.field1904 = var24 + var16; - } else { - var12.field1904 = var24 + var15; - } - } - } - - while (var21 > 0) { - var11 = -50; - var25 = -1; - - for (var24 = 0; var24 < var21; ++var24) { - GameObject var35 = gameObjects[var24]; - if (var35.lastDrawn != Scene_drawnCount) { - if (var35.field1904 > var11) { - var11 = var35.field1904; - var25 = var24; - } else if (var11 == var35.field1904) { - var15 = var35.centerX - Scene_cameraX; - var16 = var35.centerY - Scene_cameraZ; - var17 = gameObjects[var25].centerX - Scene_cameraX; - var18 = gameObjects[var25].centerY - Scene_cameraZ; - if (var15 * var15 + var16 * var16 > var17 * var17 + var18 * var18) { - var25 = var24; - } - } - } - } - - if (var25 == -1) { - break; - } - - GameObject var33 = gameObjects[var25]; - var33.lastDrawn = Scene_drawnCount; - if (!this.method3092(var7, var33.startX, var33.endX, var33.startY, var33.endY, var33.entity.height)) { - var33.entity.draw(var33.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var33.centerX - Scene_cameraX, var33.height - Scene_cameraY, var33.centerY - Scene_cameraZ, var33.tag); - } - - for (var14 = var33.startX; var14 <= var33.endX; ++var14) { - for (var15 = var33.startY; var15 <= var33.endY; ++var15) { - Tile var26 = var8[var14][var15]; - if (var26.drawGameObjectEdges != 0) { - Scene_tilesDeque.addFirst(var26); - } else if ((var14 != var4 || var15 != var5) && var26.drawSecondary) { - Scene_tilesDeque.addFirst(var26); - } - } - } - } - - if (!var3.drawGameObjects) { - break; - } - } catch (Exception var28) { - var3.drawGameObjects = false; - break; - } - } - } while(!var3.drawSecondary); - } while(var3.drawGameObjectEdges != 0); - - if (var4 > Scene_cameraXTile || var4 <= Scene_cameraXTileMin) { - break; - } - - var9 = var8[var4 - 1][var5]; - } while(var9 != null && var9.drawSecondary); - - if (var4 < Scene_cameraXTile || var4 >= Scene_cameraXTileMax - 1) { - break; - } - - var9 = var8[var4 + 1][var5]; - } while(var9 != null && var9.drawSecondary); - - if (var5 > Scene_cameraYTile || var5 <= Scene_cameraYTileMin) { - break; - } - - var9 = var8[var4][var5 - 1]; - } while(var9 != null && var9.drawSecondary); - - if (var5 < Scene_cameraYTile || var5 >= Scene_cameraYTileMax - 1) { - break; - } - - var9 = var8[var4][var5 + 1]; - } while(var9 != null && var9.drawSecondary); - - var3.drawSecondary = false; - --tileUpdateCount; - TileItemPile var32 = var3.tileItemPile; - if (var32 != null && var32.height != 0) { - if (var32.second != null) { - var32.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 64 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 4096 - Scene_cameraZ, var32.tag); - } - - if (var32.third != null) { - var32.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 64 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 4096 - Scene_cameraZ, var32.tag); - } - - if (var32.first != null) { - var32.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 64 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 4096 - Scene_cameraZ, var32.tag); - } - } - - if (var3.field1613 != 0) { - WallDecoration var29 = var3.wallDecoration; - if (var29 != null && !this.method3138(var7, var4, var5, var29.entity1.height)) { - if ((var29.orientation & var3.field1613) != 0) { - var29.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var29.xOffset + (var29.x * 4096 - Scene_cameraX), var29.tileHeight - Scene_cameraY, var29.yOffset + (var29.y * 4096 - Scene_cameraZ), var29.tag); - } else if (var29.orientation == 256) { - var11 = var29.x * 4096 - Scene_cameraX; - var25 = var29.tileHeight - Scene_cameraY; - var24 = var29.y * 4096 - Scene_cameraZ; - var14 = var29.orientation2; - if (var14 != 1 && var14 != 2) { - var15 = var11; - } else { - var15 = -var11; - } - - if (var14 != 2 && var14 != 3) { - var16 = var24; - } else { - var16 = -var24; - } - - if (var16 >= var15) { - var29.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11 + var29.xOffset, var25, var24 + var29.yOffset, var29.tag); - } else if (var29.entity2 != null) { - var29.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11, var25, var24, var29.tag); - } - } - } - - BoundaryObject var27 = var3.boundaryObject; - if (var27 != null) { - if ((var27.orientationB & var3.field1613) != 0 && !this.method3090(var7, var4, var5, var27.orientationB)) { - var27.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x * 4096 - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y * 4096 - Scene_cameraZ, var27.tag); - } - - if ((var27.orientationA & var3.field1613) != 0 && !this.method3090(var7, var4, var5, var27.orientationA)) { - var27.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x * 4096 - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y * 4096 - Scene_cameraZ, var27.tag); - } - } - } - - Tile var30; - if (var6 < this.planes - 1) { - var30 = this.tiles[var6 + 1][var4][var5]; - if (var30 != null && var30.drawSecondary) { - Scene_tilesDeque.addFirst(var30); - } - } - - if (var4 < Scene_cameraXTile) { - var30 = var8[var4 + 1][var5]; - if (var30 != null && var30.drawSecondary) { - Scene_tilesDeque.addFirst(var30); - } - } - - if (var5 < Scene_cameraYTile) { - var30 = var8[var4][var5 + 1]; - if (var30 != null && var30.drawSecondary) { - Scene_tilesDeque.addFirst(var30); - } - } - - if (var4 > Scene_cameraXTile) { - var30 = var8[var4 - 1][var5]; - if (var30 != null && var30.drawSecondary) { - Scene_tilesDeque.addFirst(var30); - } - } - - if (var5 > Scene_cameraYTile) { - var30 = var8[var4][var5 - 1]; - if (var30 != null && var30.drawSecondary) { - Scene_tilesDeque.addFirst(var30); - } - } - } - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(Lec;IIIIIII)V" - ) - @Export("drawTileUnderlay") - void drawTileUnderlay(TilePaint var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9; - int var10 = var9 = (var7 << 7) - Scene_cameraX; - int var11; - int var12 = var11 = (var8 << 7) - Scene_cameraZ; - int var13; - int var14 = var13 = var10 + 128; - int var15; - int var16 = var15 = var12 + 128; - int var17 = this.tileHeights[var2][var7][var8] - Scene_cameraY; - int var18 = this.tileHeights[var2][var7 + 1][var8] - Scene_cameraY; - int var19 = this.tileHeights[var2][var7 + 1][var8 + 1] - Scene_cameraY; - int var20 = this.tileHeights[var2][var7][var8 + 1] - Scene_cameraY; - int var21 = var10 * var6 + var5 * var12 >> 16; - var12 = var12 * var6 - var5 * var10 >> 16; - var10 = var21; - var21 = var17 * var4 - var3 * var12 >> 16; - var12 = var3 * var17 + var12 * var4 >> 16; - var17 = var21; - if (var12 >= 50) { - var21 = var14 * var6 + var5 * var11 >> 16; - var11 = var11 * var6 - var5 * var14 >> 16; - var14 = var21; - var21 = var18 * var4 - var3 * var11 >> 16; - var11 = var3 * var18 + var11 * var4 >> 16; - var18 = var21; - if (var11 >= 50) { - var21 = var13 * var6 + var5 * var16 >> 16; - var16 = var16 * var6 - var5 * var13 >> 16; - var13 = var21; - var21 = var19 * var4 - var3 * var16 >> 16; - var16 = var3 * var19 + var16 * var4 >> 16; - var19 = var21; - if (var16 >= 50) { - var21 = var9 * var6 + var5 * var15 >> 16; - var15 = var15 * var6 - var5 * var9 >> 16; - var9 = var21; - var21 = var20 * var4 - var3 * var15 >> 16; - var15 = var3 * var20 + var15 * var4 >> 16; - if (var15 >= 50) { - int var22 = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; - int var23 = var17 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; - int var24 = var14 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidX; - int var25 = var18 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidY; - int var26 = var13 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidX; - int var27 = var19 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidY; - int var28 = var9 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidX; - int var29 = var21 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidY; - Rasterizer3D.Rasterizer3D_alpha = 0; - int var30; - if ((var26 - var28) * (var25 - var29) - (var27 - var29) * (var24 - var28) > 0) { - Rasterizer3D.field1735 = false; - if (var26 < 0 || var28 < 0 || var24 < 0 || var26 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field1735 = true; - } - - if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var27, var29, var25, var26, var28, var24)) { - Scene_selectedX = var7; - Scene_selectedY = var8; - } - - if (var1.texture == -1) { - if (var1.neColor != 12345678) { - Rasterizer3D.method2971(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); - } - } else if (!Scene_isLowDetail) { - if (var1.isFlat) { - Rasterizer3D.drawTexturedTile(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); - } else { - Rasterizer3D.drawTexturedTile(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var13, var9, var14, var19, var21, var18, var16, var15, var11, var1.texture); - } - } else { - var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); - Rasterizer3D.method2971(var27, var29, var25, var26, var28, var24, method3086(var30, var1.neColor), method3086(var30, var1.nwColor), method3086(var30, var1.seColor)); - } - } - - if ((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { - Rasterizer3D.field1735 = false; - if (var22 < 0 || var24 < 0 || var28 < 0 || var22 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field1735 = true; - } - - if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var23, var25, var29, var22, var24, var28)) { - Scene_selectedX = var7; - Scene_selectedY = var8; - } - - if (var1.texture == -1) { - if (var1.swColor != 12345678) { - Rasterizer3D.method2971(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); - } - } else if (!Scene_isLowDetail) { - Rasterizer3D.drawTexturedTile(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); - } else { - var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); - Rasterizer3D.method2971(var23, var25, var29, var22, var24, var28, method3086(var30, var1.swColor), method3086(var30, var1.seColor), method3086(var30, var1.nwColor)); - } - } - - } - } - } - } - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(Ldv;IIIIII)V" - ) - @Export("drawTileOverlay") - void drawTileOverlay(TileModel var1, int var2, int var3, int var4, int var5, int var6, int var7) { - int var8 = var1.vertexX.length; - - int var9; - int var10; - int var11; - int var12; - int var13; - for (var9 = 0; var9 < var8; ++var9) { - var10 = var1.vertexX[var9] - Scene_cameraX; - var11 = var1.vertexY[var9] - Scene_cameraY; - var12 = var1.vertexZ[var9] - Scene_cameraZ; - var13 = var12 * var4 + var5 * var10 >> 16; - var12 = var5 * var12 - var10 * var4 >> 16; - var10 = var13; - var13 = var3 * var11 - var12 * var2 >> 16; - var12 = var11 * var2 + var3 * var12 >> 16; - if (var12 < 50) { - return; - } - - if (var1.triangleTextureId != null) { - TileModel.field1573[var9] = var10; - TileModel.field1576[var9] = var13; - TileModel.field1574[var9] = var12; - } - - TileModel.field1560[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; - TileModel.field1572[var9] = var13 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; - } - - Rasterizer3D.Rasterizer3D_alpha = 0; - var8 = var1.faceX.length; - - for (var9 = 0; var9 < var8; ++var9) { - var10 = var1.faceX[var9]; - var11 = var1.faceY[var9]; - var12 = var1.faceZ[var9]; - var13 = TileModel.field1560[var10]; - int var14 = TileModel.field1560[var11]; - int var15 = TileModel.field1560[var12]; - int var16 = TileModel.field1572[var10]; - int var17 = TileModel.field1572[var11]; - int var18 = TileModel.field1572[var12]; - if ((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { - Rasterizer3D.field1735 = false; - if (var13 < 0 || var14 < 0 || var15 < 0 || var13 > Rasterizer3D.Rasterizer3D_clipWidth || var14 > Rasterizer3D.Rasterizer3D_clipWidth || var15 > Rasterizer3D.Rasterizer3D_clipWidth) { - Rasterizer3D.field1735 = true; - } - - if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var16, var17, var18, var13, var14, var15)) { - Scene_selectedX = var6; - Scene_selectedY = var7; - } - - if (var1.triangleTextureId != null && var1.triangleTextureId[var9] != -1) { - if (!Scene_isLowDetail) { - if (var1.isFlat) { - Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1573[0], TileModel.field1573[1], TileModel.field1573[3], TileModel.field1576[0], TileModel.field1576[1], TileModel.field1576[3], TileModel.field1574[0], TileModel.field1574[1], TileModel.field1574[3], var1.triangleTextureId[var9]); - } else { - Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1573[var10], TileModel.field1573[var11], TileModel.field1573[var12], TileModel.field1576[var10], TileModel.field1576[var11], TileModel.field1576[var12], TileModel.field1574[var10], TileModel.field1574[var11], TileModel.field1574[var12], var1.triangleTextureId[var9]); - } - } else { - int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); - Rasterizer3D.method2971(var16, var17, var18, var13, var14, var15, method3086(var19, var1.triangleColorA[var9]), method3086(var19, var1.triangleColorB[var9]), method3086(var19, var1.triangleColorC[var9])); - } - } else if (var1.triangleColorA[var9] != 12345678) { - Rasterizer3D.method2971(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); - } - } - } - - } - - @ObfuscatedName("au") - @Export("occlude") - void occlude() { - int var1 = Scene_planeOccluderCounts[Scene_plane]; - Occluder[] var2 = Scene_planeOccluders[Scene_plane]; - Scene_currentOccludersCount = 0; - - for (int var3 = 0; var3 < var1; ++var3) { - Occluder var4 = var2[var3]; - int var5; - int var6; - int var7; - int var9; - boolean var13; - if (var4.type == 1) { - var5 = var4.minTileX - Scene_cameraXTile + 25; - if (var5 >= 0 && var5 <= 50) { - var6 = var4.minTileY - Scene_cameraYTile + 25; - if (var6 < 0) { - var6 = 0; - } - - var7 = var4.maxTileY - Scene_cameraYTile + 25; - if (var7 > 50) { - var7 = 50; - } - - var13 = false; - - while (var6 <= var7) { - if (visibleTiles[var5][var6++]) { - var13 = true; - break; - } - } - - if (var13) { - var9 = Scene_cameraX - var4.minX; - if (var9 > 32) { - var4.field1872 = 1; - } else { - if (var9 >= -32) { - continue; - } - - var4.field1872 = 2; - var9 = -var9; - } - - var4.field1879 = (var4.minZ - Scene_cameraZ << 8) / var9; - var4.field1876 = (var4.maxZ - Scene_cameraZ << 8) / var9; - var4.field1871 = (var4.minY - Scene_cameraY << 8) / var9; - var4.field1878 = (var4.maxY - Scene_cameraY << 8) / var9; - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; - } - } - } else if (var4.type == 2) { - var5 = var4.minTileY - Scene_cameraYTile + 25; - if (var5 >= 0 && var5 <= 50) { - var6 = var4.minTileX - Scene_cameraXTile + 25; - if (var6 < 0) { - var6 = 0; - } - - var7 = var4.maxTileX - Scene_cameraXTile + 25; - if (var7 > 50) { - var7 = 50; - } - - var13 = false; - - while (var6 <= var7) { - if (visibleTiles[var6++][var5]) { - var13 = true; - break; - } - } - - if (var13) { - var9 = Scene_cameraZ - var4.minZ; - if (var9 > 32) { - var4.field1872 = 3; - } else { - if (var9 >= -32) { - continue; - } - - var4.field1872 = 4; - var9 = -var9; - } - - var4.field1873 = (var4.minX - Scene_cameraX << 8) / var9; - var4.field1861 = (var4.maxX - Scene_cameraX << 8) / var9; - var4.field1871 = (var4.minY - Scene_cameraY << 8) / var9; - var4.field1878 = (var4.maxY - Scene_cameraY << 8) / var9; - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; - } - } - } else if (var4.type == 4) { - var5 = var4.minY - Scene_cameraY; - if (var5 > 128) { - var6 = var4.minTileY - Scene_cameraYTile + 25; - if (var6 < 0) { - var6 = 0; - } - - var7 = var4.maxTileY - Scene_cameraYTile + 25; - if (var7 > 50) { - var7 = 50; - } - - if (var6 <= var7) { - int var8 = var4.minTileX - Scene_cameraXTile + 25; - if (var8 < 0) { - var8 = 0; - } - - var9 = var4.maxTileX - Scene_cameraXTile + 25; - if (var9 > 50) { - var9 = 50; - } - - boolean var10 = false; - - label144: - for (int var11 = var8; var11 <= var9; ++var11) { - for (int var12 = var6; var12 <= var7; ++var12) { - if (visibleTiles[var11][var12]) { - var10 = true; - break label144; - } - } - } - - if (var10) { - var4.field1872 = 5; - var4.field1873 = (var4.minX - Scene_cameraX << 8) / var5; - var4.field1861 = (var4.maxX - Scene_cameraX << 8) / var5; - var4.field1879 = (var4.minZ - Scene_cameraZ << 8) / var5; - var4.field1876 = (var4.maxZ - Scene_cameraZ << 8) / var5; - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; - } - } - } - } - } - - } - - @ObfuscatedName("bg") - boolean method3089(int var1, int var2, int var3) { - int var4 = this.field1815[var1][var2][var3]; - if (var4 == -Scene_drawnCount) { - return false; - } else if (var4 == Scene_drawnCount) { - return true; - } else { - int var5 = var2 << 7; - int var6 = var3 << 7; - if (this.method3093(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method3093(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { - this.field1815[var1][var2][var3] = Scene_drawnCount; - return true; - } else { - this.field1815[var1][var2][var3] = -Scene_drawnCount; - return false; - } - } - } - - @ObfuscatedName("bn") - boolean method3090(int var1, int var2, int var3, int var4) { - if (!this.method3089(var1, var2, var3)) { - return false; - } else { - int var5 = var2 << 7; - int var6 = var3 << 7; - int var7 = this.tileHeights[var1][var2][var3] - 1; - int var8 = var7 - 120; - int var9 = var7 - 230; - int var10 = var7 - 238; - if (var4 < 16) { - if (var4 == 1) { - if (var5 > Scene_cameraX) { - if (!this.method3093(var5, var7, var6)) { - return false; - } - - if (!this.method3093(var5, var7, var6 + 128)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method3093(var5, var8, var6)) { - return false; - } - - if (!this.method3093(var5, var8, var6 + 128)) { - return false; - } - } - - if (!this.method3093(var5, var9, var6)) { - return false; - } - - if (!this.method3093(var5, var9, var6 + 128)) { - return false; - } - - return true; - } - - if (var4 == 2) { - if (var6 < Scene_cameraZ) { - if (!this.method3093(var5, var7, var6 + 128)) { - return false; - } - - if (!this.method3093(var5 + 128, var7, var6 + 128)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method3093(var5, var8, var6 + 128)) { - return false; - } - - if (!this.method3093(var5 + 128, var8, var6 + 128)) { - return false; - } - } - - if (!this.method3093(var5, var9, var6 + 128)) { - return false; - } - - if (!this.method3093(var5 + 128, var9, var6 + 128)) { - return false; - } - - return true; - } - - if (var4 == 4) { - if (var5 < Scene_cameraX) { - if (!this.method3093(var5 + 128, var7, var6)) { - return false; - } - - if (!this.method3093(var5 + 128, var7, var6 + 128)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method3093(var5 + 128, var8, var6)) { - return false; - } - - if (!this.method3093(var5 + 128, var8, var6 + 128)) { - return false; - } - } - - if (!this.method3093(var5 + 128, var9, var6)) { - return false; - } - - if (!this.method3093(var5 + 128, var9, var6 + 128)) { - return false; - } - - return true; - } - - if (var4 == 8) { - if (var6 > Scene_cameraZ) { - if (!this.method3093(var5, var7, var6)) { - return false; - } - - if (!this.method3093(var5 + 128, var7, var6)) { - return false; - } - } - - if (var1 > 0) { - if (!this.method3093(var5, var8, var6)) { - return false; - } - - if (!this.method3093(var5 + 128, var8, var6)) { - return false; - } - } - - if (!this.method3093(var5, var9, var6)) { - return false; - } - - if (!this.method3093(var5 + 128, var9, var6)) { - return false; - } - - return true; - } - } - - if (!this.method3093(var5 + 64, var10, var6 + 64)) { - return false; - } else if (var4 == 16) { - return this.method3093(var5, var9, var6 + 128); - } else if (var4 == 32) { - return this.method3093(var5 + 128, var9, var6 + 128); - } else if (var4 == 64) { - return this.method3093(var5 + 128, var9, var6); - } else if (var4 == 128) { - return this.method3093(var5, var9, var6); - } else { - return true; - } - } - } - - @ObfuscatedName("bk") - boolean method3138(int var1, int var2, int var3, int var4) { - if (!this.method3089(var1, var2, var3)) { - return false; - } else { - int var5 = var2 << 7; - int var6 = var3 << 7; - return this.method3093(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method3093(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); - } - } - - @ObfuscatedName("bp") - boolean method3092(int var1, int var2, int var3, int var4, int var5, int var6) { - int var7; - int var8; - if (var3 == var2 && var5 == var4) { - if (!this.method3089(var1, var2, var4)) { - return false; - } else { - var7 = var2 << 7; - var8 = var4 << 7; - return this.method3093(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method3093(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method3093(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method3093(var7 + 1, this.tileHeights[var1][var2][var4 + 1] - var6, var8 + 128 - 1); - } - } else { - for (var7 = var2; var7 <= var3; ++var7) { - for (var8 = var4; var8 <= var5; ++var8) { - if (this.field1815[var1][var7][var8] == -Scene_drawnCount) { - return false; - } - } - } - - var7 = (var2 << 7) + 1; - var8 = (var4 << 7) + 2; - int var9 = this.tileHeights[var1][var2][var4] - var6; - if (!this.method3093(var7, var9, var8)) { - return false; - } else { - int var10 = (var3 << 7) - 1; - if (!this.method3093(var10, var9, var8)) { - return false; - } else { - int var11 = (var5 << 7) - 1; - if (!this.method3093(var7, var9, var11)) { - return false; - } else if (!this.method3093(var10, var9, var11)) { - return false; - } else { - return true; - } - } - } - } - } - - @ObfuscatedName("bu") - boolean method3093(int var1, int var2, int var3) { - for (int var4 = 0; var4 < Scene_currentOccludersCount; ++var4) { - Occluder var5 = Scene_currentOccluders[var4]; - int var6; - int var7; - int var8; - int var9; - int var10; - if (var5.field1872 == 1) { - var6 = var5.minX - var1; - if (var6 > 0) { - var7 = (var6 * var5.field1879 >> 8) + var5.minZ; - var8 = (var6 * var5.field1876 >> 8) + var5.maxZ; - var9 = (var6 * var5.field1871 >> 8) + var5.minY; - var10 = (var6 * var5.field1878 >> 8) + var5.maxY; - if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field1872 == 2) { - var6 = var1 - var5.minX; - if (var6 > 0) { - var7 = (var6 * var5.field1879 >> 8) + var5.minZ; - var8 = (var6 * var5.field1876 >> 8) + var5.maxZ; - var9 = (var6 * var5.field1871 >> 8) + var5.minY; - var10 = (var6 * var5.field1878 >> 8) + var5.maxY; - if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field1872 == 3) { - var6 = var5.minZ - var3; - if (var6 > 0) { - var7 = (var6 * var5.field1873 >> 8) + var5.minX; - var8 = (var6 * var5.field1861 >> 8) + var5.maxX; - var9 = (var6 * var5.field1871 >> 8) + var5.minY; - var10 = (var6 * var5.field1878 >> 8) + var5.maxY; - if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field1872 == 4) { - var6 = var3 - var5.minZ; - if (var6 > 0) { - var7 = (var6 * var5.field1873 >> 8) + var5.minX; - var8 = (var6 * var5.field1861 >> 8) + var5.maxX; - var9 = (var6 * var5.field1871 >> 8) + var5.minY; - var10 = (var6 * var5.field1878 >> 8) + var5.maxY; - if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { - return true; - } - } - } else if (var5.field1872 == 5) { - var6 = var2 - var5.minY; - if (var6 > 0) { - var7 = (var6 * var5.field1873 >> 8) + var5.minX; - var8 = (var6 * var5.field1861 >> 8) + var5.maxX; - var9 = (var6 * var5.field1879 >> 8) + var5.minZ; - var10 = (var6 * var5.field1876 >> 8) + var5.maxZ; - if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { - return true; - } - } - } - } - - return false; - } - - @ObfuscatedName("g") - @Export("Scene_addOccluder") - public static void Scene_addOccluder(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - Occluder var8 = new Occluder(); - var8.minTileX = var2 / 128; - var8.maxTileX = var3 / 128; - var8.minTileY = var4 / 128; - var8.maxTileY = var5 / 128; - var8.type = var1; - var8.minX = var2; - var8.maxX = var3; - var8.minZ = var4; - var8.maxZ = var5; - var8.minY = var6; - var8.maxY = var7; - Scene_planeOccluders[var0][Scene_planeOccluderCounts[var0]++] = var8; - } - - @ObfuscatedName("ak") - @Export("Scene_buildVisiblityMap") - public static void Scene_buildVisiblityMap(int[] var0, int var1, int var2, int var3, int var4) { - Scene_viewportXMin = 0; - Scene_viewportYMin = 0; - Scene_viewportXMax = var3; - Scene_viewportYMax = var4; - Scene_viewportXCenter = var3 / 2; - Scene_viewportYCenter = var4 / 2; - boolean[][][][] var5 = new boolean[var0.length][32][53][53]; - - int var6; - int var7; - int var8; - int var9; - int var11; - int var12; - for (var6 = 128; var6 <= 383; var6 += 32) { - for (var7 = 0; var7 < 2048; var7 += 64) { - Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var6]; - Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var6]; - Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var7]; - Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var7]; - var8 = (var6 - 128) / 32; - var9 = var7 / 64; - - for (int var10 = -26; var10 < 26; ++var10) { - for (var11 = -26; var11 < 26; ++var11) { - var12 = var10 * 128; - int var13 = var11 * 128; - boolean var14 = false; - - for (int var15 = -var1; var15 <= var2; var15 += 128) { - if (method3095(var12, var0[var8] + var15, var13)) { - var14 = true; - break; - } - } - - var5[var8][var9][var10 + 1 + 25][var11 + 1 + 25] = var14; - } - } - } - } - - for (var6 = 0; var6 < 8; ++var6) { - for (var7 = 0; var7 < 32; ++var7) { - for (var8 = -25; var8 < 25; ++var8) { - for (var9 = -25; var9 < 25; ++var9) { - boolean var16 = false; - - label76: - for (var11 = -1; var11 <= 1; ++var11) { - for (var12 = -1; var12 <= 1; ++var12) { - if (var5[var6][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { - var16 = true; - break label76; - } - - if (var5[var6][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { - var16 = true; - break label76; - } - - if (var5[var6 + 1][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { - var16 = true; - break label76; - } - - if (var5[var6 + 1][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { - var16 = true; - break label76; - } - } - } - - visibilityMap[var6][var7][var8 + 25][var9 + 25] = var16; - } - } - } - } - - } - - @ObfuscatedName("ay") - static boolean method3095(int var0, int var1, int var2) { - int var3 = var0 * Scene_cameraYawCosine + var2 * Scene_cameraYawSine >> 16; - int var4 = var2 * Scene_cameraYawCosine - var0 * Scene_cameraYawSine >> 16; - int var5 = var4 * Scene_cameraPitchCosine + Scene_cameraPitchSine * var1 >> 16; - int var6 = Scene_cameraPitchCosine * var1 - var4 * Scene_cameraPitchSine >> 16; - if (var5 >= 50 && var5 <= 3500) { - int var7 = var3 * 128 / var5 + Scene_viewportXCenter; - int var8 = var6 * 128 / var5 + Scene_viewportYCenter; - return var7 >= Scene_viewportXMin && var7 <= Scene_viewportXMax && var8 >= Scene_viewportYMin && var8 <= Scene_viewportYMax; - } else { - return false; - } - } - - @ObfuscatedName("aa") - public static boolean method3080() { - return viewportWalking && Scene_selectedX != -1; - } - - @ObfuscatedName("aq") - public static void method3117() { - Scene_selectedX = -1; - viewportWalking = false; - } - - @ObfuscatedName("am") - static final int method3086(int var0, int var1) { - var1 = (var0 & 127) * var1 >> 7; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - - @ObfuscatedName("aw") - @Export("containsBounds") - static boolean containsBounds(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (var1 < var2 && var1 < var3 && var1 < var4) { - return false; - } else if (var1 > var2 && var1 > var3 && var1 > var4) { - return false; - } else if (var0 < var5 && var0 < var6 && var0 < var7) { - return false; - } else if (var0 > var5 && var0 > var6 && var0 > var7) { - return false; - } else { - int var8 = (var1 - var2) * (var6 - var5) - (var0 - var5) * (var3 - var2); - int var9 = (var7 - var6) * (var1 - var3) - (var0 - var6) * (var4 - var3); - int var10 = (var5 - var7) * (var1 - var4) - (var2 - var4) * (var0 - var7); - if (var8 == 0) { - if (var9 != 0) { - return var9 < 0 ? var10 <= 0 : var10 >= 0; - } else { - return true; - } - } else { - return var8 < 0 ? var9 <= 0 && var10 <= 0 : var9 >= 0 && var10 >= 0; - } - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ex") +@Implements("Scene") +public class Scene { + @ObfuscatedName("z") + @Export("Scene_isLowDetail") + public static boolean Scene_isLowDetail; + @ObfuscatedName("e") + @Export("tileUpdateCount") + static int tileUpdateCount; + @ObfuscatedName("w") + @Export("Scene_plane") + static int Scene_plane; + @ObfuscatedName("t") + @Export("Scene_drawnCount") + static int Scene_drawnCount; + @ObfuscatedName("g") + @Export("Scene_cameraXTileMin") + static int Scene_cameraXTileMin; + @ObfuscatedName("x") + @Export("Scene_cameraXTileMax") + static int Scene_cameraXTileMax; + @ObfuscatedName("h") + @Export("Scene_cameraYTileMin") + static int Scene_cameraYTileMin; + @ObfuscatedName("s") + @Export("Scene_cameraYTileMax") + static int Scene_cameraYTileMax; + @ObfuscatedName("f") + @Export("Scene_cameraXTile") + static int Scene_cameraXTile; + @ObfuscatedName("j") + @Export("Scene_cameraYTile") + static int Scene_cameraYTile; + @ObfuscatedName("d") + @Export("Scene_cameraX") + static int Scene_cameraX; + @ObfuscatedName("l") + @Export("Scene_cameraY") + static int Scene_cameraY; + @ObfuscatedName("k") + @Export("Scene_cameraZ") + static int Scene_cameraZ; + @ObfuscatedName("ac") + @Export("Scene_cameraPitchSine") + static int Scene_cameraPitchSine; + @ObfuscatedName("az") + @Export("Scene_cameraPitchCosine") + static int Scene_cameraPitchCosine; + @ObfuscatedName("aw") + @Export("Scene_cameraYawSine") + static int Scene_cameraYawSine; + @ObfuscatedName("aa") + @Export("Scene_cameraYawCosine") + static int Scene_cameraYawCosine; + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "[Lej;" + ) + @Export("gameObjects") + static GameObject[] gameObjects; + @ObfuscatedName("ar") + @Export("checkClick") + static boolean checkClick; + @ObfuscatedName("ab") + @Export("Scene_selectedPlane") + static int Scene_selectedPlane; + @ObfuscatedName("ax") + @Export("Scene_selectedScreenX") + static int Scene_selectedScreenX; + @ObfuscatedName("as") + @Export("Scene_selectedScreenY") + static int Scene_selectedScreenY; + @ObfuscatedName("ao") + @Export("Scene_selectedX") + public static int Scene_selectedX; + @ObfuscatedName("al") + @Export("Scene_selectedY") + public static int Scene_selectedY; + @ObfuscatedName("ad") + @Export("viewportWalking") + static boolean viewportWalking; + @ObfuscatedName("ak") + @Export("Scene_planesCount") + static int Scene_planesCount; + @ObfuscatedName("aq") + @Export("Scene_planeOccluderCounts") + static int[] Scene_planeOccluderCounts; + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "[[Les;" + ) + @Export("Scene_planeOccluders") + static Occluder[][] Scene_planeOccluders; + @ObfuscatedName("ae") + @Export("Scene_currentOccludersCount") + static int Scene_currentOccludersCount; + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "[Les;" + ) + @Export("Scene_currentOccluders") + static Occluder[] Scene_currentOccluders; + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("Scene_tilesDeque") + static NodeDeque Scene_tilesDeque; + @ObfuscatedName("ag") + static final int[] field1833; + @ObfuscatedName("aj") + static final int[] field1816; + @ObfuscatedName("ay") + static final int[] field1769; + @ObfuscatedName("au") + static final int[] field1818; + @ObfuscatedName("af") + static final int[] field1815; + @ObfuscatedName("at") + static final int[] field1814; + @ObfuscatedName("bx") + static final int[] field1821; + @ObfuscatedName("bz") + @Export("visibilityMap") + static boolean[][][][] visibilityMap; + @ObfuscatedName("bc") + @Export("visibleTiles") + static boolean[][] visibleTiles; + @ObfuscatedName("bk") + @Export("Scene_viewportXCenter") + static int Scene_viewportXCenter; + @ObfuscatedName("ba") + @Export("Scene_viewportYCenter") + static int Scene_viewportYCenter; + @ObfuscatedName("bn") + @Export("Scene_viewportXMin") + static int Scene_viewportXMin; + @ObfuscatedName("be") + @Export("Scene_viewportYMin") + static int Scene_viewportYMin; + @ObfuscatedName("bu") + @Export("Scene_viewportXMax") + static int Scene_viewportXMax; + @ObfuscatedName("bi") + @Export("Scene_viewportYMax") + static int Scene_viewportYMax; + @ObfuscatedName("n") + @Export("planes") + int planes; + @ObfuscatedName("v") + @Export("xSize") + int xSize; + @ObfuscatedName("u") + @Export("ySize") + int ySize; + @ObfuscatedName("r") + @Export("tileHeights") + int[][][] tileHeights; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "[[[Ldl;" + ) + @Export("tiles") + Tile[][][] tiles; + @ObfuscatedName("q") + @Export("minPlane") + int minPlane; + @ObfuscatedName("m") + @Export("tempGameObjectsCount") + int tempGameObjectsCount; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "[Lej;" + ) + @Export("tempGameObjects") + GameObject[] tempGameObjects; + @ObfuscatedName("i") + int[][][] field1778; + @ObfuscatedName("bj") + @Export("tileShape2D") + int[][] tileShape2D; + @ObfuscatedName("bs") + @Export("tileRotation2D") + int[][] tileRotation2D; + + static { + Scene_isLowDetail = true; + tileUpdateCount = 0; + Scene_plane = 0; + gameObjects = new GameObject[100]; + checkClick = false; + Scene_selectedPlane = 0; + Scene_selectedScreenX = 0; + Scene_selectedScreenY = 0; + Scene_selectedX = -1; + Scene_selectedY = -1; + viewportWalking = false; + Scene_planesCount = 4; + Scene_planeOccluderCounts = new int[Scene_planesCount]; + Scene_planeOccluders = new Occluder[Scene_planesCount][500]; + Scene_currentOccludersCount = 0; + Scene_currentOccluders = new Occluder[500]; + Scene_tilesDeque = new NodeDeque(); + field1833 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; + field1816 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; + field1769 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; + field1818 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; + field1815 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; + field1814 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; + field1821 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; + visibilityMap = new boolean[8][32][51][51]; + } + + public Scene(int var1, int var2, int var3, int[][][] var4) { + this.minPlane = 0; + this.tempGameObjectsCount = 0; + this.tempGameObjects = new GameObject[5000]; + this.tileShape2D = new int[][]{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1}}; + this.tileRotation2D = new int[][]{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}}; + this.planes = var1; + this.xSize = var2; + this.ySize = var3; + this.tiles = new Tile[var1][var2][var3]; + this.field1778 = new int[var1][var2 + 1][var3 + 1]; + this.tileHeights = var4; + this.clear(); + } + + @ObfuscatedName("z") + @Export("clear") + public void clear() { + int var1; + int var2; + for (var1 = 0; var1 < this.planes; ++var1) { + for (var2 = 0; var2 < this.xSize; ++var2) { + for (int var3 = 0; var3 < this.ySize; ++var3) { + this.tiles[var1][var2][var3] = null; + } + } + } + + for (var1 = 0; var1 < Scene_planesCount; ++var1) { + for (var2 = 0; var2 < Scene_planeOccluderCounts[var1]; ++var2) { + Scene_planeOccluders[var1][var2] = null; + } + + Scene_planeOccluderCounts[var1] = 0; + } + + for (var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { + this.tempGameObjects[var1] = null; + } + + this.tempGameObjectsCount = 0; + + for (var1 = 0; var1 < gameObjects.length; ++var1) { + gameObjects[var1] = null; + } + + } + + @ObfuscatedName("n") + @Export("init") + public void init(int var1) { + this.minPlane = var1; + + for (int var2 = 0; var2 < this.xSize; ++var2) { + for (int var3 = 0; var3 < this.ySize; ++var3) { + if (this.tiles[var1][var2][var3] == null) { + this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); + } + } + } + + } + + @ObfuscatedName("v") + @Export("setLinkBelow") + public void setLinkBelow(int var1, int var2) { + Tile var3 = this.tiles[0][var1][var2]; + + for (int var4 = 0; var4 < 3; ++var4) { + Tile var5 = this.tiles[var4][var1][var2] = this.tiles[var4 + 1][var1][var2]; + if (var5 != null) { + --var5.plane; + + for (int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { + GameObject var7 = var5.gameObjects[var6]; + if (WorldMapDecoration.method346(var7.tag) && var7.startX == var1 && var2 == var7.startY) { + --var7.plane; + } + } + } + } + + if (this.tiles[0][var1][var2] == null) { + this.tiles[0][var1][var2] = new Tile(0, var1, var2); + } + + this.tiles[0][var1][var2].linkedBelowTile = var3; + this.tiles[3][var1][var2] = null; + } + + @ObfuscatedName("r") + @Export("setTileMinPlane") + public void setTileMinPlane(int var1, int var2, int var3, int var4) { + Tile var5 = this.tiles[var1][var2][var3]; + if (var5 != null) { + this.tiles[var1][var2][var3].minPlane = var4; + } + } + + @ObfuscatedName("p") + @Export("addTile") + public void addTile(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 var20) { + TilePaint var21; + int var22; + if (var4 == 0) { + var21 = new TilePaint(var11, var12, var13, var14, -1, var19, false); + + for (var22 = var1; var22 >= 0; --var22) { + if (this.tiles[var22][var2][var3] == null) { + this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); + } + } + + this.tiles[var1][var2][var3].paint = var21; + } else if (var4 != 1) { + TileModel var23 = new TileModel(var4, var5, var6, var2, var3, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19, var20); + + for (var22 = var1; var22 >= 0; --var22) { + if (this.tiles[var22][var2][var3] == null) { + this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); + } + } + + this.tiles[var1][var2][var3].model = var23; + } else { + var21 = new TilePaint(var15, var16, var17, var18, var6, var20, var8 == var7 && var7 == var9 && var10 == var7); + + for (var22 = var1; var22 >= 0; --var22) { + if (this.tiles[var22][var2][var3] == null) { + this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); + } + } + + this.tiles[var1][var2][var3].paint = var21; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIILer;JI)V" + ) + @Export("newFloorDecoration") + public void newFloorDecoration(int var1, int var2, int var3, int var4, Entity var5, long var6, int var8) { + if (var5 != null) { + FloorDecoration var9 = new FloorDecoration(); + var9.entity = var5; + var9.x = var2 * 128 + 64; + var9.y = var3 * 128 + 64; + var9.tileHeight = var4; + var9.tag = var6; + var9.flags = var8; + if (this.tiles[var1][var2][var3] == null) { + this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); + } + + this.tiles[var1][var2][var3].floorDecoration = var9; + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(IIIILer;JLer;Ler;)V" + ) + @Export("newGroundItemPile") + public void newGroundItemPile(int var1, int var2, int var3, int var4, Entity var5, long var6, Entity var8, Entity var9) { + TileItemPile var10 = new TileItemPile(); + var10.first = var5; + var10.x = var2 * 128 + 64; + var10.y = var3 * 128 + 64; + var10.tileHeight = var4; + var10.tag = var6; + var10.second = var8; + var10.third = var9; + int var11 = 0; + Tile var12 = this.tiles[var1][var2][var3]; + if (var12 != null) { + for (int var13 = 0; var13 < var12.gameObjectsCount; ++var13) { + if ((var12.gameObjects[var13].flags & 256) == 256 && var12.gameObjects[var13].entity instanceof Model) { + Model var14 = (Model)var12.gameObjects[var13].entity; + var14.calculateBoundsCylinder(); + if (var14.height > var11) { + var11 = var14.height; + } + } + } + } + + var10.height = var11; + if (this.tiles[var1][var2][var3] == null) { + this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); + } + + this.tiles[var1][var2][var3].tileItemPile = var10; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(IIIILer;Ler;IIJI)V" + ) + @Export("newBoundaryObject") + public void newBoundaryObject(int var1, int var2, int var3, int var4, Entity var5, Entity var6, int var7, int var8, long var9, int var11) { + if (var5 != null || var6 != null) { + BoundaryObject var12 = new BoundaryObject(); + var12.tag = var9; + var12.flags = var11; + var12.x = var2 * 128 + 64; + var12.y = var3 * 128 + 64; + var12.tileHeight = var4; + var12.entity1 = var5; + var12.entity2 = var6; + var12.orientationA = var7; + var12.orientationB = var8; + + for (int var13 = var1; var13 >= 0; --var13) { + if (this.tiles[var13][var2][var3] == null) { + this.tiles[var13][var2][var3] = new Tile(var13, var2, var3); + } + } + + this.tiles[var1][var2][var3].boundaryObject = var12; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(IIIILer;Ler;IIIIJI)V" + ) + @Export("newWallDecoration") + public void newWallDecoration(int var1, int var2, int var3, int var4, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long var11, int var13) { + if (var5 != null) { + WallDecoration var14 = new WallDecoration(); + var14.tag = var11; + var14.flags = var13; + var14.x = var2 * 128 + 64; + var14.y = var3 * 128 + 64; + var14.tileHeight = var4; + var14.entity1 = var5; + var14.entity2 = var6; + var14.orientation = var7; + var14.orientation2 = var8; + var14.xOffset = var9; + var14.yOffset = var10; + + for (int var15 = var1; var15 >= 0; --var15) { + if (this.tiles[var15][var2][var3] == null) { + this.tiles[var15][var2][var3] = new Tile(var15, var2, var3); + } + } + + this.tiles[var1][var2][var3].wallDecoration = var14; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IIIIIILer;IJI)Z" + ) + public boolean method3052(int var1, int var2, int var3, int var4, int var5, int var6, Entity var7, int var8, long var9, int var11) { + if (var7 == null) { + return true; + } else { + int var12 = var5 * 64 + var2 * 128; + int var13 = var6 * 64 + var3 * 128; + return this.newGameObject(var1, var2, var3, var5, var6, var12, var13, var4, var7, var8, false, var9, var11); + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIIIILer;IJZ)Z" + ) + @Export("drawEntity") + public boolean drawEntity(int var1, int var2, int var3, int var4, int var5, Entity var6, int var7, long var8, boolean var10) { + if (var6 == null) { + return true; + } else { + int var11 = var2 - var5; + int var12 = var3 - var5; + int var13 = var5 + var2; + int var14 = var3 + var5; + if (var10) { + if (var7 > 640 && var7 < 1408) { + var14 += 128; + } + + if (var7 > 1152 && var7 < 1920) { + var13 += 128; + } + + if (var7 > 1664 || var7 < 384) { + var12 -= 128; + } + + if (var7 > 128 && var7 < 896) { + var11 -= 128; + } + } + + var11 /= 128; + var12 /= 128; + var13 /= 128; + var14 /= 128; + return this.newGameObject(var1, var11, var12, var13 - var11 + 1, var14 - var12 + 1, var2, var3, var4, var6, var7, true, var8, 0); + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(IIIIILer;IJIIII)Z" + ) + @Export("addNullableObject") + public boolean addNullableObject(int var1, int var2, int var3, int var4, int var5, Entity var6, int var7, long var8, int var10, int var11, int var12, int var13) { + return var6 == null ? true : this.newGameObject(var1, var10, var11, var12 - var10 + 1, var13 - var11 + 1, var2, var3, var4, var6, var7, true, var8, 0); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IIIIIIIILer;IZJI)Z" + ) + @Export("newGameObject") + boolean newGameObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Entity var9, int var10, boolean var11, long var12, int var14) { + int var16; + for (int var15 = var2; var15 < var2 + var4; ++var15) { + for (var16 = var3; var16 < var3 + var5; ++var16) { + if (var15 < 0 || var16 < 0 || var15 >= this.xSize || var16 >= this.ySize) { + return false; + } + + Tile var22 = this.tiles[var1][var15][var16]; + if (var22 != null && var22.gameObjectsCount >= 5) { + return false; + } + } + } + + GameObject var21 = new GameObject(); + var21.tag = var12; + var21.flags = var14; + var21.plane = var1; + var21.centerX = var6; + var21.centerY = var7; + var21.height = var8; + var21.entity = var9; + var21.orientation = var10; + var21.startX = var2; + var21.startY = var3; + var21.endX = var2 + var4 - 1; + var21.endY = var3 + var5 - 1; + + for (var16 = var2; var16 < var2 + var4; ++var16) { + for (int var17 = var3; var17 < var3 + var5; ++var17) { + int var18 = 0; + if (var16 > var2) { + ++var18; + } + + if (var16 < var2 + var4 - 1) { + var18 += 4; + } + + if (var17 > var3) { + var18 += 8; + } + + if (var17 < var3 + var5 - 1) { + var18 += 2; + } + + for (int var19 = var1; var19 >= 0; --var19) { + if (this.tiles[var19][var16][var17] == null) { + this.tiles[var19][var16][var17] = new Tile(var19, var16, var17); + } + } + + Tile var23 = this.tiles[var1][var16][var17]; + var23.gameObjects[var23.gameObjectsCount] = var21; + var23.gameObjectEdgeMasks[var23.gameObjectsCount] = var18; + var23.gameObjectsEdgeMask |= var18; + ++var23.gameObjectsCount; + } + } + + if (var11) { + this.tempGameObjects[this.tempGameObjectsCount++] = var21; + } + + return true; + } + + @ObfuscatedName("e") + @Export("clearTempGameObjects") + public void clearTempGameObjects() { + for (int var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { + GameObject var2 = this.tempGameObjects[var1]; + this.removeGameObject(var2); + this.tempGameObjects[var1] = null; + } + + this.tempGameObjectsCount = 0; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Lej;)V" + ) + @Export("removeGameObject") + void removeGameObject(GameObject var1) { + for (int var2 = var1.startX; var2 <= var1.endX; ++var2) { + for (int var3 = var1.startY; var3 <= var1.endY; ++var3) { + Tile var4 = this.tiles[var1.plane][var2][var3]; + if (var4 != null) { + int var5; + for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + if (var4.gameObjects[var5] == var1) { + --var4.gameObjectsCount; + + for (int var6 = var5; var6 < var4.gameObjectsCount; ++var6) { + var4.gameObjects[var6] = var4.gameObjects[var6 + 1]; + var4.gameObjectEdgeMasks[var6] = var4.gameObjectEdgeMasks[var6 + 1]; + } + + var4.gameObjects[var4.gameObjectsCount] = null; + break; + } + } + + var4.gameObjectsEdgeMask = 0; + + for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + var4.gameObjectsEdgeMask |= var4.gameObjectEdgeMasks[var5]; + } + } + } + } + + } + + @ObfuscatedName("h") + public void method3123(int var1, int var2, int var3, int var4) { + Tile var5 = this.tiles[var1][var2][var3]; + if (var5 != null) { + WallDecoration var6 = var5.wallDecoration; + if (var6 != null) { + var6.xOffset = var4 * var6.xOffset / 16; + var6.yOffset = var4 * var6.yOffset / 16; + } + } + } + + @ObfuscatedName("s") + @Export("removeBoundaryObject") + public void removeBoundaryObject(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.boundaryObject = null; + } + } + + @ObfuscatedName("f") + @Export("removeWallDecoration") + public void removeWallDecoration(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.wallDecoration = null; + } + } + + @ObfuscatedName("j") + @Export("removeGameObject") + public void removeGameObject(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + GameObject var6 = var4.gameObjects[var5]; + if (WorldMapDecoration.method346(var6.tag) && var2 == var6.startX && var3 == var6.startY) { + this.removeGameObject(var6); + return; + } + } + + } + } + + @ObfuscatedName("d") + @Export("removeFloorDecoration") + public void removeFloorDecoration(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.floorDecoration = null; + } + } + + @ObfuscatedName("l") + @Export("removeGroundItemPile") + public void removeGroundItemPile(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.tileItemPile = null; + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(III)Leo;" + ) + public BoundaryObject method3064(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 == null ? null : var4.boundaryObject; + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(III)Leg;" + ) + public WallDecoration method3065(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 == null ? null : var4.wallDecoration; + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(III)Lej;" + ) + public GameObject method3066(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 == null) { + return null; + } else { + for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + GameObject var6 = var4.gameObjects[var5]; + if (WorldMapDecoration.method346(var6.tag) && var2 == var6.startX && var3 == var6.startY) { + return var6; + } + } + + return null; + } + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(III)Ldj;" + ) + @Export("getFloorDecoration") + public FloorDecoration getFloorDecoration(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.floorDecoration != null ? var4.floorDecoration : null; + } + + @ObfuscatedName("ar") + @Export("getBoundaryObjectTag") + public long getBoundaryObjectTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.boundaryObject != null ? var4.boundaryObject.tag : 0L; + } + + @ObfuscatedName("ab") + @Export("getWallDecorationTag") + public long getWallDecorationTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.wallDecoration != null ? var4.wallDecoration.tag : 0L; + } + + @ObfuscatedName("ax") + @Export("getGameObjectTag") + public long getGameObjectTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 == null) { + return 0L; + } else { + for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + GameObject var6 = var4.gameObjects[var5]; + if (WorldMapDecoration.method346(var6.tag) && var2 == var6.startX && var3 == var6.startY) { + return var6.tag; + } + } + + return 0L; + } + } + + @ObfuscatedName("as") + @Export("getFloorDecorationTag") + public long getFloorDecorationTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.floorDecoration != null ? var4.floorDecoration.tag : 0L; + } + + @ObfuscatedName("ao") + @Export("getObjectFlags") + public int getObjectFlags(int var1, int var2, int var3, long var4) { + Tile var6 = this.tiles[var1][var2][var3]; + if (var6 == null) { + return -1; + } else if (var6.boundaryObject != null && var6.boundaryObject.tag == var4) { + return var6.boundaryObject.flags & 255; + } else if (var6.wallDecoration != null && var6.wallDecoration.tag == var4) { + return var6.wallDecoration.flags & 255; + } else if (var6.floorDecoration != null && var6.floorDecoration.tag == var4) { + return var6.floorDecoration.flags & 255; + } else { + for (int var7 = 0; var7 < var6.gameObjectsCount; ++var7) { + if (var6.gameObjects[var7].tag == var4) { + return var6.gameObjects[var7].flags & 255; + } + } + + return -1; + } + } + + @ObfuscatedName("al") + public void method3067(int var1, int var2, int var3) { + for (int var4 = 0; var4 < this.planes; ++var4) { + for (int var5 = 0; var5 < this.xSize; ++var5) { + for (int var6 = 0; var6 < this.ySize; ++var6) { + Tile var7 = this.tiles[var4][var5][var6]; + if (var7 != null) { + BoundaryObject var8 = var7.boundaryObject; + ModelData var10; + if (var8 != null && var8.entity1 instanceof ModelData) { + ModelData var9 = (ModelData)var8.entity1; + this.method3108(var9, var4, var5, var6, 1, 1); + if (var8.entity2 instanceof ModelData) { + var10 = (ModelData)var8.entity2; + this.method3108(var10, var4, var5, var6, 1, 1); + ModelData.method2775(var9, var10, 0, 0, 0, false); + var8.entity2 = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); + } + + var8.entity1 = var9.toModel(var9.ambient, var9.contrast, var1, var2, var3); + } + + for (int var12 = 0; var12 < var7.gameObjectsCount; ++var12) { + GameObject var14 = var7.gameObjects[var12]; + if (var14 != null && var14.entity instanceof ModelData) { + ModelData var11 = (ModelData)var14.entity; + this.method3108(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); + var14.entity = var11.toModel(var11.ambient, var11.contrast, var1, var2, var3); + } + } + + FloorDecoration var13 = var7.floorDecoration; + if (var13 != null && var13.entity instanceof ModelData) { + var10 = (ModelData)var13.entity; + this.method3074(var10, var4, var5, var6); + var13.entity = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); + } + } + } + } + } + + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(Ldw;III)V" + ) + void method3074(ModelData var1, int var2, int var3, int var4) { + Tile var5; + ModelData var6; + if (var3 < this.xSize) { + var5 = this.tiles[var2][var3 + 1][var4]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.entity; + ModelData.method2775(var1, var6, 128, 0, 0, true); + } + } + + if (var4 < this.xSize) { + var5 = this.tiles[var2][var3][var4 + 1]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.entity; + ModelData.method2775(var1, var6, 0, 0, 128, true); + } + } + + if (var3 < this.xSize && var4 < this.ySize) { + var5 = this.tiles[var2][var3 + 1][var4 + 1]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.entity; + ModelData.method2775(var1, var6, 128, 0, 128, true); + } + } + + if (var3 < this.xSize && var4 > 0) { + var5 = this.tiles[var2][var3 + 1][var4 - 1]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.entity instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.entity; + ModelData.method2775(var1, var6, 128, 0, -128, true); + } + } + + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(Ldw;IIIII)V" + ) + void method3108(ModelData var1, int var2, int var3, int var4, int var5, int var6) { + boolean var7 = true; + int var8 = var3; + int var9 = var3 + var5; + int var10 = var4 - 1; + int var11 = var4 + var6; + + for (int var12 = var2; var12 <= var2 + 1; ++var12) { + if (var12 != this.planes) { + for (int var13 = var8; var13 <= var9; ++var13) { + if (var13 >= 0 && var13 < this.xSize) { + for (int var14 = var10; var14 <= var11; ++var14) { + if (var14 >= 0 && var14 < this.ySize && (!var7 || var13 >= var9 || var14 >= var11 || var14 < var4 && var3 != var13)) { + Tile var15 = this.tiles[var12][var13][var14]; + if (var15 != null) { + int var16 = (this.tileHeights[var12][var13 + 1][var14] + this.tileHeights[var12][var13 + 1][var14 + 1] + this.tileHeights[var12][var13][var14] + this.tileHeights[var12][var13][var14 + 1]) / 4 - (this.tileHeights[var2][var3 + 1][var4] + this.tileHeights[var2][var3][var4] + this.tileHeights[var2][var3 + 1][var4 + 1] + this.tileHeights[var2][var3][var4 + 1]) / 4; + BoundaryObject var17 = var15.boundaryObject; + if (var17 != null) { + ModelData var18; + if (var17.entity1 instanceof ModelData) { + var18 = (ModelData)var17.entity1; + ModelData.method2775(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); + } + + if (var17.entity2 instanceof ModelData) { + var18 = (ModelData)var17.entity2; + ModelData.method2775(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); + } + } + + for (int var23 = 0; var23 < var15.gameObjectsCount; ++var23) { + GameObject var19 = var15.gameObjects[var23]; + if (var19 != null && var19.entity instanceof ModelData) { + ModelData var20 = (ModelData)var19.entity; + int var21 = var19.endX - var19.startX + 1; + int var22 = var19.endY - var19.startY + 1; + ModelData.method2775(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); + } + } + } + } + } + } + } + + --var8; + var7 = false; + } + } + + } + + @ObfuscatedName("ai") + @Export("drawTileMinimap") + public void drawTileMinimap(int[] var1, int var2, int var3, int var4, int var5, int var6) { + Tile var7 = this.tiles[var4][var5][var6]; + if (var7 != null) { + TilePaint var8 = var7.paint; + int var10; + if (var8 != null) { + int var9 = var8.rgb; + if (var9 != 0) { + for (var10 = 0; var10 < 4; ++var10) { + var1[var2] = var9; + var1[var2 + 1] = var9; + var1[var2 + 2] = var9; + var1[var2 + 3] = var9; + var2 += var3; + } + + } + } else { + TileModel var18 = var7.model; + if (var18 != null) { + var10 = var18.shape; + int var11 = var18.rotation; + int var12 = var18.underlayRgb; + int var13 = var18.overlayRgb; + int[] var14 = this.tileShape2D[var10]; + int[] var15 = this.tileRotation2D[var11]; + int var16 = 0; + int var17; + if (var12 != 0) { + for (var17 = 0; var17 < 4; ++var17) { + var1[var2] = var14[var15[var16++]] == 0 ? var12 : var13; + var1[var2 + 1] = var14[var15[var16++]] == 0 ? var12 : var13; + var1[var2 + 2] = var14[var15[var16++]] == 0 ? var12 : var13; + var1[var2 + 3] = var14[var15[var16++]] == 0 ? var12 : var13; + var2 += var3; + } + } else { + for (var17 = 0; var17 < 4; ++var17) { + if (var14[var15[var16++]] != 0) { + var1[var2] = var13; + } + + if (var14[var15[var16++]] != 0) { + var1[var2 + 1] = var13; + } + + if (var14[var15[var16++]] != 0) { + var1[var2 + 2] = var13; + } + + if (var14[var15[var16++]] != 0) { + var1[var2 + 3] = var13; + } + + var2 += var3; + } + } + + } + } + } + } + + @ObfuscatedName("am") + @Export("menuOpen") + public void menuOpen(int var1, int var2, int var3, boolean var4) { + if (!method3081() || var4) { + checkClick = true; + viewportWalking = var4; + Scene_selectedPlane = var1; + Scene_selectedScreenX = var2; + Scene_selectedScreenY = var3; + Scene_selectedX = -1; + Scene_selectedY = -1; + } + } + + @ObfuscatedName("ae") + @Export("setViewportWalking") + public void setViewportWalking() { + viewportWalking = true; + } + + @ObfuscatedName("ag") + @Export("draw") + public void draw(int var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 < 0) { + var1 = 0; + } else if (var1 >= this.xSize * 128) { + var1 = this.xSize * 128 - 1; + } + + if (var3 < 0) { + var3 = 0; + } else if (var3 >= this.ySize * 128) { + var3 = this.ySize * 128 - 1; + } + + if (var4 < 128) { + var4 = 128; + } else if (var4 > 383) { + var4 = 383; + } + + ++Scene_drawnCount; + Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var4]; + Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var4]; + Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var5]; + Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var5]; + visibleTiles = visibilityMap[(var4 - 128) / 32][var5 / 64]; + Scene_cameraX = var1; + Scene_cameraY = var2; + Scene_cameraZ = var3; + Scene_cameraXTile = var1 / 128; + Scene_cameraYTile = var3 / 128; + Scene_plane = var6; + Scene_cameraXTileMin = Scene_cameraXTile - 25; + if (Scene_cameraXTileMin < 0) { + Scene_cameraXTileMin = 0; + } + + Scene_cameraYTileMin = Scene_cameraYTile - 25; + if (Scene_cameraYTileMin < 0) { + Scene_cameraYTileMin = 0; + } + + Scene_cameraXTileMax = Scene_cameraXTile + 25; + if (Scene_cameraXTileMax > this.xSize) { + Scene_cameraXTileMax = this.xSize; + } + + Scene_cameraYTileMax = Scene_cameraYTile + 25; + if (Scene_cameraYTileMax > this.ySize) { + Scene_cameraYTileMax = this.ySize; + } + + this.occlude(); + tileUpdateCount = 0; + + int var7; + Tile[][] var8; + int var9; + int var10; + for (var7 = this.minPlane; var7 < this.planes; ++var7) { + var8 = this.tiles[var7]; + + for (var9 = Scene_cameraXTileMin; var9 < Scene_cameraXTileMax; ++var9) { + for (var10 = Scene_cameraYTileMin; var10 < Scene_cameraYTileMax; ++var10) { + Tile var11 = var8[var9][var10]; + if (var11 != null) { + if (var11.minPlane <= var6 && (visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] || this.tileHeights[var7][var9][var10] - var2 >= 2000)) { + var11.drawPrimary = true; + var11.drawSecondary = true; + if (var11.gameObjectsCount > 0) { + var11.drawGameObjects = true; + } else { + var11.drawGameObjects = false; + } + + ++tileUpdateCount; + } else { + var11.drawPrimary = false; + var11.drawSecondary = false; + var11.drawGameObjectEdges = 0; + } + } + } + } + } + + int var12; + int var13; + int var14; + Tile var15; + int var16; + for (var7 = this.minPlane; var7 < this.planes; ++var7) { + var8 = this.tiles[var7]; + + for (var9 = -25; var9 <= 0; ++var9) { + var10 = var9 + Scene_cameraXTile; + var16 = Scene_cameraXTile - var9; + if (var10 >= Scene_cameraXTileMin || var16 < Scene_cameraXTileMax) { + for (var12 = -25; var12 <= 0; ++var12) { + var13 = var12 + Scene_cameraYTile; + var14 = Scene_cameraYTile - var12; + if (var10 >= Scene_cameraXTileMin) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var10][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var10][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + } + + if (var16 < Scene_cameraXTileMax) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var16][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var16][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + } + + if (tileUpdateCount == 0) { + checkClick = false; + return; + } + } + } + } + } + + for (var7 = this.minPlane; var7 < this.planes; ++var7) { + var8 = this.tiles[var7]; + + for (var9 = -25; var9 <= 0; ++var9) { + var10 = var9 + Scene_cameraXTile; + var16 = Scene_cameraXTile - var9; + if (var10 >= Scene_cameraXTileMin || var16 < Scene_cameraXTileMax) { + for (var12 = -25; var12 <= 0; ++var12) { + var13 = var12 + Scene_cameraYTile; + var14 = Scene_cameraYTile - var12; + if (var10 >= Scene_cameraXTileMin) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var10][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var10][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + } + + if (var16 < Scene_cameraXTileMax) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var16][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var16][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + } + + if (tileUpdateCount == 0) { + checkClick = false; + return; + } + } + } + } + } + + checkClick = false; + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(Ldl;Z)V" + ) + @Export("drawTile") + void drawTile(Tile var1, boolean var2) { + Scene_tilesDeque.addFirst(var1); + + while (true) { + Tile var3; + int var4; + int var5; + int var6; + int var7; + Tile[][] var8; + Tile var9; + int var11; + int var14; + int var15; + int var16; + int var24; + int var25; + do { + do { + do { + do { + do { + do { + while (true) { + BoundaryObject var10; + GameObject var12; + int var17; + int var18; + boolean var20; + int var21; + Tile var36; + while (true) { + do { + var3 = (Tile)Scene_tilesDeque.removeLast(); + if (var3 == null) { + return; + } + } while(!var3.drawSecondary); + + var4 = var3.x; + var5 = var3.y; + var6 = var3.plane; + var7 = var3.originalPlane; + var8 = this.tiles[var6]; + if (!var3.drawPrimary) { + break; + } + + if (var2) { + if (var6 > 0) { + var9 = this.tiles[var6 - 1][var4][var5]; + if (var9 != null && var9.drawSecondary) { + continue; + } + } + + if (var4 <= Scene_cameraXTile && var4 > Scene_cameraXTileMin) { + var9 = var8[var4 - 1][var5]; + if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 1) == 0)) { + continue; + } + } + + if (var4 >= Scene_cameraXTile && var4 < Scene_cameraXTileMax - 1) { + var9 = var8[var4 + 1][var5]; + if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 4) == 0)) { + continue; + } + } + + if (var5 <= Scene_cameraYTile && var5 > Scene_cameraYTileMin) { + var9 = var8[var4][var5 - 1]; + if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 8) == 0)) { + continue; + } + } + + if (var5 >= Scene_cameraYTile && var5 < Scene_cameraYTileMax - 1) { + var9 = var8[var4][var5 + 1]; + if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 2) == 0)) { + continue; + } + } + } else { + var2 = true; + } + + var3.drawPrimary = false; + if (var3.linkedBelowTile != null) { + var9 = var3.linkedBelowTile; + if (var9.paint != null) { + if (!this.method3047(0, var4, var5)) { + this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); + } + } else if (var9.model != null && !this.method3047(0, var4, var5)) { + this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); + } + + var10 = var9.boundaryObject; + if (var10 != null) { + var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); + } + + for (var11 = 0; var11 < var9.gameObjectsCount; ++var11) { + var12 = var9.gameObjects[var11]; + if (var12 != null) { + var12.entity.draw(var12.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var12.centerX - Scene_cameraX, var12.height - Scene_cameraY, var12.centerY - Scene_cameraZ, var12.tag); + } + } + } + + var20 = false; + if (var3.paint != null) { + if (!this.method3047(var7, var4, var5)) { + var20 = true; + if (var3.paint.neColor != 12345678 || checkClick && var6 <= Scene_selectedPlane) { + this.drawTileUnderlay(var3.paint, var7, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); + } + } + } else if (var3.model != null && !this.method3047(var7, var4, var5)) { + var20 = true; + this.drawTileOverlay(var3.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); + } + + var21 = 0; + var11 = 0; + BoundaryObject var31 = var3.boundaryObject; + WallDecoration var13 = var3.wallDecoration; + if (var31 != null || var13 != null) { + if (var4 == Scene_cameraXTile) { + ++var21; + } else if (Scene_cameraXTile < var4) { + var21 += 2; + } + + if (var5 == Scene_cameraYTile) { + var21 += 3; + } else if (Scene_cameraYTile > var5) { + var21 += 6; + } + + var11 = field1833[var21]; + var3.field1629 = field1769[var21]; + } + + if (var31 != null) { + if ((var31.orientationA & field1816[var21]) != 0) { + if (var31.orientationA == 16) { + var3.drawGameObjectEdges = 3; + var3.field1610 = field1818[var21]; + var3.field1624 = 3 - var3.field1610; + } else if (var31.orientationA == 32) { + var3.drawGameObjectEdges = 6; + var3.field1610 = field1815[var21]; + var3.field1624 = 6 - var3.field1610; + } else if (var31.orientationA == 64) { + var3.drawGameObjectEdges = 12; + var3.field1610 = field1814[var21]; + var3.field1624 = 12 - var3.field1610; + } else { + var3.drawGameObjectEdges = 9; + var3.field1610 = field1821[var21]; + var3.field1624 = 9 - var3.field1610; + } + } else { + var3.drawGameObjectEdges = 0; + } + + if ((var31.orientationA & var11) != 0 && !this.method3090(var7, var4, var5, var31.orientationA)) { + var31.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x * 4096 - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y * 4096 - Scene_cameraZ, var31.tag); + } + + if ((var31.orientationB & var11) != 0 && !this.method3090(var7, var4, var5, var31.orientationB)) { + var31.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x * 4096 - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y * 4096 - Scene_cameraZ, var31.tag); + } + } + + if (var13 != null && !this.method3128(var7, var4, var5, var13.entity1.height)) { + if ((var13.orientation & var11) != 0) { + var13.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var13.xOffset + (var13.x * 4096 - Scene_cameraX), var13.tileHeight - Scene_cameraY, var13.yOffset + (var13.y * 4096 - Scene_cameraZ), var13.tag); + } else if (var13.orientation == 256) { + var14 = var13.x * 4096 - Scene_cameraX; + var15 = var13.tileHeight - Scene_cameraY; + var16 = var13.y * 4096 - Scene_cameraZ; + var17 = var13.orientation2; + 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) { + var13.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14 + var13.xOffset, var15, var16 + var13.yOffset, var13.tag); + } else if (var13.entity2 != null) { + var13.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14, var15, var16, var13.tag); + } + } + } + + if (var20) { + FloorDecoration var22 = var3.floorDecoration; + if (var22 != null) { + var22.entity.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var22.x * 4096 - Scene_cameraX, var22.tileHeight - Scene_cameraY, var22.y * 4096 - Scene_cameraZ, var22.tag); + } + + TileItemPile var23 = var3.tileItemPile; + if (var23 != null && var23.height == 0) { + if (var23.second != null) { + var23.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 4096 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); + } + + if (var23.third != null) { + var23.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 4096 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); + } + + if (var23.first != null) { + var23.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x * 4096 - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y * 4096 - Scene_cameraZ, var23.tag); + } + } + } + + var14 = var3.gameObjectsEdgeMask; + if (var14 != 0) { + if (var4 < Scene_cameraXTile && (var14 & 4) != 0) { + var36 = var8[var4 + 1][var5]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } + + if (var5 < Scene_cameraYTile && (var14 & 2) != 0) { + var36 = var8[var4][var5 + 1]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } + + if (var4 > Scene_cameraXTile && (var14 & 1) != 0) { + var36 = var8[var4 - 1][var5]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } + + if (var5 > Scene_cameraYTile && (var14 & 8) != 0) { + var36 = var8[var4][var5 - 1]; + if (var36 != null && var36.drawSecondary) { + Scene_tilesDeque.addFirst(var36); + } + } + } + break; + } + + if (var3.drawGameObjectEdges != 0) { + var20 = true; + + for (var21 = 0; var21 < var3.gameObjectsCount; ++var21) { + if (var3.gameObjects[var21].lastDrawn != Scene_drawnCount && (var3.gameObjectEdgeMasks[var21] & var3.drawGameObjectEdges) == var3.field1610) { + var20 = false; + break; + } + } + + if (var20) { + var10 = var3.boundaryObject; + if (!this.method3090(var7, var4, var5, var10.orientationA)) { + var10.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x * 4096 - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y * 4096 - Scene_cameraZ, var10.tag); + } + + var3.drawGameObjectEdges = 0; + } + } + + if (!var3.drawGameObjects) { + break; + } + + try { + int var34 = var3.gameObjectsCount; + var3.drawGameObjects = false; + var21 = 0; + + label563: + for (var11 = 0; var11 < var34; ++var11) { + var12 = var3.gameObjects[var11]; + if (var12.lastDrawn != Scene_drawnCount) { + for (var24 = var12.startX; var24 <= var12.endX; ++var24) { + for (var14 = var12.startY; var14 <= var12.endY; ++var14) { + var36 = var8[var24][var14]; + if (var36.drawPrimary) { + var3.drawGameObjects = true; + continue label563; + } + + if (var36.drawGameObjectEdges != 0) { + var16 = 0; + if (var24 > var12.startX) { + ++var16; + } + + if (var24 < var12.endX) { + var16 += 4; + } + + if (var14 > var12.startY) { + var16 += 8; + } + + if (var14 < var12.endY) { + var16 += 2; + } + + if ((var16 & var36.drawGameObjectEdges) == var3.field1624) { + var3.drawGameObjects = true; + continue label563; + } + } + } + } + + gameObjects[var21++] = var12; + var24 = Scene_cameraXTile - var12.startX; + var14 = var12.endX - Scene_cameraXTile; + if (var14 > var24) { + var24 = var14; + } + + var15 = Scene_cameraYTile - var12.startY; + var16 = var12.endY - Scene_cameraYTile; + if (var16 > var15) { + var12.field1914 = var24 + var16; + } else { + var12.field1914 = var24 + var15; + } + } + } + + while (var21 > 0) { + var11 = -50; + var25 = -1; + + for (var24 = 0; var24 < var21; ++var24) { + GameObject var35 = gameObjects[var24]; + if (var35.lastDrawn != Scene_drawnCount) { + if (var35.field1914 > var11) { + var11 = var35.field1914; + var25 = var24; + } else if (var11 == var35.field1914) { + var15 = var35.centerX - Scene_cameraX; + var16 = var35.centerY - Scene_cameraZ; + var17 = gameObjects[var25].centerX - Scene_cameraX; + var18 = gameObjects[var25].centerY - Scene_cameraZ; + if (var15 * var15 + var16 * var16 > var17 * var17 + var18 * var18) { + var25 = var24; + } + } + } + } + + if (var25 == -1) { + break; + } + + GameObject var33 = gameObjects[var25]; + var33.lastDrawn = Scene_drawnCount; + if (!this.method3092(var7, var33.startX, var33.endX, var33.startY, var33.endY, var33.entity.height)) { + var33.entity.draw(var33.orientation, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var33.centerX - Scene_cameraX, var33.height - Scene_cameraY, var33.centerY - Scene_cameraZ, var33.tag); + } + + for (var14 = var33.startX; var14 <= var33.endX; ++var14) { + for (var15 = var33.startY; var15 <= var33.endY; ++var15) { + Tile var26 = var8[var14][var15]; + if (var26.drawGameObjectEdges != 0) { + Scene_tilesDeque.addFirst(var26); + } else if ((var14 != var4 || var15 != var5) && var26.drawSecondary) { + Scene_tilesDeque.addFirst(var26); + } + } + } + } + + if (!var3.drawGameObjects) { + break; + } + } catch (Exception var28) { + var3.drawGameObjects = false; + break; + } + } + } while(!var3.drawSecondary); + } while(var3.drawGameObjectEdges != 0); + + if (var4 > Scene_cameraXTile || var4 <= Scene_cameraXTileMin) { + break; + } + + var9 = var8[var4 - 1][var5]; + } while(var9 != null && var9.drawSecondary); + + if (var4 < Scene_cameraXTile || var4 >= Scene_cameraXTileMax - 1) { + break; + } + + var9 = var8[var4 + 1][var5]; + } while(var9 != null && var9.drawSecondary); + + if (var5 > Scene_cameraYTile || var5 <= Scene_cameraYTileMin) { + break; + } + + var9 = var8[var4][var5 - 1]; + } while(var9 != null && var9.drawSecondary); + + if (var5 < Scene_cameraYTile || var5 >= Scene_cameraYTileMax - 1) { + break; + } + + var9 = var8[var4][var5 + 1]; + } while(var9 != null && var9.drawSecondary); + + var3.drawSecondary = false; + --tileUpdateCount; + TileItemPile var32 = var3.tileItemPile; + if (var32 != null && var32.height != 0) { + if (var32.second != null) { + var32.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 4096 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 4096 - Scene_cameraZ, var32.tag); + } + + if (var32.third != null) { + var32.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 4096 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 4096 - Scene_cameraZ, var32.tag); + } + + if (var32.first != null) { + var32.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 4096 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 4096 - Scene_cameraZ, var32.tag); + } + } + + if (var3.field1629 != 0) { + WallDecoration var29 = var3.wallDecoration; + if (var29 != null && !this.method3128(var7, var4, var5, var29.entity1.height)) { + if ((var29.orientation & var3.field1629) != 0) { + var29.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var29.xOffset + (var29.x * 4096 - Scene_cameraX), var29.tileHeight - Scene_cameraY, var29.yOffset + (var29.y * 4096 - Scene_cameraZ), var29.tag); + } else if (var29.orientation == 256) { + var11 = var29.x * 4096 - Scene_cameraX; + var25 = var29.tileHeight - Scene_cameraY; + var24 = var29.y * 4096 - Scene_cameraZ; + var14 = var29.orientation2; + if (var14 != 1 && var14 != 2) { + var15 = var11; + } else { + var15 = -var11; + } + + if (var14 != 2 && var14 != 3) { + var16 = var24; + } else { + var16 = -var24; + } + + if (var16 >= var15) { + var29.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11 + var29.xOffset, var25, var24 + var29.yOffset, var29.tag); + } else if (var29.entity2 != null) { + var29.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11, var25, var24, var29.tag); + } + } + } + + BoundaryObject var27 = var3.boundaryObject; + if (var27 != null) { + if ((var27.orientationB & var3.field1629) != 0 && !this.method3090(var7, var4, var5, var27.orientationB)) { + var27.entity2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x * 4096 - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y * 4096 - Scene_cameraZ, var27.tag); + } + + if ((var27.orientationA & var3.field1629) != 0 && !this.method3090(var7, var4, var5, var27.orientationA)) { + var27.entity1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x * 4096 - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y * 4096 - Scene_cameraZ, var27.tag); + } + } + } + + Tile var30; + if (var6 < this.planes - 1) { + var30 = this.tiles[var6 + 1][var4][var5]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var4 < Scene_cameraXTile) { + var30 = var8[var4 + 1][var5]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var5 < Scene_cameraYTile) { + var30 = var8[var4][var5 + 1]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var4 > Scene_cameraXTile) { + var30 = var8[var4 - 1][var5]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var5 > Scene_cameraYTile) { + var30 = var8[var4][var5 - 1]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + } + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(Lef;IIIIIII)V" + ) + @Export("drawTileUnderlay") + void drawTileUnderlay(TilePaint var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9; + int var10 = var9 = (var7 << 7) - Scene_cameraX; + int var11; + int var12 = var11 = (var8 << 7) - Scene_cameraZ; + int var13; + int var14 = var13 = var10 + 128; + int var15; + int var16 = var15 = var12 + 128; + int var17 = this.tileHeights[var2][var7][var8] - Scene_cameraY; + int var18 = this.tileHeights[var2][var7 + 1][var8] - Scene_cameraY; + int var19 = this.tileHeights[var2][var7 + 1][var8 + 1] - Scene_cameraY; + int var20 = this.tileHeights[var2][var7][var8 + 1] - Scene_cameraY; + int var21 = var10 * var6 + var5 * var12 >> 16; + var12 = var12 * var6 - var5 * var10 >> 16; + var10 = var21; + var21 = var17 * var4 - var3 * var12 >> 16; + var12 = var3 * var17 + var12 * var4 >> 16; + var17 = var21; + if (var12 >= 50) { + var21 = var14 * var6 + var5 * var11 >> 16; + var11 = var11 * var6 - var5 * var14 >> 16; + var14 = var21; + var21 = var18 * var4 - var3 * var11 >> 16; + var11 = var3 * var18 + var11 * var4 >> 16; + var18 = var21; + if (var11 >= 50) { + var21 = var13 * var6 + var5 * var16 >> 16; + var16 = var16 * var6 - var5 * var13 >> 16; + var13 = var21; + var21 = var19 * var4 - var3 * var16 >> 16; + var16 = var3 * var19 + var16 * var4 >> 16; + var19 = var21; + if (var16 >= 50) { + var21 = var9 * var6 + var5 * var15 >> 16; + var15 = var15 * var6 - var5 * var9 >> 16; + var9 = var21; + var21 = var20 * var4 - var3 * var15 >> 16; + var15 = var3 * var20 + var15 * var4 >> 16; + if (var15 >= 50) { + int var22 = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; + int var23 = var17 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; + int var24 = var14 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidX; + int var25 = var18 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidY; + int var26 = var13 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidX; + int var27 = var19 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidY; + int var28 = var9 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidX; + int var29 = var21 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidY; + Rasterizer3D.Rasterizer3D_alpha = 0; + int var30; + if ((var26 - var28) * (var25 - var29) - (var27 - var29) * (var24 - var28) > 0) { + Rasterizer3D.field1733 = false; + if (var26 < 0 || var28 < 0 || var24 < 0 || var26 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1733 = true; + } + + if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var27, var29, var25, var26, var28, var24)) { + Scene_selectedX = var7; + Scene_selectedY = var8; + } + + if (var1.texture == -1) { + if (var1.neColor != 12345678) { + Rasterizer3D.method2969(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); + } + } else if (!Scene_isLowDetail) { + if (var1.isFlat) { + Rasterizer3D.drawTexturedTile(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); + } else { + Rasterizer3D.drawTexturedTile(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor, var13, var9, var14, var19, var21, var18, var16, var15, var11, var1.texture); + } + } else { + var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); + Rasterizer3D.method2969(var27, var29, var25, var26, var28, var24, method3086(var30, var1.neColor), method3086(var30, var1.nwColor), method3086(var30, var1.seColor)); + } + } + + if ((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { + Rasterizer3D.field1733 = false; + if (var22 < 0 || var24 < 0 || var28 < 0 || var22 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1733 = true; + } + + if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var23, var25, var29, var22, var24, var28)) { + Scene_selectedX = var7; + Scene_selectedY = var8; + } + + if (var1.texture == -1) { + if (var1.swColor != 12345678) { + Rasterizer3D.method2969(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); + } + } else if (!Scene_isLowDetail) { + Rasterizer3D.drawTexturedTile(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor, var10, var14, var9, var17, var18, var21, var12, var11, var15, var1.texture); + } else { + var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); + Rasterizer3D.method2969(var23, var25, var29, var22, var24, var28, method3086(var30, var1.swColor), method3086(var30, var1.seColor), method3086(var30, var1.nwColor)); + } + } + + } + } + } + } + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(Ldd;IIIIII)V" + ) + @Export("drawTileOverlay") + void drawTileOverlay(TileModel var1, int var2, int var3, int var4, int var5, int var6, int var7) { + int var8 = var1.vertexX.length; + + int var9; + int var10; + int var11; + int var12; + int var13; + for (var9 = 0; var9 < var8; ++var9) { + var10 = var1.vertexX[var9] - Scene_cameraX; + var11 = var1.vertexY[var9] - Scene_cameraY; + var12 = var1.vertexZ[var9] - Scene_cameraZ; + var13 = var12 * var4 + var5 * var10 >> 16; + var12 = var5 * var12 - var10 * var4 >> 16; + var10 = var13; + var13 = var3 * var11 - var12 * var2 >> 16; + var12 = var11 * var2 + var3 * var12 >> 16; + if (var12 < 50) { + return; + } + + if (var1.triangleTextureId != null) { + TileModel.field1570[var9] = var10; + TileModel.field1571[var9] = var13; + TileModel.field1573[var9] = var12; + } + + TileModel.field1553[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; + TileModel.field1569[var9] = var13 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; + } + + Rasterizer3D.Rasterizer3D_alpha = 0; + var8 = var1.faceX.length; + + for (var9 = 0; var9 < var8; ++var9) { + var10 = var1.faceX[var9]; + var11 = var1.faceY[var9]; + var12 = var1.faceZ[var9]; + var13 = TileModel.field1553[var10]; + int var14 = TileModel.field1553[var11]; + int var15 = TileModel.field1553[var12]; + int var16 = TileModel.field1569[var10]; + int var17 = TileModel.field1569[var11]; + int var18 = TileModel.field1569[var12]; + if ((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { + Rasterizer3D.field1733 = false; + if (var13 < 0 || var14 < 0 || var15 < 0 || var13 > Rasterizer3D.Rasterizer3D_clipWidth || var14 > Rasterizer3D.Rasterizer3D_clipWidth || var15 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1733 = true; + } + + if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var16, var17, var18, var13, var14, var15)) { + Scene_selectedX = var6; + Scene_selectedY = var7; + } + + if (var1.triangleTextureId != null && var1.triangleTextureId[var9] != -1) { + if (!Scene_isLowDetail) { + if (var1.isFlat) { + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1570[0], TileModel.field1570[1], TileModel.field1570[3], TileModel.field1571[0], TileModel.field1571[1], TileModel.field1571[3], TileModel.field1573[0], TileModel.field1573[1], TileModel.field1573[3], var1.triangleTextureId[var9]); + } else { + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], TileModel.field1570[var10], TileModel.field1570[var11], TileModel.field1570[var12], TileModel.field1571[var10], TileModel.field1571[var11], TileModel.field1571[var12], TileModel.field1573[var10], TileModel.field1573[var11], TileModel.field1573[var12], var1.triangleTextureId[var9]); + } + } else { + int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); + Rasterizer3D.method2969(var16, var17, var18, var13, var14, var15, method3086(var19, var1.triangleColorA[var9]), method3086(var19, var1.triangleColorB[var9]), method3086(var19, var1.triangleColorC[var9])); + } + } else if (var1.triangleColorA[var9] != 12345678) { + Rasterizer3D.method2969(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); + } + } + } + + } + + @ObfuscatedName("bx") + @Export("occlude") + void occlude() { + int var1 = Scene_planeOccluderCounts[Scene_plane]; + Occluder[] var2 = Scene_planeOccluders[Scene_plane]; + Scene_currentOccludersCount = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + Occluder var4 = var2[var3]; + int var5; + int var6; + int var7; + int var9; + boolean var13; + if (var4.type == 1) { + var5 = var4.minTileX - Scene_cameraXTile + 25; + if (var5 >= 0 && var5 <= 50) { + var6 = var4.minTileY - Scene_cameraYTile + 25; + if (var6 < 0) { + var6 = 0; + } + + var7 = var4.maxTileY - Scene_cameraYTile + 25; + if (var7 > 50) { + var7 = 50; + } + + var13 = false; + + while (var6 <= var7) { + if (visibleTiles[var5][var6++]) { + var13 = true; + break; + } + } + + if (var13) { + var9 = Scene_cameraX - var4.minX; + if (var9 > 32) { + var4.field1882 = 1; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1882 = 2; + var9 = -var9; + } + + var4.field1885 = (var4.minZ - Scene_cameraZ << 8) / var9; + var4.field1886 = (var4.maxZ - Scene_cameraZ << 8) / var9; + var4.field1879 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1887 = (var4.maxY - Scene_cameraY << 8) / var9; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + } + } + } else if (var4.type == 2) { + var5 = var4.minTileY - Scene_cameraYTile + 25; + if (var5 >= 0 && var5 <= 50) { + var6 = var4.minTileX - Scene_cameraXTile + 25; + if (var6 < 0) { + var6 = 0; + } + + var7 = var4.maxTileX - Scene_cameraXTile + 25; + if (var7 > 50) { + var7 = 50; + } + + var13 = false; + + while (var6 <= var7) { + if (visibleTiles[var6++][var5]) { + var13 = true; + break; + } + } + + if (var13) { + var9 = Scene_cameraZ - var4.minZ; + if (var9 > 32) { + var4.field1882 = 3; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1882 = 4; + var9 = -var9; + } + + var4.field1884 = (var4.minX - Scene_cameraX << 8) / var9; + var4.field1871 = (var4.maxX - Scene_cameraX << 8) / var9; + var4.field1879 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1887 = (var4.maxY - Scene_cameraY << 8) / var9; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + } + } + } else if (var4.type == 4) { + var5 = var4.minY - Scene_cameraY; + if (var5 > 128) { + var6 = var4.minTileY - Scene_cameraYTile + 25; + if (var6 < 0) { + var6 = 0; + } + + var7 = var4.maxTileY - Scene_cameraYTile + 25; + if (var7 > 50) { + var7 = 50; + } + + if (var6 <= var7) { + int var8 = var4.minTileX - Scene_cameraXTile + 25; + if (var8 < 0) { + var8 = 0; + } + + var9 = var4.maxTileX - Scene_cameraXTile + 25; + if (var9 > 50) { + var9 = 50; + } + + boolean var10 = false; + + label144: + for (int var11 = var8; var11 <= var9; ++var11) { + for (int var12 = var6; var12 <= var7; ++var12) { + if (visibleTiles[var11][var12]) { + var10 = true; + break label144; + } + } + } + + if (var10) { + var4.field1882 = 5; + var4.field1884 = (var4.minX - Scene_cameraX << 8) / var5; + var4.field1871 = (var4.maxX - Scene_cameraX << 8) / var5; + var4.field1885 = (var4.minZ - Scene_cameraZ << 8) / var5; + var4.field1886 = (var4.maxZ - Scene_cameraZ << 8) / var5; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + } + } + } + } + } + + } + + @ObfuscatedName("bh") + boolean method3047(int var1, int var2, int var3) { + int var4 = this.field1778[var1][var2][var3]; + if (var4 == -Scene_drawnCount) { + return false; + } else if (var4 == Scene_drawnCount) { + return true; + } else { + int var5 = var2 << 7; + int var6 = var3 << 7; + if (this.method3093(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method3093(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { + this.field1778[var1][var2][var3] = Scene_drawnCount; + return true; + } else { + this.field1778[var1][var2][var3] = -Scene_drawnCount; + return false; + } + } + } + + @ObfuscatedName("bd") + boolean method3090(int var1, int var2, int var3, int var4) { + if (!this.method3047(var1, var2, var3)) { + return false; + } else { + int var5 = var2 << 7; + int var6 = var3 << 7; + int var7 = this.tileHeights[var1][var2][var3] - 1; + int var8 = var7 - 120; + int var9 = var7 - 230; + int var10 = var7 - 238; + if (var4 < 16) { + if (var4 == 1) { + if (var5 > Scene_cameraX) { + if (!this.method3093(var5, var7, var6)) { + return false; + } + + if (!this.method3093(var5, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3093(var5, var8, var6)) { + return false; + } + + if (!this.method3093(var5, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3093(var5, var9, var6)) { + return false; + } + + if (!this.method3093(var5, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 2) { + if (var6 < Scene_cameraZ) { + if (!this.method3093(var5, var7, var6 + 128)) { + return false; + } + + if (!this.method3093(var5 + 128, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3093(var5, var8, var6 + 128)) { + return false; + } + + if (!this.method3093(var5 + 128, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3093(var5, var9, var6 + 128)) { + return false; + } + + if (!this.method3093(var5 + 128, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 4) { + if (var5 < Scene_cameraX) { + if (!this.method3093(var5 + 128, var7, var6)) { + return false; + } + + if (!this.method3093(var5 + 128, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3093(var5 + 128, var8, var6)) { + return false; + } + + if (!this.method3093(var5 + 128, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3093(var5 + 128, var9, var6)) { + return false; + } + + if (!this.method3093(var5 + 128, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 8) { + if (var6 > Scene_cameraZ) { + if (!this.method3093(var5, var7, var6)) { + return false; + } + + if (!this.method3093(var5 + 128, var7, var6)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3093(var5, var8, var6)) { + return false; + } + + if (!this.method3093(var5 + 128, var8, var6)) { + return false; + } + } + + if (!this.method3093(var5, var9, var6)) { + return false; + } + + if (!this.method3093(var5 + 128, var9, var6)) { + return false; + } + + return true; + } + } + + if (!this.method3093(var5 + 64, var10, var6 + 64)) { + return false; + } else if (var4 == 16) { + return this.method3093(var5, var9, var6 + 128); + } else if (var4 == 32) { + return this.method3093(var5 + 128, var9, var6 + 128); + } else if (var4 == 64) { + return this.method3093(var5 + 128, var9, var6); + } else if (var4 == 128) { + return this.method3093(var5, var9, var6); + } else { + return true; + } + } + } + + @ObfuscatedName("bm") + boolean method3128(int var1, int var2, int var3, int var4) { + if (!this.method3047(var1, var2, var3)) { + return false; + } else { + int var5 = var2 << 7; + int var6 = var3 << 7; + return this.method3093(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method3093(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method3093(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); + } + } + + @ObfuscatedName("bv") + boolean method3092(int var1, int var2, int var3, int var4, int var5, int var6) { + int var7; + int var8; + if (var3 == var2 && var5 == var4) { + if (!this.method3047(var1, var2, var4)) { + return false; + } else { + var7 = var2 << 7; + var8 = var4 << 7; + return this.method3093(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method3093(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method3093(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method3093(var7 + 1, this.tileHeights[var1][var2][var4 + 1] - var6, var8 + 128 - 1); + } + } else { + for (var7 = var2; var7 <= var3; ++var7) { + for (var8 = var4; var8 <= var5; ++var8) { + if (this.field1778[var1][var7][var8] == -Scene_drawnCount) { + return false; + } + } + } + + var7 = (var2 << 7) + 1; + var8 = (var4 << 7) + 2; + int var9 = this.tileHeights[var1][var2][var4] - var6; + if (!this.method3093(var7, var9, var8)) { + return false; + } else { + int var10 = (var3 << 7) - 1; + if (!this.method3093(var10, var9, var8)) { + return false; + } else { + int var11 = (var5 << 7) - 1; + if (!this.method3093(var7, var9, var11)) { + return false; + } else if (!this.method3093(var10, var9, var11)) { + return false; + } else { + return true; + } + } + } + } + } + + @ObfuscatedName("bj") + boolean method3093(int var1, int var2, int var3) { + for (int var4 = 0; var4 < Scene_currentOccludersCount; ++var4) { + Occluder var5 = Scene_currentOccluders[var4]; + int var6; + int var7; + int var8; + int var9; + int var10; + if (var5.field1882 == 1) { + var6 = var5.minX - var1; + if (var6 > 0) { + var7 = (var6 * var5.field1885 >> 8) + var5.minZ; + var8 = (var6 * var5.field1886 >> 8) + var5.maxZ; + var9 = (var6 * var5.field1879 >> 8) + var5.minY; + var10 = (var6 * var5.field1887 >> 8) + var5.maxY; + if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1882 == 2) { + var6 = var1 - var5.minX; + if (var6 > 0) { + var7 = (var6 * var5.field1885 >> 8) + var5.minZ; + var8 = (var6 * var5.field1886 >> 8) + var5.maxZ; + var9 = (var6 * var5.field1879 >> 8) + var5.minY; + var10 = (var6 * var5.field1887 >> 8) + var5.maxY; + if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1882 == 3) { + var6 = var5.minZ - var3; + if (var6 > 0) { + var7 = (var6 * var5.field1884 >> 8) + var5.minX; + var8 = (var6 * var5.field1871 >> 8) + var5.maxX; + var9 = (var6 * var5.field1879 >> 8) + var5.minY; + var10 = (var6 * var5.field1887 >> 8) + var5.maxY; + if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1882 == 4) { + var6 = var3 - var5.minZ; + if (var6 > 0) { + var7 = (var6 * var5.field1884 >> 8) + var5.minX; + var8 = (var6 * var5.field1871 >> 8) + var5.maxX; + var9 = (var6 * var5.field1879 >> 8) + var5.minY; + var10 = (var6 * var5.field1887 >> 8) + var5.maxY; + if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1882 == 5) { + var6 = var2 - var5.minY; + if (var6 > 0) { + var7 = (var6 * var5.field1884 >> 8) + var5.minX; + var8 = (var6 * var5.field1871 >> 8) + var5.maxX; + var9 = (var6 * var5.field1885 >> 8) + var5.minZ; + var10 = (var6 * var5.field1886 >> 8) + var5.maxZ; + if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { + return true; + } + } + } + } + + return false; + } + + @ObfuscatedName("u") + @Export("Scene_addOccluder") + public static void Scene_addOccluder(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + Occluder var8 = new Occluder(); + var8.minTileX = var2 / 128; + var8.maxTileX = var3 / 128; + var8.minTileY = var4 / 128; + var8.maxTileY = var5 / 128; + var8.type = var1; + var8.minX = var2; + var8.maxX = var3; + var8.minZ = var4; + var8.maxZ = var5; + var8.minY = var6; + var8.maxY = var7; + Scene_planeOccluders[var0][Scene_planeOccluderCounts[var0]++] = var8; + } + + @ObfuscatedName("ak") + @Export("Scene_buildVisiblityMap") + public static void Scene_buildVisiblityMap(int[] var0, int var1, int var2, int var3, int var4) { + Scene_viewportXMin = 0; + Scene_viewportYMin = 0; + Scene_viewportXMax = var3; + Scene_viewportYMax = var4; + Scene_viewportXCenter = var3 / 2; + Scene_viewportYCenter = var4 / 2; + boolean[][][][] var5 = new boolean[var0.length][32][53][53]; + + int var6; + int var7; + int var8; + int var9; + int var11; + int var12; + for (var6 = 128; var6 <= 383; var6 += 32) { + for (var7 = 0; var7 < 2048; var7 += 64) { + Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var6]; + Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var6]; + Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var7]; + Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var7]; + var8 = (var6 - 128) / 32; + var9 = var7 / 64; + + for (int var10 = -26; var10 < 26; ++var10) { + for (var11 = -26; var11 < 26; ++var11) { + var12 = var10 * 128; + int var13 = var11 * 128; + boolean var14 = false; + + for (int var15 = -var1; var15 <= var2; var15 += 128) { + if (method3049(var12, var0[var8] + var15, var13)) { + var14 = true; + break; + } + } + + var5[var8][var9][var10 + 1 + 25][var11 + 1 + 25] = var14; + } + } + } + } + + for (var6 = 0; var6 < 8; ++var6) { + for (var7 = 0; var7 < 32; ++var7) { + for (var8 = -25; var8 < 25; ++var8) { + for (var9 = -25; var9 < 25; ++var9) { + boolean var16 = false; + + label76: + for (var11 = -1; var11 <= 1; ++var11) { + for (var12 = -1; var12 <= 1; ++var12) { + if (var5[var6][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label76; + } + + if (var5[var6][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label76; + } + + if (var5[var6 + 1][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label76; + } + + if (var5[var6 + 1][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label76; + } + } + } + + visibilityMap[var6][var7][var8 + 25][var9 + 25] = var16; + } + } + } + } + + } + + @ObfuscatedName("aq") + static boolean method3049(int var0, int var1, int var2) { + int var3 = var0 * Scene_cameraYawCosine + var2 * Scene_cameraYawSine >> 16; + int var4 = var2 * Scene_cameraYawCosine - var0 * Scene_cameraYawSine >> 16; + int var5 = var4 * Scene_cameraPitchCosine + Scene_cameraPitchSine * var1 >> 16; + int var6 = Scene_cameraPitchCosine * var1 - var4 * Scene_cameraPitchSine >> 16; + if (var5 >= 50 && var5 <= 3500) { + int var7 = var3 * 128 / var5 + Scene_viewportXCenter; + int var8 = var6 * 128 / var5 + Scene_viewportYCenter; + return var7 >= Scene_viewportXMin && var7 <= Scene_viewportXMax && var8 >= Scene_viewportYMin && var8 <= Scene_viewportYMax; + } else { + return false; + } + } + + @ObfuscatedName("av") + public static boolean method3081() { + return viewportWalking && Scene_selectedX != -1; + } + + @ObfuscatedName("ah") + public static void method3082() { + Scene_selectedX = -1; + viewportWalking = false; + } + + @ObfuscatedName("af") + static final int method3086(int var0, int var1) { + var1 = (var0 & 127) * var1 >> 7; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 65408) + var1; + } + + @ObfuscatedName("at") + @Export("containsBounds") + static boolean containsBounds(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (var1 < var2 && var1 < var3 && var1 < var4) { + return false; + } else if (var1 > var2 && var1 > var3 && var1 > var4) { + return false; + } else if (var0 < var5 && var0 < var6 && var0 < var7) { + return false; + } else if (var0 > var5 && var0 > var6 && var0 > var7) { + return false; + } else { + int var8 = (var1 - var2) * (var6 - var5) - (var0 - var5) * (var3 - var2); + int var9 = (var7 - var6) * (var1 - var3) - (var0 - var6) * (var4 - var3); + int var10 = (var5 - var7) * (var1 - var4) - (var2 - var4) * (var0 - var7); + if (var8 == 0) { + if (var9 != 0) { + return var9 < 0 ? var10 <= 0 : var10 >= 0; + } else { + return true; + } + } else { + return var8 < 0 ? var9 <= 0 && var10 <= 0 : var9 >= 0 && var10 >= 0; + } + } + } +} diff --git a/runescape-client/src/main/java/Script.java b/runescape-client/src/main/java/Script.java index 37ab857059..555be51bd0 100644 --- a/runescape-client/src/main/java/Script.java +++ b/runescape-client/src/main/java/Script.java @@ -1,95 +1,78 @@ -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("cu") -@Implements("Script") -public class Script extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("Script_cached") - static EvictingDualNodeHashTable Script_cached; - @ObfuscatedName("x") - @Export("opcodes") - int[] opcodes; - @ObfuscatedName("t") - @Export("intOperands") - int[] intOperands; - @ObfuscatedName("g") - @Export("stringOperands") - String[] stringOperands; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1662651269 - ) - @Export("localIntCount") - int localIntCount; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 925895493 - ) - @Export("localStringCount") - int localStringCount; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1615704029 - ) - @Export("intArgumentCount") - int intArgumentCount; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1886789561 - ) - @Export("stringArgumentCount") - int stringArgumentCount; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "[Llj;" - ) - @Export("switches") - IterableNodeHashTable[] switches; - - static { - Script_cached = new EvictingDualNodeHashTable(128); - } - - Script() { - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IB)[Llj;", - garbageValue = "58" - ) - @Export("newIterableNodeHashTable") - IterableNodeHashTable[] newIterableNodeHashTable(int var1) { - return new IterableNodeHashTable[var1]; - } - - @ObfuscatedName("gu") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-4" - ) - static final void method2201() { - for (GraphicsObject var0 = (GraphicsObject)Client.graphicsObjects.last(); var0 != null; var0 = (GraphicsObject)Client.graphicsObjects.previous()) { - if (var0.plane == MouseRecorder.plane && !var0.isFinished) { - if (Client.cycle >= var0.cycleStart) { - var0.advance(Client.field683); - if (var0.isFinished) { - var0.remove(); - } else { - WorldMapIcon_1.scene.drawEntity(var0.plane, var0.x, var0.y, var0.height, 60, var0, 0, -1L, false); - } - } - } else { - var0.remove(); - } - } - - } -} +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("cu") +@Implements("Script") +public class Script extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("Script_cached") + static EvictingDualNodeHashTable Script_cached; + @ObfuscatedName("dh") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive15") + static Archive archive15; + @ObfuscatedName("n") + @Export("opcodes") + int[] opcodes; + @ObfuscatedName("v") + @Export("intOperands") + int[] intOperands; + @ObfuscatedName("u") + @Export("stringOperands") + String[] stringOperands; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1534316869 + ) + @Export("localIntCount") + int localIntCount; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -473600855 + ) + @Export("localStringCount") + int localStringCount; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -171399011 + ) + @Export("intArgumentCount") + int intArgumentCount; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1063868631 + ) + @Export("stringArgumentCount") + int stringArgumentCount; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "[Llb;" + ) + @Export("switches") + IterableNodeHashTable[] switches; + + static { + Script_cached = new EvictingDualNodeHashTable(128); + } + + Script() { + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)[Llb;", + garbageValue = "1885034841" + ) + @Export("newIterableNodeHashTable") + IterableNodeHashTable[] newIterableNodeHashTable(int var1) { + return new IterableNodeHashTable[var1]; + } +} diff --git a/runescape-client/src/main/java/ScriptEvent.java b/runescape-client/src/main/java/ScriptEvent.java index 6a59d47a2b..a4c56d20f1 100644 --- a/runescape-client/src/main/java/ScriptEvent.java +++ b/runescape-client/src/main/java/ScriptEvent.java @@ -1,526 +1,833 @@ -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("bs") -@Implements("ScriptEvent") -public class ScriptEvent extends Node { - @ObfuscatedName("de") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive0") - static Archive archive0; - @ObfuscatedName("fl") - @ObfuscatedGetter( - intValue = 1594394289 - ) - @Export("baseY") - static int baseY; - @ObfuscatedName("c") - @Export("args") - Object[] args; - @ObfuscatedName("x") - @Export("isMouseInputEvent") - boolean isMouseInputEvent; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("widget") - Widget widget; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 268953475 - ) - @Export("mouseX") - int mouseX; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -2080678737 - ) - @Export("mouseY") - int mouseY; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -2067393571 - ) - @Export("opIndex") - int opIndex; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("dragTarget") - Widget dragTarget; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 459538491 - ) - @Export("keyTyped") - int keyTyped; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 464546499 - ) - @Export("keyPressed") - int keyPressed; - @ObfuscatedName("z") - @Export("targetName") - String targetName; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1112328999 - ) - int field550; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1497234369 - ) - @Export("type") - int type; - - public ScriptEvent() { - this.type = 76; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([Ljava/lang/Object;I)V", - garbageValue = "1827430499" - ) - @Export("setArgs") - public void setArgs(Object[] var1) { - this.args = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-8" - ) - @Export("setType") - public void setType(int var1) { - this.type = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(CLgf;I)C", - garbageValue = "-1157356777" - ) - @Export("standardizeChar") - static char standardizeChar(char var0, Language var1) { - if (var0 >= 192 && var0 <= 255) { - if (var0 >= 192 && var0 <= 198) { - return 'A'; - } - - if (var0 == 199) { - return 'C'; - } - - if (var0 >= 200 && var0 <= 203) { - return 'E'; - } - - if (var0 >= 204 && var0 <= 207) { - return 'I'; - } - - if (var0 == 209 && var1 != Language.Language_ES) { - return 'N'; - } - - if (var0 >= 210 && var0 <= 214) { - return 'O'; - } - - if (var0 >= 217 && var0 <= 220) { - return 'U'; - } - - if (var0 == 221) { - return 'Y'; - } - - if (var0 == 223) { - return 's'; - } - - if (var0 >= 224 && var0 <= 230) { - return 'a'; - } - - if (var0 == 231) { - return 'c'; - } - - if (var0 >= 232 && var0 <= 235) { - return 'e'; - } - - if (var0 >= 236 && var0 <= 239) { - return 'i'; - } - - if (var0 == 241 && var1 != Language.Language_ES) { - return 'n'; - } - - if (var0 >= 242 && var0 <= 246) { - return 'o'; - } - - if (var0 >= 249 && var0 <= 252) { - return 'u'; - } - - if (var0 == 253 || var0 == 255) { - return 'y'; - } - } - - if (var0 == 338) { - return 'O'; - } else if (var0 == 339) { - return 'o'; - } else if (var0 == 376) { - return 'Y'; - } else { - return var0; - } - } - - @ObfuscatedName("fn") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1198922162" - ) - @Export("drawEntities") - static final void drawEntities(int var0, int var1, int var2, int var3) { - ++Client.viewportDrawCount; - if (Varps.localPlayer.x * -78439701 >> 7 == Client.destinationX && Varps.localPlayer.y >> 7 == Client.destinationY) { - Client.destinationX = 0; - } - - HealthBarUpdate.method1708(); - if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { - GameObject.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); - } - - class2.addNpcsToScene(true); - Projectile.method2083(); - class2.addNpcsToScene(false); - - int var6; - for (Projectile var4 = (Projectile)Client.projectiles.last(); var4 != null; var4 = (Projectile)Client.projectiles.previous()) { - if (var4.plane == MouseRecorder.plane && Client.cycle <= var4.cycleEnd) { - if (Client.cycle >= var4.cycleStart) { - if (var4.targetIndex > 0) { - NPC var22 = Client.npcs[var4.targetIndex - 1]; - if (var22 != null && var22.x * -78439701 >= 0 && var22.x * -78439701 < 13312 && var22.y >= 0 && var22.y < 13312) { - var4.setDestination(var22.x * -78439701, var22.y, WorldMapAreaData.getTileHeight(var22.x * -78439701, var22.y, var4.plane) - var4.endHeight, Client.cycle); - } - } - - if (var4.targetIndex < 0) { - var6 = -var4.targetIndex - 1; - Player var24; - if (var6 == Client.localPlayerIndex) { - var24 = Varps.localPlayer; - } else { - var24 = Client.players[var6]; - } - - if (var24 != null && var24.x * -78439701 >= 0 && var24.x * -78439701 < 13312 && var24.y >= 0 && var24.y < 13312) { - var4.setDestination(var24.x * -78439701, var24.y, WorldMapAreaData.getTileHeight(var24.x * -78439701, var24.y, var4.plane) - var4.endHeight, Client.cycle); - } - } - - var4.advance(Client.field683); - WorldMapIcon_1.scene.drawEntity(MouseRecorder.plane, (int)var4.x, (int)var4.y, (int)var4.z, 60, var4, var4.yaw, -1L, false); - } - } else { - var4.remove(); - } - } - - Script.method2201(); - DesktopPlatformInfoProvider.setViewportShape(var0, var1, var2, var3, true); - var0 = Client.viewportOffsetX; - var1 = Client.viewportOffsetY; - var2 = Client.viewportWidth; - var3 = Client.viewportHeight; - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - int var5; - int var7; - int var8; - int var9; - int var11; - int var12; - int var14; - int var21; - if (!Client.isCameraLocked) { - var21 = Client.camAngleX; - if (Client.field707 / 256 > var21) { - var21 = Client.field707 / 256; - } - - if (Client.field749[4] && Client.field887[4] + 128 > var21) { - var21 = Client.field887[4] + 128; - } - - var5 = Client.camAngleY & 2047; - var6 = SecureRandomFuture.oculusOrbFocalPointX; - var7 = class65.field580 * 1615694975; - var8 = AbstractByteArrayCopier.oculusOrbFocalPointY; - var9 = var21 * 3 + 600; - var12 = var3 - 334; - if (var12 < 0) { - var12 = 0; - } else if (var12 > 100) { - var12 = 100; - } - - int var13 = (Client.zoomWidth - Client.zoomHeight) * var12 / 100 + Client.zoomHeight; - var11 = var13 * var9 / 256; - var12 = 2048 - var21 & 2047; - var13 = 2048 - var5 & 2047; - var14 = 0; - int var15 = 0; - int var16 = var11; - int var17; - int var18; - int var19; - if (var12 != 0) { - var17 = Rasterizer3D.Rasterizer3D_sine[var12]; - var18 = Rasterizer3D.Rasterizer3D_cosine[var12]; - var19 = var18 * var15 - var11 * var17 >> 16; - var16 = var17 * var15 + var18 * var11 >> 16; - var15 = var19; - } - - if (var13 != 0) { - var17 = Rasterizer3D.Rasterizer3D_sine[var13]; - var18 = Rasterizer3D.Rasterizer3D_cosine[var13]; - var19 = var18 * var14 + var17 * var16 >> 16; - var16 = var18 * var16 - var17 * var14 >> 16; - var14 = var19; - } - - ScriptFrame.cameraX = var6 - var14; - GrandExchangeOfferTotalQuantityComparator.cameraY = var7 - var15; - class14.cameraZ = var8 - var16; - class319.cameraPitch = var21; - Tile.cameraYaw = var5; - if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (Varps.localPlayer.x * -78439701 >> 7 != SecureRandomFuture.oculusOrbFocalPointX >> 7 || AbstractByteArrayCopier.oculusOrbFocalPointY >> 7 != Varps.localPlayer.y >> 7)) { - var17 = Varps.localPlayer.plane; - var18 = class4.baseX * 64 + (SecureRandomFuture.oculusOrbFocalPointX >> 7); - var19 = (AbstractByteArrayCopier.oculusOrbFocalPointY >> 7) + baseY; - PacketBufferNode var20 = MenuAction.getPacketBufferNode(ClientPacket.field2187, Client.packetWriter.isaacCipher); - var20.packetBuffer.method5500(var18); - var20.packetBuffer.writeShort(var19); - var20.packetBuffer.method5491(var17); - var20.packetBuffer.writeIntLE16(Client.field688); - Client.packetWriter.addNode(var20); - } - } - - if (!Client.isCameraLocked) { - var21 = Client.method1679(); - } else { - var21 = SecureRandomCallable.getHighestVisiblePlane(); - } - - var5 = ScriptFrame.cameraX; - var6 = GrandExchangeOfferTotalQuantityComparator.cameraY; - var7 = class14.cameraZ; - var8 = class319.cameraPitch; - var9 = Tile.cameraYaw; - - int var10; - for (var10 = 0; var10 < 5; ++var10) { - if (Client.field749[var10]) { - var11 = (int)(Math.random() * (double)(Client.field779[var10] * 2 + 1) - (double)Client.field779[var10] + Math.sin((double)Client.field871[var10] / 100.0D * (double)Client.field799[var10]) * (double)Client.field887[var10]); - if (var10 == 0) { - ScriptFrame.cameraX += var11; - } - - if (var10 == 1) { - GrandExchangeOfferTotalQuantityComparator.cameraY += var11; - } - - if (var10 == 2) { - class14.cameraZ += var11; - } - - if (var10 == 3) { - Tile.cameraYaw = var11 + Tile.cameraYaw & 2047; - } - - if (var10 == 4) { - class319.cameraPitch += var11; - if (class319.cameraPitch < 128) { - class319.cameraPitch = 128; - } - - if (class319.cameraPitch > 383) { - class319.cameraPitch = 383; - } - } - } - } - - var10 = MouseHandler.MouseHandler_x; - var11 = MouseHandler.MouseHandler_y; - if (MouseHandler.MouseHandler_lastButton != 0) { - var10 = MouseHandler.MouseHandler_lastPressedX; - var11 = MouseHandler.MouseHandler_lastPressedY; - } - - if (var10 >= var0 && var10 < var0 + var2 && var11 >= var1 && var11 < var3 + var1) { - WorldMapIcon_0.method174(var10 - var0, var11 - var1); - } else { - PendingSpawn.method1682(); - } - - ModelData0.playPcmPlayers(); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); - ModelData0.playPcmPlayers(); - var12 = Rasterizer3D.Rasterizer3D_zoom; - Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; - WorldMapIcon_1.scene.draw(ScriptFrame.cameraX, GrandExchangeOfferTotalQuantityComparator.cameraY, class14.cameraZ, class319.cameraPitch, Tile.cameraYaw, var21); - Rasterizer3D.Rasterizer3D_zoom = var12; - ModelData0.playPcmPlayers(); - WorldMapIcon_1.scene.clearTempGameObjects(); - Actor.method1704(var0, var1, var2, var3); - if (Client.hintArrowType == 2) { - NPC.worldToScreen(Client.hintArrowSubX * 64 + (Client.hintArrowX - class4.baseX * 64 << 7), Client.hintArrowSubY * 64 + (Client.hintArrowY - baseY << 7), Client.hintArrowHeight * 2); - if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { - GrandExchangeEvents.headIconHintSprites[0].drawTransBgAt(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); - } - } - - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field683); - Occluder.method3253(); - ScriptFrame.cameraX = var5; - GrandExchangeOfferTotalQuantityComparator.cameraY = var6; - class14.cameraZ = var7; - class319.cameraPitch = var8; - Tile.cameraYaw = var9; - if (Client.isLoading) { - byte var23 = 0; - var14 = var23 + NetCache.NetCache_pendingPriorityResponsesCount + NetCache.NetCache_pendingPriorityWritesCount; - if (var14 == 0) { - Client.isLoading = false; - } - } - - if (Client.isLoading) { - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); - GZipDecompressor.drawLoadingMessage("Loading - please wait.", false); - } - - } - - @ObfuscatedName("hr") - @ObfuscatedSignature( - signature = "(IIS)V", - garbageValue = "128" - ) - @Export("calculateMenuBounds") - static void calculateMenuBounds(int var0, int var1) { - int var2 = HealthBar.fontBold12.stringWidth("Choose Option"); - - int var3; - int var4; - for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { - var4 = HealthBar.fontBold12.stringWidth(class188.method3620(var3)); - if (var4 > var2) { - var2 = var4; - } - } - - var2 += 8; - var3 = Client.menuOptionsCount * 15 + 22; - var4 = var0 - var2 / 2; - if (var2 + var4 > GraphicsDefaults.canvasWidth) { - var4 = GraphicsDefaults.canvasWidth - var2; - } - - if (var4 < 0) { - var4 = 0; - } - - int var5 = var1; - if (var3 + var1 > GameShell.canvasHeight) { - var5 = GameShell.canvasHeight - var3; - } - - if (var5 < 0) { - var5 = 0; - } - - FileSystem.menuX = var4; - class83.menuY = var5; - class173.menuWidth = var2; - FaceNormal.menuHeight = Client.menuOptionsCount * 15 + 22; - } - - @ObfuscatedName("ie") - @ObfuscatedSignature( - signature = "(Lhy;Lid;IIZI)V", - garbageValue = "-2103292132" - ) - @Export("addWidgetItemMenuItem") - static final void addWidgetItemMenuItem(Widget var0, ItemDefinition var1, int var2, int var3, boolean var4) { - String[] var5 = var1.inventoryActions; - byte var6 = -1; - String var7 = null; - if (var5 != null && var5[var3] != null) { - if (var3 == 0) { - var6 = 33; - } else if (var3 == 1) { - var6 = 34; - } else if (var3 == 2) { - var6 = 35; - } else if (var3 == 3) { - var6 = 36; - } else { - var6 = 37; - } - - var7 = var5[var3]; - } else if (var3 == 4) { - var6 = 37; - var7 = "Drop"; - } - - if (var6 != -1 && var7 != null) { - Decimator.insertMenuItem(var7, UserComparator7.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); - } - - } - - @ObfuscatedName("jj") - @ObfuscatedSignature( - signature = "(Lhy;IIII)V", - garbageValue = "458533569" - ) - @Export("drawCompass") - static final void drawCompass(Widget var0, int var1, int var2, int var3) { - SpriteMask var4 = var0.getSpriteMask(false); - if (var4 != null) { - if (Client.minimapState < 3) { - UrlRequest.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); - } else { - Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); - } - - } - } -} +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("ba") +@Implements("ScriptEvent") +public class ScriptEvent extends Node { + @ObfuscatedName("rn") + @ObfuscatedGetter( + intValue = -1797586275 + ) + static int field570; + @ObfuscatedName("z") + @Export("args") + Object[] args; + @ObfuscatedName("n") + @Export("isMouseInputEvent") + boolean isMouseInputEvent; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("widget") + Widget widget; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -536253001 + ) + @Export("mouseX") + int mouseX; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 339811595 + ) + @Export("mouseY") + int mouseY; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 523814267 + ) + @Export("opIndex") + int opIndex; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("dragTarget") + Widget dragTarget; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 890448357 + ) + @Export("keyTyped") + int keyTyped; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -463436489 + ) + @Export("keyPressed") + int keyPressed; + @ObfuscatedName("i") + @Export("targetName") + String targetName; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1373208137 + ) + int field568; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1041391975 + ) + @Export("type") + int type; + + public ScriptEvent() { + this.type = 76; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([Ljava/lang/Object;I)V", + garbageValue = "345377680" + ) + @Export("setArgs") + public void setArgs(Object[] var1) { + this.args = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "2089299641" + ) + @Export("setType") + public void setType(int var1) { + this.type = var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;Lli;I)Ljava/lang/String;", + garbageValue = "254330677" + ) + public static String method1198(CharSequence var0, LoginType var1) { + if (var0 == null) { + return null; + } else { + int var2 = 0; + + int var3; + for (var3 = var0.length(); var2 < var3 && BoundaryObject.method3222(var0.charAt(var2)); ++var2) { + } + + while (var3 > var2 && BoundaryObject.method3222(var0.charAt(var3 - 1))) { + --var3; + } + + int var4 = var3 - var2; + if (var4 >= 1 && var4 <= BufferedSink.method5777(var1)) { + StringBuilder var5 = new StringBuilder(var4); + + for (int var6 = var2; var6 < var3; ++var6) { + char var7 = var0.charAt(var6); + boolean var8; + if (Character.isISOControl(var7)) { + var8 = false; + } else if (AbstractArchive.isAlphaNumeric(var7)) { + var8 = true; + } else { + char[] var12 = class338.field4036; + int var10 = 0; + + label73: + while (true) { + char var11; + if (var10 >= var12.length) { + var12 = class338.field4037; + + for (var10 = 0; var10 < var12.length; ++var10) { + var11 = var12[var10]; + if (var7 == var11) { + var8 = true; + break label73; + } + } + + var8 = false; + break; + } + + var11 = var12[var10]; + if (var11 == var7) { + var8 = true; + break; + } + + ++var10; + } + } + + if (var8) { + char var9 = class32.method577(var7); + if (var9 != 0) { + var5.append(var9); + } + } + } + + if (var5.length() == 0) { + return null; + } else { + return var5.toString(); + } + } else { + return null; + } + } + } + + @ObfuscatedName("hb") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2065771075" + ) + static void method1205() { + Client.menuOptionsCount = 0; + Client.isMenuOpen = false; + } + + @ObfuscatedName("ib") + @ObfuscatedSignature( + signature = "([Lho;IIIIIIIIB)V", + garbageValue = "50" + ) + @Export("drawInterface") + static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + + for (int var9 = 0; var9 < var0.length; ++var9) { + Widget var10 = var0[var9]; + if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) { + int var11; + if (var8 == -1) { + Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6; + Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y; + Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width; + Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height; + var11 = ++Client.rootWidgetCount - 1; + } else { + var11 = var8; + } + + var10.rootIndex = var11; + var10.cycle = Client.cycle; + if (!var10.isIf3 || !WorldMapSectionType.isComponentHidden(var10)) { + if (var10.contentType > 0) { + WorldMapIcon_0.method221(var10); + } + + int var12 = var10.x + var6; + int var13 = var7 + var10.y; + int var14 = var10.transparencyTop; + int var15; + int var16; + if (var10 == Client.clickedWidget) { + if (var1 != -1412584499 && !var10.isScrollBar) { + GrandExchangeOffer.field61 = var0; + class227.field3061 = var6; + Occluder.field1889 = var7; + continue; + } + + if (Client.isDraggingWidget && Client.field814) { + var15 = MouseHandler.MouseHandler_x; + var16 = MouseHandler.MouseHandler_y; + var15 -= Client.widgetClickX; + var16 -= Client.widgetClickY; + if (var15 < Client.field695) { + var15 = Client.field695; + } + + if (var15 + var10.width > Client.field695 + Client.clickedWidgetParent.width) { + var15 = Client.field695 + Client.clickedWidgetParent.width - var10.width; + } + + if (var16 < Client.field816) { + var16 = Client.field816; + } + + if (var16 + var10.height > Client.field816 + Client.clickedWidgetParent.height) { + var16 = Client.field816 + Client.clickedWidgetParent.height - var10.height; + } + + var12 = var15; + var13 = var16; + } + + if (!var10.isScrollBar) { + var14 = 128; + } + } + + int var17; + int var18; + int var19; + int var20; + int var21; + int var22; + if (var10.type == 2) { + var15 = var2; + var16 = var3; + var17 = var4; + var18 = var5; + } else if (var10.type == 9) { + var19 = var12; + var20 = var13; + var21 = var12 + var10.width; + var22 = var13 + var10.height; + if (var21 < var12) { + var19 = var21; + var21 = var12; + } + + if (var22 < var13) { + var20 = var22; + var22 = var13; + } + + ++var21; + ++var22; + var15 = var19 > var2 ? var19 : var2; + var16 = var20 > var3 ? var20 : var3; + var17 = var21 < var4 ? var21 : var4; + var18 = var22 < var5 ? var22 : var5; + } else { + var19 = var12 + var10.width; + var20 = var13 + var10.height; + var15 = var12 > var2 ? var12 : var2; + var16 = var13 > var3 ? var13 : var3; + var17 = var19 < var4 ? var19 : var4; + var18 = var20 < var5 ? var20 : var5; + } + + if (!var10.isIf3 || var15 < var17 && var16 < var18) { + if (var10.contentType != 0) { + if (var10.contentType == 1336) { + if (Client.displayFps) { + var13 += 15; + GraphicsDefaults.fontPlain12.drawRightAligned("Fps:" + GameShell.fps, var12 + var10.width, var13, 16776960, -1); + var13 += 15; + Runtime var41 = Runtime.getRuntime(); + var20 = (int)((var41.totalMemory() - var41.freeMemory()) / 1024L); + var21 = 16776960; + if (var20 > 327680 && !Client.isLowDetail) { + var21 = 16711680; + } + + GraphicsDefaults.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); + var13 += 15; + } + continue; + } + + if (var10.contentType == 1337) { + Client.viewportX = var12; + Client.viewportY = var13; + Friend.drawEntities(var12, var13, var10.width, var10.height); + Client.field841[var10.rootIndex] = true; + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1338) { + ClientPreferences.drawMinimap(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1339) { + SoundSystem.drawCompass(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1400) { + Tiles.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); + } + + if (var10.contentType == 1401) { + Tiles.worldMap.drawOverview(var12, var13, var10.width, var10.height); + } + + if (var10.contentType == 1402) { + BufferedSink.loginScreenRunesAnimation.draw(var12, Client.cycle); + } + } + + if (var10.type == 0) { + if (!var10.isIf3 && WorldMapSectionType.isComponentHidden(var10) && var10 != NetSocket.mousedOverWidgetIf1) { + continue; + } + + if (!var10.isIf3) { + if (var10.scrollY > var10.scrollHeight - var10.height) { + var10.scrollY = var10.scrollHeight - var10.height; + } + + if (var10.scrollY < 0) { + var10.scrollY = 0; + } + } + + drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); + if (var10.children != null) { + drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); + } + + InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); + if (var30 != null) { + ItemContainer.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11); + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + } + + if (Client.isResizable || Client.field847[var11] || Client.gameDrawingMode > 1) { + if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { + GameShell.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); + } + + if (var10.type != 1) { + int var23; + int var24; + int var25; + int var26; + if (var10.type == 2) { + var19 = 0; + + for (var20 = 0; var20 < var10.rawHeight; ++var20) { + for (var21 = 0; var21 < var10.rawWidth; ++var21) { + var22 = var12 + var21 * (var10.paddingX + 32); + var23 = var13 + var20 * (var10.paddingY + 32); + if (var19 < 20) { + var22 += var10.inventoryXOffsets[var19]; + var23 += var10.inventoryYOffsets[var19]; + } + + if (var10.itemIds[var19] <= 0) { + if (var10.inventorySprites != null && var19 < 20) { + Sprite var43 = var10.getInventorySprite(var19); + if (var43 != null) { + var43.drawTransBgAt(var22, var23); + } else if (Widget.field2543) { + WorldMapSectionType.invalidateWidget(var10); + } + } + } else { + boolean var37 = false; + boolean var38 = false; + var26 = var10.itemIds[var19] - 1; + if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == Frames.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + Sprite var27; + if (Client.isItemSelected == 1 && var19 == DevicePcmPlayerProvider.selectedItemSlot && var10.id == class2.selectedItemWidget) { + var27 = GrandExchangeOfferWorldComparator.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false); + } else { + var27 = GrandExchangeOfferWorldComparator.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false); + } + + if (var27 != null) { + if (var10 == Frames.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + var24 = MouseHandler.MouseHandler_x - Client.field745; + var25 = MouseHandler.MouseHandler_y - Client.field746; + if (var24 < 5 && var24 > -5) { + var24 = 0; + } + + if (var25 < 5 && var25 > -5) { + var25 = 0; + } + + if (Client.itemDragDuration < 5) { + var24 = 0; + var25 = 0; + } + + var27.drawTransAt(var22 + var24, var23 + var25, 128); + if (var1 != -1) { + Widget var28 = var0[var1 & 65535]; + int var29; + if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) { + var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field698 / 3; + if (var29 > Client.field698 * 10) { + var29 = Client.field698 * 10; + } + + if (var29 > var28.scrollY) { + var29 = var28.scrollY; + } + + var28.scrollY -= var29; + Client.field746 += var29; + WorldMapSectionType.invalidateWidget(var28); + } + + if (var23 + var25 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) { + var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field698 / 3; + if (var29 > Client.field698 * 10) { + var29 = Client.field698 * 10; + } + + if (var29 > var28.scrollHeight - var28.height - var28.scrollY) { + var29 = var28.scrollHeight - var28.height - var28.scrollY; + } + + var28.scrollY += var29; + Client.field746 -= var29; + WorldMapSectionType.invalidateWidget(var28); + } + } + } else if (var10 == GrandExchangeOfferOwnWorldComparator.field628 && var19 == Client.field743) { + var27.drawTransAt(var22, var23, 128); + } else { + var27.drawTransBgAt(var22, var23); + } + } else { + WorldMapSectionType.invalidateWidget(var10); + } + } + } + + ++var19; + } + } + } else if (var10.type == 3) { + if (Projectile.runCs1(var10)) { + var19 = var10.color2; + if (var10 == NetSocket.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var19 = var10.mouseOverColor2; + } + } else { + var19 = var10.color; + if (var10 == NetSocket.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var19 = var10.mouseOverColor; + } + } + + if (var10.fill) { + switch(var10.fillMode.value) { + case 1: + Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2); + break; + case 2: + Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255)); + break; + default: + if (var14 == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19); + } else { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); + } + } + } else if (var14 == 0) { + Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19); + } else { + Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); + } + } else { + Font var39; + if (var10.type == 4) { + var39 = var10.getFont(); + if (var39 == null) { + if (Widget.field2543) { + WorldMapSectionType.invalidateWidget(var10); + } + } else { + String var45 = var10.text; + if (Projectile.runCs1(var10)) { + var20 = var10.color2; + if (var10 == NetSocket.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var20 = var10.mouseOverColor2; + } + + if (var10.text2.length() > 0) { + var45 = var10.text2; + } + } else { + var20 = var10.color; + if (var10 == NetSocket.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var20 = var10.mouseOverColor; + } + } + + if (var10.isIf3 && var10.itemId != -1) { + ItemDefinition var46 = Occluder.ItemDefinition_get(var10.itemId); + var45 = var46.name; + if (var45 == null) { + var45 = "null"; + } + + if ((var46.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { + var45 = World.colorStartTag(16748608) + var45 + "" + " " + 'x' + class42.formatItemStacks(var10.itemQuantity); + } + } + + if (var10 == Client.meslayerContinueWidget) { + var45 = "Please wait..."; + var20 = var10.color; + } + + if (!var10.isIf3) { + var45 = InvDefinition.method4323(var45, var10); + } + + var39.drawLines(var45, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight); + } + } else if (var10.type == 5) { + Sprite var40; + if (!var10.isIf3) { + var40 = var10.getSprite(Projectile.runCs1(var10)); + if (var40 != null) { + var40.drawTransBgAt(var12, var13); + } else if (Widget.field2543) { + WorldMapSectionType.invalidateWidget(var10); + } + } else { + if (var10.itemId != -1) { + var40 = GrandExchangeOfferWorldComparator.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); + } else { + var40 = var10.getSprite(false); + } + + if (var40 == null) { + if (Widget.field2543) { + WorldMapSectionType.invalidateWidget(var10); + } + } else { + var20 = var40.width; + var21 = var40.height; + if (!var10.spriteTiling) { + var22 = var10.width * 4096 / var20; + if (var10.spriteAngle != 0) { + var40.method6068(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22); + } else if (var14 != 0) { + var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255)); + } else if (var20 == var10.width && var21 == var10.height) { + var40.drawTransBgAt(var12, var13); + } else { + var40.drawScaledAt(var12, var13, var10.width, var10.height); + } + } else { + Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height); + var22 = (var20 - 1 + var10.width) / var20; + var23 = (var21 - 1 + var10.height) / var21; + + for (var24 = 0; var24 < var22; ++var24) { + for (var25 = 0; var25 < var23; ++var25) { + if (var10.spriteAngle != 0) { + var40.method6068(var20 / 2 + var12 + var24 * var20, var21 / 2 + var13 + var25 * var21, var10.spriteAngle, 4096); + } else if (var14 != 0) { + var40.drawTransAt(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255)); + } else { + var40.drawTransBgAt(var12 + var24 * var20, var13 + var25 * var21); + } + } + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + } + } + } + } else { + ItemDefinition var34; + if (var10.type == 6) { + boolean var36 = Projectile.runCs1(var10); + if (var36) { + var20 = var10.sequenceId2; + } else { + var20 = var10.sequenceId; + } + + Model var42 = null; + var22 = 0; + if (var10.itemId != -1) { + var34 = Occluder.ItemDefinition_get(var10.itemId); + if (var34 != null) { + var34 = var34.getCountObj(var10.itemQuantity); + var42 = var34.getModel(1); + if (var42 != null) { + var42.calculateBoundsCylinder(); + var22 = var42.height / 2; + } else { + WorldMapSectionType.invalidateWidget(var10); + } + } + } else if (var10.modelType == 5) { + if (var10.modelId == 0) { + var42 = Client.playerAppearance.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); + } else { + var42 = class223.localPlayer.getModel(); + } + } else if (var20 == -1) { + var42 = var10.getModel((SequenceDefinition)null, -1, var36, class223.localPlayer.appearance); + if (var42 == null && Widget.field2543) { + WorldMapSectionType.invalidateWidget(var10); + } + } else { + SequenceDefinition var47 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var20); + var42 = var10.getModel(var47, var10.modelFrame, var36, class223.localPlayer.appearance); + if (var42 == null && Widget.field2543) { + WorldMapSectionType.invalidateWidget(var10); + } + } + + Rasterizer3D.method2988(var10.width / 2 + var12, var10.height / 2 + var13); + var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16; + var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16; + if (var42 != null) { + if (!var10.isIf3) { + var42.method2866(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); + } else { + var42.calculateBoundsCylinder(); + if (var10.modelOrthog) { + var42.method2867(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom); + } else { + var42.method2866(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY); + } + } + } + + Rasterizer3D.Rasterizer3D_method3(); + } else { + if (var10.type == 7) { + var39 = var10.getFont(); + if (var39 == null) { + if (Widget.field2543) { + WorldMapSectionType.invalidateWidget(var10); + } + continue; + } + + var20 = 0; + + for (var21 = 0; var21 < var10.rawHeight; ++var21) { + for (var22 = 0; var22 < var10.rawWidth; ++var22) { + if (var10.itemIds[var20] > 0) { + var34 = Occluder.ItemDefinition_get(var10.itemIds[var20] - 1); + String var31; + if (var34.isStackable != 1 && var10.itemQuantities[var20] == 1) { + var31 = World.colorStartTag(16748608) + var34.name + ""; + } else { + var31 = World.colorStartTag(16748608) + var34.name + "" + " " + 'x' + class42.formatItemStacks(var10.itemQuantities[var20]); + } + + var25 = var12 + var22 * (var10.paddingX + 115); + var26 = var13 + (var10.paddingY + 12) * var21; + if (var10.textXAlignment == 0) { + var39.draw(var31, var25, var26, var10.color, var10.textShadowed ? 0 : -1); + } else if (var10.textXAlignment == 1) { + var39.drawCentered(var31, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1); + } else { + var39.drawRightAligned(var31, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1); + } + } + + ++var20; + } + } + } + + if (var10.type == 8 && var10 == Strings.field2767 && Client.field787 == Client.field788) { + var19 = 0; + var20 = 0; + Font var32 = GraphicsDefaults.fontPlain12; + String var33 = var10.text; + + String var44; + for (var33 = InvDefinition.method4323(var33, var10); var33.length() > 0; var20 = var20 + var32.ascent + 1) { + var24 = var33.indexOf("
"); + if (var24 != -1) { + var44 = var33.substring(0, var24); + var33 = var33.substring(var24 + 4); + } else { + var44 = var33; + var33 = ""; + } + + var25 = var32.stringWidth(var44); + if (var25 > var19) { + var19 = var25; + } + } + + var19 += 6; + var20 += 7; + var24 = var12 + var10.width - 5 - var19; + var25 = var13 + var10.height + 5; + if (var24 < var12 + 5) { + var24 = var12 + 5; + } + + if (var24 + var19 > var4) { + var24 = var4 - var19; + } + + if (var25 + var20 > var5) { + var25 = var5 - var20; + } + + Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120); + Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0); + var33 = var10.text; + var26 = var25 + var32.ascent + 2; + + for (var33 = InvDefinition.method4323(var33, var10); var33.length() > 0; var26 = var26 + var32.ascent + 1) { + int var35 = var33.indexOf("
"); + if (var35 != -1) { + var44 = var33.substring(0, var35); + var33 = var33.substring(var35 + 4); + } else { + var44 = var33; + var33 = ""; + } + + var32.draw(var44, var24 + 3, var26, 0, -1); + } + } + + if (var10.type == 9) { + if (var10.field2579) { + var19 = var12; + var20 = var13 + var10.height; + var21 = var12 + var10.width; + var22 = var13; + } else { + var19 = var12; + var20 = var13; + var21 = var12 + var10.width; + var22 = var13 + var10.height; + } + + if (var10.lineWid == 1) { + Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color); + } else { + DevicePcmPlayerProvider.method877(var19, var20, var21, var22, var10.color, var10.lineWid); + } + } + } + } + } + } + } + } + } + } + } + + } + + @ObfuscatedName("it") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-374133932" + ) + @Export("setTapToDrop") + static void setTapToDrop(boolean var0) { + Client.tapToDrop = var0; + } +} diff --git a/runescape-client/src/main/java/ScriptFrame.java b/runescape-client/src/main/java/ScriptFrame.java index 56c5dfdf02..c18fb12418 100644 --- a/runescape-client/src/main/java/ScriptFrame.java +++ b/runescape-client/src/main/java/ScriptFrame.java @@ -1,68 +1,104 @@ -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("bu") -@Implements("ScriptFrame") -public class ScriptFrame { - @ObfuscatedName("hp") - @ObfuscatedGetter( - intValue = 583805703 - ) - @Export("cameraX") - static int cameraX; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lcu;" - ) - @Export("script") - Script script; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 669580895 - ) - @Export("pc") - int pc; - @ObfuscatedName("t") - @Export("intLocals") - int[] intLocals; - @ObfuscatedName("g") - @Export("stringLocals") - String[] stringLocals; - - ScriptFrame() { - this.pc = -1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIII)Lli;", - garbageValue = "-283029695" - ) - static Sprite method1085(int var0, int var1, int var2) { - DemotingHashTable var3 = WorldMapRegion.WorldMapRegion_cachedSprites; - long var4 = (long)(var2 << 16 | var0 << 8 | var1); - return (Sprite)var3.get(var4); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "46" - ) - @Export("WorldMapRegion_clearCachedSprites") - static void WorldMapRegion_clearCachedSprites() { - WorldMapRegion.WorldMapRegion_cachedSprites.clear(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1564175728" - ) - public static int method1086(int var0) { - return var0 >> 17 & 7; - } -} +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("bv") +@Implements("ScriptFrame") +public class ScriptFrame { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lcu;" + ) + @Export("script") + Script script; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 173320539 + ) + @Export("pc") + int pc; + @ObfuscatedName("v") + @Export("intLocals") + int[] intLocals; + @ObfuscatedName("u") + @Export("stringLocals") + String[] stringLocals; + + ScriptFrame() { + this.pc = -1; + } + + @ObfuscatedName("z") + public static final int method1158(double var0, double var2, double var4) { + double var6 = var4; + double var8 = var4; + double var10 = var4; + if (var2 != 0.0D) { + double var12; + if (var4 < 0.5D) { + var12 = (1.0D + var2) * var4; + } else { + var12 = var2 + var4 - var4 * var2; + } + + double var14 = var4 * 2.0D - var12; + double var16 = 0.3333333333333333D + var0; + if (var16 > 1.0D) { + --var16; + } + + double var20 = var0 - 0.3333333333333333D; + if (var20 < 0.0D) { + ++var20; + } + + if (var16 * 6.0D < 1.0D) { + var6 = var16 * (var12 - var14) * 6.0D + var14; + } else if (var16 * 2.0D < 1.0D) { + var6 = var12; + } else if (3.0D * var16 < 2.0D) { + var6 = var14 + 6.0D * (var12 - var14) * (0.6666666666666666D - var16); + } else { + var6 = var14; + } + + if (6.0D * var0 < 1.0D) { + var8 = var0 * (var12 - var14) * 6.0D + var14; + } else if (2.0D * var0 < 1.0D) { + var8 = var12; + } else if (3.0D * var0 < 2.0D) { + var8 = var14 + 6.0D * (var12 - var14) * (0.6666666666666666D - var0); + } else { + var8 = var14; + } + + if (6.0D * var20 < 1.0D) { + var10 = var14 + (var12 - var14) * 6.0D * var20; + } else if (var20 * 2.0D < 1.0D) { + var10 = var12; + } else if (3.0D * var20 < 2.0D) { + var10 = var14 + 6.0D * (0.6666666666666666D - var20) * (var12 - var14); + } else { + var10 = var14; + } + } + + int var22 = (int)(var6 * 256.0D); + int var13 = (int)(256.0D * var8); + int var23 = (int)(256.0D * var10); + int var15 = var23 + (var13 << 8) + (var22 << 16); + return var15; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;I)V", + garbageValue = "-1912847764" + ) + public static void method1157(AbstractArchive var0, AbstractArchive var1) { + HealthBarDefinition.HealthBarDefinition_archive = var0; + HealthBarDefinition.HitSplatDefinition_spritesArchive = var1; + } +} diff --git a/runescape-client/src/main/java/SecureRandomCallable.java b/runescape-client/src/main/java/SecureRandomCallable.java index 7381df4a21..ef000b652f 100644 --- a/runescape-client/src/main/java/SecureRandomCallable.java +++ b/runescape-client/src/main/java/SecureRandomCallable.java @@ -1,73 +1,118 @@ -import java.security.SecureRandom; -import java.util.concurrent.Callable; -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("bi") -@Implements("SecureRandomCallable") -public class SecureRandomCallable implements Callable { - @ObfuscatedName("rc") - @ObfuscatedGetter( - intValue = 52067712 - ) - static int field499; - @ObfuscatedName("l") - @Export("SpriteBuffer_yOffsets") - public static int[] SpriteBuffer_yOffsets; - @ObfuscatedName("gm") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("modIconSprites") - static IndexedSprite[] modIconSprites; - - SecureRandomCallable() { - } - - public Object call() { - SecureRandom var2 = new SecureRandom(); - var2.nextInt(); - return var2; - } - - @ObfuscatedName("fz") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "373014156" - ) - @Export("playSoundJingle") - static void playSoundJingle(int var0, int var1) { - if (Client.field638 != 0 && var0 != -1) { - class49.method826(ArchiveDisk.archive11, var0, 0, Client.field638, false); - Client.field746 = true; - } - - } - - @ObfuscatedName("gl") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1333341579" - ) - @Export("getHighestVisiblePlane") - static final int getHighestVisiblePlane() { - if (Actor.clientPreferences.roofsHidden) { - return MouseRecorder.plane; - } else { - int var0 = WorldMapAreaData.getTileHeight(ScriptFrame.cameraX, class14.cameraZ, MouseRecorder.plane); - return var0 - GrandExchangeOfferTotalQuantityComparator.cameraY < 800 && (Tiles.Tiles_renderFlags[MouseRecorder.plane][ScriptFrame.cameraX >> 7][class14.cameraZ >> 7] & 4) != 0 ? MouseRecorder.plane : 3; - } - } - - @ObfuscatedName("ky") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "18257266" - ) - public static boolean method1092() { - return Client.staffModLevel >= 2; - } -} +import java.util.concurrent.Callable; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("bj") +@Implements("SecureRandomCallable") +public class SecureRandomCallable implements Callable { + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicSamplesArchive") + public static AbstractArchive musicSamplesArchive; + + SecureRandomCallable() { + } + + public Object call() { + return AttackOption.method2077(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIIB)J", + garbageValue = "0" + ) + static long method1165(int var0, int var1, int var2) { + return (long)(var2 << 16 | var0 << 8 | var1); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "19776" + ) + public static int method1166() { + return KeyHandler.KeyHandler_idleCycles; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(Ldh;IIII)Z", + garbageValue = "810507745" + ) + static final boolean method1163(Model var0, int var1, int var2, int var3) { + boolean var4 = ViewportMouse.ViewportMouse_isInViewport; + if (!var4) { + return false; + } else { + int var5; + int var6; + int var7; + int var8; + int var11; + int var12; + int var13; + int var16; + int var17; + if (!ViewportMouse.ViewportMouse_false0) { + var5 = Scene.Scene_cameraPitchSine; + var6 = Scene.Scene_cameraPitchCosine; + var7 = Scene.Scene_cameraYawSine; + var8 = Scene.Scene_cameraYawCosine; + byte var9 = 50; + short var10 = 3500; + var11 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var9 / Rasterizer3D.Rasterizer3D_zoom; + var12 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var9 / Rasterizer3D.Rasterizer3D_zoom; + var13 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var10 / Rasterizer3D.Rasterizer3D_zoom; + int var14 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var10 / Rasterizer3D.Rasterizer3D_zoom; + int var15 = Rasterizer3D.method2982(var12, var9, var6, var5); + var16 = Rasterizer3D.method2974(var12, var9, var6, var5); + var12 = var15; + var15 = Rasterizer3D.method2982(var14, var10, var6, var5); + var17 = Rasterizer3D.method2974(var14, var10, var6, var5); + var14 = var15; + var15 = Rasterizer3D.method2980(var11, var16, var8, var7); + var16 = Rasterizer3D.method2981(var11, var16, var8, var7); + var11 = var15; + var15 = Rasterizer3D.method2980(var13, var17, var8, var7); + var17 = Rasterizer3D.method2981(var13, var17, var8, var7); + ViewportMouse.field1707 = (var15 + var11) / 2; + ViewportMouse.field1708 = (var12 + var14) / 2; + ViewportMouse.field1714 = (var16 + var17) / 2; + class96.field1304 = (var15 - var11) / 2; + ViewportMouse.field1718 = (var14 - var12) / 2; + ViewportMouse.field1711 = (var17 - var16) / 2; + class222.field2729 = Math.abs(class96.field1304); + UserComparator3.field1971 = Math.abs(ViewportMouse.field1718); + ParamDefinition.field3287 = Math.abs(ViewportMouse.field1711); + } + + var5 = var0.xMid + var1; + var6 = var2 + var0.yMid; + var7 = var3 + var0.zMid; + var8 = var0.xMidOffset; + var16 = var0.yMidOffset; + var17 = var0.zMidOffset; + var11 = ViewportMouse.field1707 - var5; + var12 = ViewportMouse.field1708 - var6; + var13 = ViewportMouse.field1714 - var7; + if (Math.abs(var11) > var8 + class222.field2729) { + return false; + } else if (Math.abs(var12) > var16 + UserComparator3.field1971) { + return false; + } else if (Math.abs(var13) > var17 + ParamDefinition.field3287) { + return false; + } else if (Math.abs(var13 * ViewportMouse.field1718 - var12 * ViewportMouse.field1711) > var16 * ParamDefinition.field3287 + var17 * UserComparator3.field1971) { + return false; + } else if (Math.abs(var11 * ViewportMouse.field1711 - var13 * class96.field1304) > var17 * class222.field2729 + var8 * ParamDefinition.field3287) { + return false; + } else { + return Math.abs(var12 * class96.field1304 - var11 * ViewportMouse.field1718) <= var16 * class222.field2729 + var8 * UserComparator3.field1971; + } + } + } +} diff --git a/runescape-client/src/main/java/SecureRandomFuture.java b/runescape-client/src/main/java/SecureRandomFuture.java index 700a2201a3..7fb1fcebe0 100644 --- a/runescape-client/src/main/java/SecureRandomFuture.java +++ b/runescape-client/src/main/java/SecureRandomFuture.java @@ -1,93 +1,98 @@ -import java.security.SecureRandom; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -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("ce") -@Implements("SecureRandomFuture") -public class SecureRandomFuture { - @ObfuscatedName("ho") - @ObfuscatedGetter( - intValue = -209939989 - ) - @Export("oculusOrbFocalPointX") - static int oculusOrbFocalPointX; - @ObfuscatedName("c") - @Export("executor") - ExecutorService executor; - @ObfuscatedName("x") - @Export("future") - Future future; - - SecureRandomFuture() { - this.executor = Executors.newSingleThreadExecutor(); - this.future = this.executor.submit(new SecureRandomCallable()); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "17" - ) - @Export("shutdown") - void shutdown() { - this.executor.shutdown(); - this.executor = null; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1733947901" - ) - @Export("isDone") - boolean isDone() { - return this.future.isDone(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)Ljava/security/SecureRandom;", - garbageValue = "1840325785" - ) - @Export("get") - SecureRandom get() { - try { - return (SecureRandom)this.future.get(); - } catch (Exception var4) { - SecureRandom var3 = new SecureRandom(); - var3.nextInt(); - return var3; - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lbs;I)V", - garbageValue = "-1751721951" - ) - @Export("runScriptEvent") - public static void runScriptEvent(ScriptEvent var0) { - GameShell.runScript(var0, 500000); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1744475740" - ) - public static int method2101(int var0) { - return Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var0]); - } - - @ObfuscatedName("l") - @Export("Entity_unpackID") - public static int Entity_unpackID(long var0) { - return (int)(var0 >>> 17 & 4294967295L); - } -} +import java.security.SecureRandom; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +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("cb") +@Implements("SecureRandomFuture") +public class SecureRandomFuture { + @ObfuscatedName("rq") + @ObfuscatedGetter( + intValue = 163955328 + ) + static int field1228; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = 515695907 + ) + public static int field1230; + @ObfuscatedName("z") + @Export("executor") + ExecutorService executor; + @ObfuscatedName("n") + @Export("future") + Future future; + + SecureRandomFuture() { + this.executor = Executors.newSingleThreadExecutor(); + this.future = this.executor.submit(new SecureRandomCallable()); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-128121805" + ) + @Export("shutdown") + void shutdown() { + this.executor.shutdown(); + this.executor = null; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-55622200" + ) + @Export("isDone") + boolean isDone() { + return this.future.isDone(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Ljava/security/SecureRandom;", + garbageValue = "311645204" + ) + @Export("get") + SecureRandom get() { + try { + return (SecureRandom)this.future.get(); + } catch (Exception var2) { + return AttackOption.method2077(); + } + } + + @ObfuscatedName("ha") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1765847825" + ) + static void method2134() { + for (int var0 = 0; var0 < Client.menuOptionsCount; ++var0) { + if (BZip2State.method5688(Client.menuOpcodes[var0])) { + if (var0 < Client.menuOptionsCount - 1) { + for (int var1 = var0; var1 < Client.menuOptionsCount - 1; ++var1) { + Client.menuActions[var1] = Client.menuActions[var1 + 1]; + Client.menuTargets[var1] = Client.menuTargets[var1 + 1]; + Client.menuOpcodes[var1] = Client.menuOpcodes[var1 + 1]; + Client.menuIdentifiers[var1] = Client.menuIdentifiers[var1 + 1]; + Client.menuArguments1[var1] = Client.menuArguments1[var1 + 1]; + Client.menuArguments2[var1] = Client.menuArguments2[var1 + 1]; + Client.menuShiftClick[var1] = Client.menuShiftClick[var1 + 1]; + } + } + + --var0; + --Client.menuOptionsCount; + } + } + + UserComparator6.calculateMenuBounds(FriendSystem.menuWidth / 2 + UrlRequester.menuX, class51.menuY); + } +} diff --git a/runescape-client/src/main/java/SequenceDefinition.java b/runescape-client/src/main/java/SequenceDefinition.java index afa40d9178..d51dbe53ea 100644 --- a/runescape-client/src/main/java/SequenceDefinition.java +++ b/runescape-client/src/main/java/SequenceDefinition.java @@ -1,447 +1,386 @@ -import java.io.IOException; -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.ScriptOpcodes; - -@ObfuscatedName("iw") -@Implements("SequenceDefinition") -public class SequenceDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("SequenceDefinition_archive") - public static AbstractArchive SequenceDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("SequenceDefinition_animationsArchive") - public static AbstractArchive SequenceDefinition_animationsArchive; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("SequenceDefinition_skeletonsArchive") - public static AbstractArchive SequenceDefinition_skeletonsArchive; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("SequenceDefinition_cached") - public static EvictingDualNodeHashTable SequenceDefinition_cached; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("SequenceDefinition_cachedFrames") - public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; - @ObfuscatedName("gu") - @Export("regionLandArchiveIds") - static int[] regionLandArchiveIds; - @ObfuscatedName("u") - @Export("frameIds") - public int[] frameIds; - @ObfuscatedName("j") - @Export("chatFrameIds") - int[] chatFrameIds; - @ObfuscatedName("v") - @Export("frameLengths") - public int[] frameLengths; - @ObfuscatedName("d") - @Export("soundEffects") - public int[] soundEffects; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -993478563 - ) - @Export("frameCount") - public int frameCount; - @ObfuscatedName("n") - int[] field3494; - @ObfuscatedName("h") - public boolean field3495; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 287380897 - ) - public int field3504; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 520762813 - ) - @Export("shield") - public int shield; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -561463937 - ) - @Export("weapon") - public int weapon; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -916538321 - ) - public int field3492; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -594984365 - ) - public int field3496; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 20396127 - ) - public int field3501; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 881200293 - ) - public int field3502; - - static { - SequenceDefinition_cached = new EvictingDualNodeHashTable(64); - SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100); - } - - SequenceDefinition() { - this.frameCount = -1; - this.field3495 = false; - this.field3504 = 5; - this.shield = -1; - this.weapon = -1; - this.field3492 = 99; - this.field3496 = -1; - this.field3501 = -1; - this.field3502 = 2; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "430086086" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "1868272717" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { - var3 = var1.readUnsignedShort(); - this.frameLengths = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.frameLengths[var4] = var1.readUnsignedShort(); - } - - this.frameIds = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.frameIds[var4] = var1.readUnsignedShort(); - } - - for (var4 = 0; var4 < var3; ++var4) { - this.frameIds[var4] += var1.readUnsignedShort() << 16; - } - } else if (var2 == 2) { - this.frameCount = var1.readUnsignedShort(); - } else if (var2 == 3) { - var3 = var1.readUnsignedByte(); - this.field3494 = new int[var3 + 1]; - - for (var4 = 0; var4 < var3; ++var4) { - this.field3494[var4] = var1.readUnsignedByte(); - } - - this.field3494[var3] = 9999999; - } else if (var2 == 4) { - this.field3495 = true; - } else if (var2 == 5) { - this.field3504 = var1.readUnsignedByte(); - } else if (var2 == 6) { - this.shield = var1.readUnsignedShort(); - } else if (var2 == 7) { - this.weapon = var1.readUnsignedShort(); - } else if (var2 == 8) { - this.field3492 = var1.readUnsignedByte(); - } else if (var2 == 9) { - this.field3496 = var1.readUnsignedByte(); - } else if (var2 == 10) { - this.field3501 = var1.readUnsignedByte(); - } else if (var2 == 11) { - this.field3502 = var1.readUnsignedByte(); - } else if (var2 == 12) { - var3 = var1.readUnsignedByte(); - this.chatFrameIds = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.chatFrameIds[var4] = var1.readUnsignedShort(); - } - - for (var4 = 0; var4 < var3; ++var4) { - this.chatFrameIds[var4] += var1.readUnsignedShort() << 16; - } - } else if (var2 == 13) { - var3 = var1.readUnsignedByte(); - this.soundEffects = new int[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.soundEffects[var4] = var1.readMedium(); - } - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1343556698" - ) - @Export("postDecode") - void postDecode() { - if (this.field3496 == -1) { - if (this.field3494 != null) { - this.field3496 = 2; - } else { - this.field3496 = 0; - } - } - - if (this.field3501 == -1) { - if (this.field3494 != null) { - this.field3501 = 2; - } else { - this.field3501 = 0; - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ldr;II)Ldr;", - garbageValue = "-213562589" - ) - @Export("transformActorModel") - public Model transformActorModel(Model var1, int var2) { - var2 = this.frameIds[var2]; - Frames var3 = class173.getFrames(var2 >> 16); - var2 &= 65535; - if (var3 == null) { - return var1.toSharedSequenceModel(true); - } else { - Model var4 = var1.toSharedSequenceModel(!var3.hasAlphaTransform(var2)); - var4.animate(var3, var2); - return var4; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ldr;III)Ldr;", - garbageValue = "1650845543" - ) - @Export("transformObjectModel") - Model transformObjectModel(Model var1, int var2, int var3) { - var2 = this.frameIds[var2]; - Frames var4 = class173.getFrames(var2 >> 16); - var2 &= 65535; - if (var4 == null) { - return var1.toSharedSequenceModel(true); - } else { - Model var5 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var2)); - var3 &= 3; - if (var3 == 1) { - var5.rotateY270Ccw(); - } else if (var3 == 2) { - var5.rotateY180(); - } else if (var3 == 3) { - var5.rotateY90Ccw(); - } - - var5.animate(var4, var2); - if (var3 == 1) { - var5.rotateY90Ccw(); - } else if (var3 == 2) { - var5.rotateY180(); - } else if (var3 == 3) { - var5.rotateY270Ccw(); - } - - return var5; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Ldr;II)Ldr;", - garbageValue = "-703390998" - ) - @Export("transformSpotAnimationModel") - Model transformSpotAnimationModel(Model var1, int var2) { - var2 = this.frameIds[var2]; - Frames var3 = class173.getFrames(var2 >> 16); - var2 &= 65535; - if (var3 == null) { - return var1.toSharedSpotAnimationModel(true); - } else { - Model var4 = var1.toSharedSpotAnimationModel(!var3.hasAlphaTransform(var2)); - var4.animate(var3, var2); - return var4; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Ldr;ILiw;II)Ldr;", - garbageValue = "1097000562" - ) - @Export("applyTransformations") - public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) { - var2 = this.frameIds[var2]; - Frames var5 = class173.getFrames(var2 >> 16); - var2 &= 65535; - if (var5 == null) { - return var3.transformActorModel(var1, var4); - } else { - var4 = var3.frameIds[var4]; - Frames var6 = class173.getFrames(var4 >> 16); - var4 &= 65535; - Model var7; - if (var6 == null) { - var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2)); - var7.animate(var5, var2); - return var7; - } else { - var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2) & !var6.hasAlphaTransform(var4)); - var7.animate2(var5, var2, var6, var4, this.field3494); - return var7; - } - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Ldr;II)Ldr;", - garbageValue = "-358919947" - ) - @Export("transformWidgetModel") - public Model transformWidgetModel(Model var1, int var2) { - int var3 = this.frameIds[var2]; - Frames var4 = class173.getFrames(var3 >> 16); - var3 &= 65535; - if (var4 == null) { - return var1.toSharedSequenceModel(true); - } else { - Frames var5 = null; - int var6 = 0; - if (this.chatFrameIds != null && var2 < this.chatFrameIds.length) { - var6 = this.chatFrameIds[var2]; - var5 = class173.getFrames(var6 >> 16); - var6 &= 65535; - } - - Model var7; - if (var5 != null && var6 != 65535) { - var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6)); - var7.animate(var4, var3); - var7.animate(var5, var6); - return var7; - } else { - var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3)); - var7.animate(var4, var3); - return var7; - } - } - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "4" - ) - static int method4799(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - int var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - if (!Client.isCameraLocked) { - Client.camAngleX = var3; - Client.camAngleY = var4; - } - - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.camAngleX; - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.camAngleY; - return 1; - } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var3 < 0) { - var3 = 0; - } - - Client.camFollowHeight = var3 * 1593328887; - return 1; - } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.camFollowHeight * 172735687; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("kz") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "477248942" - ) - static void method4770(Buffer var0) { - if (Client.randomDatData != null) { - var0.writeBytes(Client.randomDatData, 0, Client.randomDatData.length); - } else { - byte[] var2 = new byte[24]; - - try { - JagexCache.JagexCache_randomDat.seek(0L); - JagexCache.JagexCache_randomDat.readFully(var2); - - int var3; - for (var3 = 0; var3 < 24 && var2[var3] == 0; ++var3) { - } - - if (var3 >= 24) { - throw new IOException(); - } - } catch (Exception var6) { - for (int var4 = 0; var4 < 24; ++var4) { - var2[var4] = -1; - } - } - - var0.writeBytes(var2, 0, var2.length); - } - } -} +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("ix") +@Implements("SequenceDefinition") +public class SequenceDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SequenceDefinition_archive") + static AbstractArchive SequenceDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SequenceDefinition_animationsArchive") + static AbstractArchive SequenceDefinition_animationsArchive; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("SequenceDefinition_cached") + public static EvictingDualNodeHashTable SequenceDefinition_cached; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("SequenceDefinition_cachedFrames") + public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; + @ObfuscatedName("aa") + @Export("fontHelvetica13") + static java.awt.Font fontHelvetica13; + @ObfuscatedName("p") + @Export("frameIds") + public int[] frameIds; + @ObfuscatedName("q") + @Export("chatFrameIds") + int[] chatFrameIds; + @ObfuscatedName("m") + @Export("frameLengths") + public int[] frameLengths; + @ObfuscatedName("y") + @Export("soundEffects") + public int[] soundEffects; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 646355869 + ) + @Export("frameCount") + public int frameCount; + @ObfuscatedName("c") + int[] field3509; + @ObfuscatedName("b") + public boolean field3504; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 1781199649 + ) + public int field3511; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 75980763 + ) + @Export("shield") + public int shield; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1392893675 + ) + @Export("weapon") + public int weapon; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1078760223 + ) + public int field3503; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1818541161 + ) + public int field3515; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 2021679627 + ) + public int field3510; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1562384253 + ) + public int field3517; + + static { + SequenceDefinition_cached = new EvictingDualNodeHashTable(64); + SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100); + } + + SequenceDefinition() { + this.frameCount = -1; + this.field3504 = false; + this.field3511 = 5; + this.shield = -1; + this.weapon = -1; + this.field3503 = 99; + this.field3515 = -1; + this.field3510 = -1; + this.field3517 = 2; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-45" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-4421595" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedShort(); + this.frameLengths = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.frameLengths[var4] = var1.readUnsignedShort(); + } + + this.frameIds = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.frameIds[var4] = var1.readUnsignedShort(); + } + + for (var4 = 0; var4 < var3; ++var4) { + this.frameIds[var4] += var1.readUnsignedShort() << 16; + } + } else if (var2 == 2) { + this.frameCount = var1.readUnsignedShort(); + } else if (var2 == 3) { + var3 = var1.readUnsignedByte(); + this.field3509 = new int[var3 + 1]; + + for (var4 = 0; var4 < var3; ++var4) { + this.field3509[var4] = var1.readUnsignedByte(); + } + + this.field3509[var3] = 9999999; + } else if (var2 == 4) { + this.field3504 = true; + } else if (var2 == 5) { + this.field3511 = var1.readUnsignedByte(); + } else if (var2 == 6) { + this.shield = var1.readUnsignedShort(); + } else if (var2 == 7) { + this.weapon = var1.readUnsignedShort(); + } else if (var2 == 8) { + this.field3503 = var1.readUnsignedByte(); + } else if (var2 == 9) { + this.field3515 = var1.readUnsignedByte(); + } else if (var2 == 10) { + this.field3510 = var1.readUnsignedByte(); + } else if (var2 == 11) { + this.field3517 = var1.readUnsignedByte(); + } else if (var2 == 12) { + var3 = var1.readUnsignedByte(); + this.chatFrameIds = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.chatFrameIds[var4] = var1.readUnsignedShort(); + } + + for (var4 = 0; var4 < var3; ++var4) { + this.chatFrameIds[var4] += var1.readUnsignedShort() << 16; + } + } else if (var2 == 13) { + var3 = var1.readUnsignedByte(); + this.soundEffects = new int[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.soundEffects[var4] = var1.readMedium(); + } + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "30171" + ) + @Export("postDecode") + void postDecode() { + if (this.field3515 == -1) { + if (this.field3509 != null) { + this.field3515 = 2; + } else { + this.field3515 = 0; + } + } + + if (this.field3510 == -1) { + if (this.field3509 != null) { + this.field3510 = 2; + } else { + this.field3510 = 0; + } + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ldh;II)Ldh;", + garbageValue = "330035631" + ) + @Export("transformActorModel") + public Model transformActorModel(Model var1, int var2) { + var2 = this.frameIds[var2]; + Frames var3 = class226.getFrames(var2 >> 16); + var2 &= 65535; + if (var3 == null) { + return var1.toSharedSequenceModel(true); + } else { + Model var4 = var1.toSharedSequenceModel(!var3.hasAlphaTransform(var2)); + var4.animate(var3, var2); + return var4; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Ldh;IIB)Ldh;", + garbageValue = "2" + ) + @Export("transformObjectModel") + Model transformObjectModel(Model var1, int var2, int var3) { + var2 = this.frameIds[var2]; + Frames var4 = class226.getFrames(var2 >> 16); + var2 &= 65535; + if (var4 == null) { + return var1.toSharedSequenceModel(true); + } else { + Model var5 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var2)); + var3 &= 3; + if (var3 == 1) { + var5.rotateY270Ccw(); + } else if (var3 == 2) { + var5.rotateY180(); + } else if (var3 == 3) { + var5.rotateY90Ccw(); + } + + var5.animate(var4, var2); + if (var3 == 1) { + var5.rotateY90Ccw(); + } else if (var3 == 2) { + var5.rotateY180(); + } else if (var3 == 3) { + var5.rotateY270Ccw(); + } + + return var5; + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Ldh;II)Ldh;", + garbageValue = "-1452846924" + ) + @Export("transformSpotAnimationModel") + Model transformSpotAnimationModel(Model var1, int var2) { + var2 = this.frameIds[var2]; + Frames var3 = class226.getFrames(var2 >> 16); + var2 &= 65535; + if (var3 == null) { + return var1.toSharedSpotAnimationModel(true); + } else { + Model var4 = var1.toSharedSpotAnimationModel(!var3.hasAlphaTransform(var2)); + var4.animate(var3, var2); + return var4; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Ldh;ILix;IB)Ldh;", + garbageValue = "-28" + ) + @Export("applyTransformations") + public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) { + var2 = this.frameIds[var2]; + Frames var5 = class226.getFrames(var2 >> 16); + var2 &= 65535; + if (var5 == null) { + return var3.transformActorModel(var1, var4); + } else { + var4 = var3.frameIds[var4]; + Frames var6 = class226.getFrames(var4 >> 16); + var4 &= 65535; + Model var7; + if (var6 == null) { + var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2)); + var7.animate(var5, var2); + return var7; + } else { + var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2) & !var6.hasAlphaTransform(var4)); + var7.animate2(var5, var2, var6, var4, this.field3509); + return var7; + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Ldh;IB)Ldh;", + garbageValue = "-75" + ) + @Export("transformWidgetModel") + public Model transformWidgetModel(Model var1, int var2) { + int var3 = this.frameIds[var2]; + Frames var4 = class226.getFrames(var3 >> 16); + var3 &= 65535; + if (var4 == null) { + return var1.toSharedSequenceModel(true); + } else { + Frames var5 = null; + int var6 = 0; + if (this.chatFrameIds != null && var2 < this.chatFrameIds.length) { + var6 = this.chatFrameIds[var2]; + var5 = class226.getFrames(var6 >> 16); + var6 &= 65535; + } + + Model var7; + if (var5 != null && var6 != 65535) { + var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6)); + var7.animate(var4, var3); + var7.animate(var5, var6); + return var7; + } else { + var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3)); + var7.animate(var4, var3); + return var7; + } + } + } + + @ObfuscatedName("et") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-645881783" + ) + static final void method4744(int var0) { + DynamicObject.method2219(); + switch(var0) { + case 1: + Login.loginIndex = 24; + PlayerType.setLoginResponseString("", "You were disconnected from the server.", ""); + break; + case 2: + class3.method48(); + } + + } +} diff --git a/runescape-client/src/main/java/ServerBuild.java b/runescape-client/src/main/java/ServerBuild.java index 4e0fc2161e..dd2fc31855 100644 --- a/runescape-client/src/main/java/ServerBuild.java +++ b/runescape-client/src/main/java/ServerBuild.java @@ -1,59 +1,129 @@ -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("ho") -@Implements("ServerBuild") -public class ServerBuild { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("LIVE") - static final ServerBuild LIVE; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("BUILDLIVE") - static final ServerBuild BUILDLIVE; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("RC") - static final ServerBuild RC; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lho;" - ) - @Export("WIP") - static final ServerBuild WIP; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1377702413 - ) - static int field3079; - @ObfuscatedName("l") - @Export("name") - public final String name; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -2004053653 - ) - public final int field3077; - - static { - LIVE = new ServerBuild("LIVE", 0); - BUILDLIVE = new ServerBuild("BUILDLIVE", 3); - RC = new ServerBuild("RC", 1); - WIP = new ServerBuild("WIP", 2); - } - - ServerBuild(String var1, int var2) { - this.name = var1; - this.field3077 = var2; - } -} +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("hs") +@Implements("ServerBuild") +public class ServerBuild { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhs;" + ) + @Export("LIVE") + static final ServerBuild LIVE; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhs;" + ) + @Export("BUILDLIVE") + static final ServerBuild BUILDLIVE; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhs;" + ) + @Export("RC") + static final ServerBuild RC; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lhs;" + ) + @Export("WIP") + static final ServerBuild WIP; + @ObfuscatedName("r") + @Export("name") + public final String name; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1051483467 + ) + final int field3079; + + static { + LIVE = new ServerBuild("LIVE", 0); + BUILDLIVE = new ServerBuild("BUILDLIVE", 3); + RC = new ServerBuild("RC", 1); + WIP = new ServerBuild("WIP", 2); + } + + ServerBuild(String var1, int var2) { + this.name = var1; + this.field3079 = var2; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;II[BII)I", + garbageValue = "1213653809" + ) + @Export("encodeStringCp1252") + public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { + int var5 = var2 - var1; + + for (int var6 = 0; var6 < var5; ++var6) { + char var7 = var0.charAt(var6 + var1); + if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { + var3[var6 + var4] = (byte)var7; + } else if (var7 == 8364) { + var3[var6 + var4] = -128; + } else if (var7 == 8218) { + var3[var6 + var4] = -126; + } else if (var7 == 402) { + var3[var6 + var4] = -125; + } else if (var7 == 8222) { + var3[var6 + var4] = -124; + } else if (var7 == 8230) { + var3[var6 + var4] = -123; + } else if (var7 == 8224) { + var3[var6 + var4] = -122; + } else if (var7 == 8225) { + var3[var6 + var4] = -121; + } else if (var7 == 710) { + var3[var6 + var4] = -120; + } else if (var7 == 8240) { + var3[var6 + var4] = -119; + } else if (var7 == 352) { + var3[var6 + var4] = -118; + } else if (var7 == 8249) { + var3[var6 + var4] = -117; + } else if (var7 == 338) { + var3[var6 + var4] = -116; + } else if (var7 == 381) { + var3[var6 + var4] = -114; + } else if (var7 == 8216) { + var3[var6 + var4] = -111; + } else if (var7 == 8217) { + var3[var6 + var4] = -110; + } else if (var7 == 8220) { + var3[var6 + var4] = -109; + } else if (var7 == 8221) { + var3[var6 + var4] = -108; + } else if (var7 == 8226) { + var3[var6 + var4] = -107; + } else if (var7 == 8211) { + var3[var6 + var4] = -106; + } else if (var7 == 8212) { + var3[var6 + var4] = -105; + } else if (var7 == 732) { + var3[var6 + var4] = -104; + } else if (var7 == 8482) { + var3[var6 + var4] = -103; + } else if (var7 == 353) { + var3[var6 + var4] = -102; + } else if (var7 == 8250) { + var3[var6 + var4] = -101; + } else if (var7 == 339) { + var3[var6 + var4] = -100; + } else if (var7 == 382) { + var3[var6 + var4] = -98; + } else if (var7 == 376) { + var3[var6 + var4] = -97; + } else { + var3[var6 + var4] = 63; + } + } + + return var5; + } +} diff --git a/runescape-client/src/main/java/ServerPacket.java b/runescape-client/src/main/java/ServerPacket.java index 139dd871d9..0ee8c526f1 100644 --- a/runescape-client/src/main/java/ServerPacket.java +++ b/runescape-client/src/main/java/ServerPacket.java @@ -1,648 +1,688 @@ -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("ga") -@Implements("ServerPacket") -public class ServerPacket { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2141; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2113; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2122; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2120; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2100; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2101; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2102; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2103; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2104; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2162; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2118; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2107; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2108; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2109; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2110; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2111; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2112; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2098; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2105; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2135; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2134; - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2117; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2181; - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2119; - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2099; - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2121; - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2096; - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2123; - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2116; - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2137; - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2126; - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2127; - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2142; - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2115; - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2130; - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2168; - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2132; - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2133; - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2131; - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2158; - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2136; - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2182; - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2138; - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2164; - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2172; - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2125; - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2129; - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2106; - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2144; - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2145; - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2146; - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2143; - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2128; - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2149; - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2150; - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2151; - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2152; - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2153; - @ObfuscatedName("bv") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2154; - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2124; - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2156; - @ObfuscatedName("bw") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2157; - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2147; - @ObfuscatedName("bt") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2159; - @ObfuscatedName("bj") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2160; - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2161; - @ObfuscatedName("by") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2148; - @ObfuscatedName("bh") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2163; - @ObfuscatedName("bo") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2155; - @ObfuscatedName("be") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2165; - @ObfuscatedName("bl") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2166; - @ObfuscatedName("bb") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2167; - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2139; - @ObfuscatedName("bz") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2169; - @ObfuscatedName("bc") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2170; - @ObfuscatedName("br") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2171; - @ObfuscatedName("bx") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2097; - @ObfuscatedName("bq") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2173; - @ObfuscatedName("cb") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2174; - @ObfuscatedName("ct") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2175; - @ObfuscatedName("ch") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2176; - @ObfuscatedName("cc") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2177; - @ObfuscatedName("cv") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2178; - @ObfuscatedName("cr") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2179; - @ObfuscatedName("cl") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2180; - @ObfuscatedName("ca") - @ObfuscatedSignature( - signature = "Lga;" - ) - public static final ServerPacket field2140; - @ObfuscatedName("ck") - @ObfuscatedGetter( - intValue = -1244788261 - ) - @Export("id") - public final int id; - @ObfuscatedName("cm") - @ObfuscatedGetter( - intValue = -1059640139 - ) - @Export("length") - public final int length; - - static { - field2141 = new ServerPacket(0, -2); - field2113 = new ServerPacket(1, 2); - field2122 = new ServerPacket(2, -2); - field2120 = new ServerPacket(3, 2); - field2100 = new ServerPacket(4, 2); - field2101 = new ServerPacket(5, -2); - field2102 = new ServerPacket(6, 1); - field2103 = new ServerPacket(7, 6); - field2104 = new ServerPacket(8, 14); - field2162 = new ServerPacket(9, 4); - field2118 = new ServerPacket(10, 10); - field2107 = new ServerPacket(11, 5); - field2108 = new ServerPacket(12, -1); - field2109 = new ServerPacket(13, -1); - field2110 = new ServerPacket(14, -1); - field2111 = new ServerPacket(15, -2); - field2112 = new ServerPacket(16, 6); - field2098 = new ServerPacket(17, 2); - field2105 = new ServerPacket(18, -2); - field2135 = new ServerPacket(19, -1); - field2134 = new ServerPacket(20, 4); - field2117 = new ServerPacket(21, -2); - field2181 = new ServerPacket(22, 6); - field2119 = new ServerPacket(23, 8); - field2099 = new ServerPacket(24, -2); - field2121 = new ServerPacket(25, 3); - field2096 = new ServerPacket(26, 6); - field2123 = new ServerPacket(27, -2); - field2116 = new ServerPacket(28, 0); - field2137 = new ServerPacket(29, -2); - field2126 = new ServerPacket(30, 4); - field2127 = new ServerPacket(31, 6); - field2142 = new ServerPacket(32, 3); - field2115 = new ServerPacket(33, 0); - field2130 = new ServerPacket(34, 4); - field2168 = new ServerPacket(35, 2); - field2132 = new ServerPacket(36, -2); - field2133 = new ServerPacket(37, -2); - field2131 = new ServerPacket(38, 8); - field2158 = new ServerPacket(39, 8); - field2136 = new ServerPacket(40, 1); - field2182 = new ServerPacket(41, -2); - field2138 = new ServerPacket(42, 5); - field2164 = new ServerPacket(43, -2); - field2172 = new ServerPacket(44, 1); - field2125 = new ServerPacket(45, -2); - field2129 = new ServerPacket(46, 4); - field2106 = new ServerPacket(47, 7); - field2144 = new ServerPacket(48, 6); - field2145 = new ServerPacket(49, 0); - field2146 = new ServerPacket(50, 0); - field2143 = new ServerPacket(51, 6); - field2128 = new ServerPacket(52, 12); - field2149 = new ServerPacket(53, 15); - field2150 = new ServerPacket(54, 20); - field2151 = new ServerPacket(55, -2); - field2152 = new ServerPacket(56, 5); - field2153 = new ServerPacket(57, -1); - field2154 = new ServerPacket(58, 0); - field2124 = new ServerPacket(59, 0); - field2156 = new ServerPacket(60, -2); - field2157 = new ServerPacket(61, 2); - field2147 = new ServerPacket(62, 4); - field2159 = new ServerPacket(63, -2); - field2160 = new ServerPacket(64, 2); - field2161 = new ServerPacket(65, 28); - field2148 = new ServerPacket(66, 8); - field2163 = new ServerPacket(67, -1); - field2155 = new ServerPacket(68, 2); - field2165 = new ServerPacket(69, 2); - field2166 = new ServerPacket(70, 1); - field2167 = new ServerPacket(71, 4); - field2139 = new ServerPacket(72, 0); - field2169 = new ServerPacket(73, 5); - field2170 = new ServerPacket(74, 10); - field2171 = new ServerPacket(75, 1); - field2097 = new ServerPacket(76, 7); - field2173 = new ServerPacket(77, -2); - field2174 = new ServerPacket(78, 1); - field2175 = new ServerPacket(79, 6); - field2176 = new ServerPacket(80, 6); - field2177 = new ServerPacket(81, -2); - field2178 = new ServerPacket(82, 2); - field2179 = new ServerPacket(83, 5); - field2180 = new ServerPacket(84, 6); - field2140 = new ServerPacket(85, 6); - } - - ServerPacket(int var1, int var2) { - this.id = var1; - this.length = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([Lgk;II)Lgk;", - garbageValue = "-1697869771" - ) - @Export("findEnumerated") - public static Enumerated findEnumerated(Enumerated[] var0, int var1) { - Enumerated[] var2 = var0; - - for (int var3 = 0; var3 < var2.length; ++var3) { - Enumerated var4 = var2[var3]; - if (var1 == var4.rsOrdinal()) { - return var4; - } - } - - return null; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Lil;", - garbageValue = "-2017353606" - ) - @Export("FloorUnderlayDefinition_get") - public static FloorUnderlayDefinition FloorUnderlayDefinition_get(int var0) { - FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var0); - var1 = new FloorUnderlayDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2), var0); - } - - var1.postDecode(); - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("fc") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-20" - ) - @Export("processOverheadText") - static final void processOverheadText() { - int[] var0 = Players.Players_indices; - - int var1; - for (var1 = 0; var1 < Players.Players_count; ++var1) { - Player var2 = Client.players[var0[var1]]; - if (var2 != null && var2.overheadTextCyclesRemaining > 0) { - --var2.overheadTextCyclesRemaining; - if (var2.overheadTextCyclesRemaining == 0) { - var2.overheadText = null; - } - } - } - - for (var1 = 0; var1 < Client.npcCount; ++var1) { - int var4 = Client.npcIndices[var1]; - NPC var3 = Client.npcs[var4]; - if (var3 != null && var3.overheadTextCyclesRemaining > 0) { - --var3.overheadTextCyclesRemaining; - if (var3.overheadTextCyclesRemaining == 0) { - var3.overheadText = null; - } - } - } - - } - - @ObfuscatedName("iz") - @ObfuscatedSignature( - signature = "(IIIIIB)V", - garbageValue = "-32" - ) - @Export("drawScrollBar") - static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) { - WorldMapIcon_1.scrollBarSprites[0].drawAt(var0, var1); - WorldMapIcon_1.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field684); - int var5 = var3 * (var3 - 32) / var4; - if (var5 < 8) { - var5 = 8; - } - - int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field745); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field817); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field817); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field817); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field817); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field686); - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field686); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field686); - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var6 + var5 + var1 + 14, 15, Client.field686); - } -} +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.ScriptOpcodes; + +@ObfuscatedName("gv") +@Implements("ServerPacket") +public class ServerPacket { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2126; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2134; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2105; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2098; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2113; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2099; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2101; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2177; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2103; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2140; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2132; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2167; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2107; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2102; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2109; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2110; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2111; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2112; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2145; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2114; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2115; + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2096; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2139; + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2118; + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2119; + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2120; + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2095; + @ObfuscatedName("az") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2122; + @ObfuscatedName("aw") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2123; + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2124; + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2104; + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2133; + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2127; + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2128; + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2117; + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2130; + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2159; + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2141; + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2121; + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2106; + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2135; + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2136; + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2137; + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2138; + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2100; + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2129; + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2174; + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2182; + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2168; + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2144; + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2142; + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2146; + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2147; + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2148; + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2149; + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2150; + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2151; + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2152; + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2153; + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2154; + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2155; + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2156; + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2097; + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2158; + @ObfuscatedName("be") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2157; + @ObfuscatedName("bu") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2160; + @ObfuscatedName("bi") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2161; + @ObfuscatedName("bb") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2162; + @ObfuscatedName("bt") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2163; + @ObfuscatedName("by") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2164; + @ObfuscatedName("bq") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2165; + @ObfuscatedName("bo") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2116; + @ObfuscatedName("br") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2143; + @ObfuscatedName("bl") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2166; + @ObfuscatedName("bf") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2169; + @ObfuscatedName("bg") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2170; + @ObfuscatedName("bw") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2171; + @ObfuscatedName("bp") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2172; + @ObfuscatedName("cz") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2173; + @ObfuscatedName("ck") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2183; + @ObfuscatedName("cv") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2175; + @ObfuscatedName("co") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2176; + @ObfuscatedName("cs") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2179; + @ObfuscatedName("cg") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2178; + @ObfuscatedName("cn") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2125; + @ObfuscatedName("cd") + @ObfuscatedSignature( + signature = "Lgv;" + ) + public static final ServerPacket field2180; + @ObfuscatedName("fl") + @ObfuscatedGetter( + intValue = -302162321 + ) + static int field2131; + @ObfuscatedName("cy") + @ObfuscatedGetter( + intValue = -1102910255 + ) + @Export("id") + public final int id; + @ObfuscatedName("cj") + @ObfuscatedGetter( + intValue = -1349590603 + ) + @Export("length") + public final int length; + + static { + field2126 = new ServerPacket(0, 6); + field2134 = new ServerPacket(1, -2); + field2105 = new ServerPacket(2, 7); + field2098 = new ServerPacket(3, -2); + field2113 = new ServerPacket(4, -2); + field2099 = new ServerPacket(5, 0); + field2101 = new ServerPacket(6, 2); + field2177 = new ServerPacket(7, -1); + field2103 = new ServerPacket(8, 4); + field2140 = new ServerPacket(9, 6); + field2132 = new ServerPacket(10, 5); + field2167 = new ServerPacket(11, 1); + field2107 = new ServerPacket(12, 8); + field2102 = new ServerPacket(13, 10); + field2109 = new ServerPacket(14, -2); + field2110 = new ServerPacket(15, -2); + field2111 = new ServerPacket(16, 0); + field2112 = new ServerPacket(17, 1); + field2145 = new ServerPacket(18, 20); + field2114 = new ServerPacket(19, 6); + field2115 = new ServerPacket(20, -1); + field2096 = new ServerPacket(21, 14); + field2139 = new ServerPacket(22, -1); + field2118 = new ServerPacket(23, -1); + field2119 = new ServerPacket(24, 6); + field2120 = new ServerPacket(25, 2); + field2095 = new ServerPacket(26, 8); + field2122 = new ServerPacket(27, 12); + field2123 = new ServerPacket(28, -2); + field2124 = new ServerPacket(29, 2); + field2104 = new ServerPacket(30, 3); + field2133 = new ServerPacket(31, -2); + field2127 = new ServerPacket(32, -2); + field2128 = new ServerPacket(33, 5); + field2117 = new ServerPacket(34, 3); + field2130 = new ServerPacket(35, 1); + field2159 = new ServerPacket(36, -2); + field2141 = new ServerPacket(37, 6); + field2121 = new ServerPacket(38, 15); + field2106 = new ServerPacket(39, 6); + field2135 = new ServerPacket(40, 6); + field2136 = new ServerPacket(41, 5); + field2137 = new ServerPacket(42, 6); + field2138 = new ServerPacket(43, 1); + field2100 = new ServerPacket(44, 2); + field2129 = new ServerPacket(45, -2); + field2174 = new ServerPacket(46, 6); + field2182 = new ServerPacket(47, 1); + field2168 = new ServerPacket(48, -2); + field2144 = new ServerPacket(49, -2); + field2142 = new ServerPacket(50, 8); + field2146 = new ServerPacket(51, 4); + field2147 = new ServerPacket(52, 0); + field2148 = new ServerPacket(53, -2); + field2149 = new ServerPacket(54, 4); + field2150 = new ServerPacket(55, 1); + field2151 = new ServerPacket(56, -2); + field2152 = new ServerPacket(57, 2); + field2153 = new ServerPacket(58, 0); + field2154 = new ServerPacket(59, -2); + field2155 = new ServerPacket(60, 2); + field2156 = new ServerPacket(61, -2); + field2097 = new ServerPacket(62, -1); + field2158 = new ServerPacket(63, 6); + field2157 = new ServerPacket(64, 4); + field2160 = new ServerPacket(65, 2); + field2161 = new ServerPacket(66, -2); + field2162 = new ServerPacket(67, 0); + field2163 = new ServerPacket(68, 6); + field2164 = new ServerPacket(69, 2); + field2165 = new ServerPacket(70, 28); + field2116 = new ServerPacket(71, -2); + field2143 = new ServerPacket(72, 2); + field2166 = new ServerPacket(73, 8); + field2169 = new ServerPacket(74, 0); + field2170 = new ServerPacket(75, 10); + field2171 = new ServerPacket(76, 0); + field2172 = new ServerPacket(77, 4); + field2173 = new ServerPacket(78, 5); + field2183 = new ServerPacket(79, 2); + field2175 = new ServerPacket(80, -1); + field2176 = new ServerPacket(81, 4); + field2179 = new ServerPacket(82, -2); + field2178 = new ServerPacket(83, 5); + field2125 = new ServerPacket(84, 7); + field2180 = new ServerPacket(85, 4); + } + + ServerPacket(int var1, int var2) { + this.id = var1; + this.length = var2; + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-402041204" + ) + static int method3571(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.CLIENTCLOCK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.cycle; + return 1; + } else { + int var3; + int var4; + if (var0 == ScriptOpcodes.INV_GETOBJ) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapDecoration.method344(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_GETNUM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FloorUnderlayDefinition.ItemContainer_getCount(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_TOTAL) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapEvent.method801(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_SIZE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = StudioGame.getInvDefinition(var3).size; + return 1; + } else if (var0 == ScriptOpcodes.STAT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; + return 1; + } else if (var0 == ScriptOpcodes.STAT_BASE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.levels[var3]; + return 1; + } else if (var0 == ScriptOpcodes.STAT_XP) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.experience[var3]; + return 1; + } else { + int var5; + if (var0 == ScriptOpcodes.COORD) { + var3 = WorldMapRectangle.plane; + var4 = class223.baseX * 64 + (class223.localPlayer.x >> 7); + var5 = class286.baseY * 64 + (class223.localPlayer.y * 682054857 >> 7); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); + return 1; + } else if (var0 == ScriptOpcodes.COORDX) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; + return 1; + } else if (var0 == ScriptOpcodes.COORDZ) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 >> 28; + return 1; + } else if (var0 == ScriptOpcodes.COORDY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 & 16383; + return 1; + } else if (var0 == ScriptOpcodes.MAP_MEMBERS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] + 32768; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapDecoration.method344(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] + 32768; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FloorUnderlayDefinition.ItemContainer_getCount(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] + 32768; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapEvent.method801(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { + if (Client.staffModLevel >= 2) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.staffModLevel; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.REBOOTTIMER) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.rebootTimer; + return 1; + } else if (var0 == ScriptOpcodes.MAP_WORLD) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.worldId; + return 1; + } else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.runEnergy; + return 1; + } else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.weight; + return 1; + } else if (var0 == ScriptOpcodes.PLAYERMOD) { + if (Client.playerMod) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDFLAGS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.worldProperties; + return 1; + } else if (var0 == ScriptOpcodes.MOVECOORD) { + Interpreter.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + int var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + var3 += var4 << 14; + var3 += var5 << 28; + var3 += var6; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; + return 1; + } else { + return 2; + } + } + } + } +} diff --git a/runescape-client/src/main/java/Skeleton.java b/runescape-client/src/main/java/Skeleton.java index d480e2eecd..68b9ccb8f0 100644 --- a/runescape-client/src/main/java/Skeleton.java +++ b/runescape-client/src/main/java/Skeleton.java @@ -1,132 +1,57 @@ -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("en") -@Implements("Skeleton") -public class Skeleton extends Node { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1226731601 - ) - @Export("id") - int id; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1996239831 - ) - @Export("count") - int count; - @ObfuscatedName("t") - @Export("transformTypes") - int[] transformTypes; - @ObfuscatedName("g") - @Export("labels") - int[][] labels; - - Skeleton(int var1, byte[] var2) { - this.id = var1; - Buffer var3 = new Buffer(var2); - this.count = var3.readUnsignedByte(); - this.transformTypes = new int[this.count]; - this.labels = new int[this.count][]; - - int var4; - for (var4 = 0; var4 < this.count; ++var4) { - this.transformTypes[var4] = var3.readUnsignedByte(); - } - - for (var4 = 0; var4 < this.count; ++var4) { - this.labels[var4] = new int[var3.readUnsignedByte()]; - } - - for (var4 = 0; var4 < this.count; ++var4) { - for (int var5 = 0; var5 < this.labels[var4].length; ++var5) { - this.labels[var4][var5] = var3.readUnsignedByte(); - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;Ljava/lang/String;Ljava/lang/String;I)Lkf;", - garbageValue = "1144321855" - ) - @Export("SpriteBuffer_getFontByName") - public static Font SpriteBuffer_getFontByName(AbstractArchive var0, AbstractArchive var1, String var2, String var3) { - int var4 = var0.getGroupId(var2); - int var5 = var0.getFileId(var4, var3); - byte[] var8 = var0.takeFile(var4, var5); - boolean var7; - if (var8 == null) { - var7 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var8); - var7 = true; - } - - Font var6; - if (!var7) { - var6 = null; - } else { - byte[] var9 = var1.takeFile(var4, var5); - Font var11; - if (var9 == null) { - var11 = null; - } else { - Font var10 = new Font(var9, class325.SpriteBuffer_xOffsets, SecureRandomCallable.SpriteBuffer_yOffsets, class325.SpriteBuffer_spriteWidths, SoundSystem.SpriteBuffer_spriteHeights, class325.SpriteBuffer_spritePalette, InvDefinition.SpriteBuffer_pixels); - class192.SpriteBuffer_clear(); - var11 = var10; - } - - var6 = var11; - } - - return var6; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IZI)Ljava/lang/String;", - garbageValue = "-1925003342" - ) - @Export("intToString") - public static String intToString(int var0, boolean var1) { - if (var1 && var0 >= 0) { - int var3 = var0; - String var2; - if (var1 && var0 >= 0) { - int var4 = 2; - - for (int var5 = var0 / 10; var5 != 0; ++var4) { - var5 /= 10; - } - - char[] var6 = new char[var4]; - var6[0] = '+'; - - for (int var7 = var4 - 1; var7 > 0; --var7) { - int var8 = var3; - var3 /= 10; - int var9 = var8 - var3 * 10; - if (var9 >= 10) { - var6[var7] = (char)(var9 + 87); - } else { - var6[var7] = (char)(var9 + 48); - } - } - - var2 = new String(var6); - } else { - var2 = Integer.toString(var0, 10); - } - - return var2; - } else { - return Integer.toString(var0); - } - } -} +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("ew") +@Implements("Skeleton") +public class Skeleton extends Node { + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "Llp;" + ) + static IndexedSprite field1767; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1879620261 + ) + @Export("id") + int id; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1324463493 + ) + @Export("count") + int count; + @ObfuscatedName("v") + @Export("transformTypes") + int[] transformTypes; + @ObfuscatedName("u") + @Export("labels") + int[][] labels; + + Skeleton(int var1, byte[] var2) { + this.id = var1; + Buffer var3 = new Buffer(var2); + this.count = var3.readUnsignedByte(); + this.transformTypes = new int[this.count]; + this.labels = new int[this.count][]; + + int var4; + for (var4 = 0; var4 < this.count; ++var4) { + this.transformTypes[var4] = var3.readUnsignedByte(); + } + + for (var4 = 0; var4 < this.count; ++var4) { + this.labels[var4] = new int[var3.readUnsignedByte()]; + } + + for (var4 = 0; var4 < this.count; ++var4) { + for (int var5 = 0; var5 < this.labels[var4].length; ++var5) { + this.labels[var4][var5] = var3.readUnsignedByte(); + } + } + + } +} diff --git a/runescape-client/src/main/java/Skills.java b/runescape-client/src/main/java/Skills.java index 58dac9e412..6ec4d49fe7 100644 --- a/runescape-client/src/main/java/Skills.java +++ b/runescape-client/src/main/java/Skills.java @@ -1,44 +1,65 @@ -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("hu") -@Implements("Skills") -public class Skills { - @ObfuscatedName("x") - @Export("Skills_enabled") - public static final boolean[] Skills_enabled; - @ObfuscatedName("t") - @Export("Skills_experienceTable") - public static int[] Skills_experienceTable; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 209893551 - ) - public static int field2723; - - static { - Skills_enabled = new boolean[]{true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false}; - Skills_experienceTable = new int[99]; - int var0 = 0; - - for (int var1 = 0; var1 < 99; ++var1) { - int var2 = var1 + 1; - int var3 = (int)((double)var2 + 300.0D * Math.pow(2.0D, (double)var2 / 7.0D)); - var0 += var3; - Skills_experienceTable[var1] = var0 / 4; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Lgj;", - garbageValue = "1350642398" - ) - public static PacketBufferNode method4100() { - return PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0 ? new PacketBufferNode() : PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hm") +@Implements("Skills") +public class Skills { + @ObfuscatedName("n") + @Export("Skills_enabled") + public static final boolean[] Skills_enabled; + @ObfuscatedName("v") + @Export("Skills_experienceTable") + public static int[] Skills_experienceTable; + + static { + Skills_enabled = new boolean[]{true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false}; + Skills_experienceTable = new int[99]; + int var0 = 0; + + for (int var1 = 0; var1 < 99; ++var1) { + int var2 = var1 + 1; + int var3 = (int)((double)var2 + 300.0D * Math.pow(2.0D, (double)var2 / 7.0D)); + var0 += var3; + Skills_experienceTable[var1] = var0 / 4; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "255" + ) + static void method4076() { + if (TaskHandler.javaVendor.toLowerCase().indexOf("microsoft") != -1) { + KeyHandler.KeyHandler_keyCodes[186] = 57; + KeyHandler.KeyHandler_keyCodes[187] = 27; + KeyHandler.KeyHandler_keyCodes[188] = 71; + KeyHandler.KeyHandler_keyCodes[189] = 26; + KeyHandler.KeyHandler_keyCodes[190] = 72; + KeyHandler.KeyHandler_keyCodes[191] = 73; + KeyHandler.KeyHandler_keyCodes[192] = 58; + KeyHandler.KeyHandler_keyCodes[219] = 42; + KeyHandler.KeyHandler_keyCodes[220] = 74; + KeyHandler.KeyHandler_keyCodes[221] = 43; + KeyHandler.KeyHandler_keyCodes[222] = 59; + KeyHandler.KeyHandler_keyCodes[223] = 28; + } else { + KeyHandler.KeyHandler_keyCodes[44] = 71; + KeyHandler.KeyHandler_keyCodes[45] = 26; + KeyHandler.KeyHandler_keyCodes[46] = 72; + KeyHandler.KeyHandler_keyCodes[47] = 73; + KeyHandler.KeyHandler_keyCodes[59] = 57; + KeyHandler.KeyHandler_keyCodes[61] = 27; + KeyHandler.KeyHandler_keyCodes[91] = 42; + KeyHandler.KeyHandler_keyCodes[92] = 74; + KeyHandler.KeyHandler_keyCodes[93] = 43; + KeyHandler.KeyHandler_keyCodes[192] = 28; + KeyHandler.KeyHandler_keyCodes[222] = 58; + KeyHandler.KeyHandler_keyCodes[520] = 59; + } + + } +} diff --git a/runescape-client/src/main/java/SoftWrapper.java b/runescape-client/src/main/java/SoftWrapper.java index 0d71a3ba88..1104bd1d23 100644 --- a/runescape-client/src/main/java/SoftWrapper.java +++ b/runescape-client/src/main/java/SoftWrapper.java @@ -1,29 +1,29 @@ -import java.lang.ref.SoftReference; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ee") -@Implements("SoftWrapper") -public class SoftWrapper extends Wrapper { - @ObfuscatedName("c") - @Export("ref") - SoftReference ref; - - SoftWrapper(Object var1, int var2) { - super(var2); - this.ref = new SoftReference(var1); - } - - @ObfuscatedName("c") - @Export("get") - Object get() { - return this.ref.get(); - } - - @ObfuscatedName("x") - @Export("isSoft") - boolean isSoft() { - return true; - } -} +import java.lang.ref.SoftReference; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ed") +@Implements("SoftWrapper") +public class SoftWrapper extends Wrapper { + @ObfuscatedName("z") + @Export("ref") + SoftReference ref; + + SoftWrapper(Object var1, int var2) { + super(var2); + this.ref = new SoftReference(var1); + } + + @ObfuscatedName("z") + @Export("get") + Object get() { + return this.ref.get(); + } + + @ObfuscatedName("n") + @Export("isSoft") + boolean isSoft() { + return true; + } +} diff --git a/runescape-client/src/main/java/SoundCache.java b/runescape-client/src/main/java/SoundCache.java index b7f1454cc5..3c69f39460 100644 --- a/runescape-client/src/main/java/SoundCache.java +++ b/runescape-client/src/main/java/SoundCache.java @@ -1,201 +1,209 @@ -import java.util.concurrent.ScheduledExecutorService; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dy") -@Implements("SoundCache") -public class SoundCache { - @ObfuscatedName("ni") - @ObfuscatedSignature( - signature = "[Lhy;" - ) - static Widget[] field1410; - @ObfuscatedName("v") - @Export("soundSystemExecutor") - static ScheduledExecutorService soundSystemExecutor; - @ObfuscatedName("lc") - @ObfuscatedSignature( - signature = "Lcv;" - ) - @Export("tempMenuAction") - static MenuAction tempMenuAction; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("soundEffectIndex") - AbstractArchive soundEffectIndex; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("musicSampleIndex") - AbstractArchive musicSampleIndex; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("musicSamples") - NodeHashTable musicSamples; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Llm;" - ) - @Export("rawSounds") - NodeHashTable rawSounds; - - @ObfuscatedSignature( - signature = "(Lhz;Lhz;)V" - ) - public SoundCache(AbstractArchive var1, AbstractArchive var2) { - this.musicSamples = new NodeHashTable(256); - this.rawSounds = new NodeHashTable(256); - this.soundEffectIndex = var1; - this.musicSampleIndex = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II[II)Lcg;", - garbageValue = "-1638620781" - ) - @Export("getSoundEffect0") - RawSound getSoundEffect0(int var1, int var2, int[] var3) { - int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); - var4 |= var1 << 16; - long var5 = (long)var4; - RawSound var7 = (RawSound)this.rawSounds.get(var5); - if (var7 != null) { - return var7; - } else if (var3 != null && var3[0] <= 0) { - return null; - } else { - SoundEffect var8 = SoundEffect.readSoundEffect(this.soundEffectIndex, var1, var2); - if (var8 == null) { - return null; - } else { - var7 = var8.toRawSound(); - this.rawSounds.put(var7, var5); - if (var3 != null) { - var3[0] -= var7.samples.length; - } - - return var7; - } - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II[II)Lcg;", - garbageValue = "-1622135466" - ) - @Export("getMusicSample0") - RawSound getMusicSample0(int var1, int var2, int[] var3) { - int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); - var4 |= var1 << 16; - long var5 = (long)var4 ^ 4294967296L; - RawSound var7 = (RawSound)this.rawSounds.get(var5); - if (var7 != null) { - return var7; - } else if (var3 != null && var3[0] <= 0) { - return null; - } else { - VorbisSample var8 = (VorbisSample)this.musicSamples.get(var5); - if (var8 == null) { - var8 = VorbisSample.readMusicSample(this.musicSampleIndex, var1, var2); - if (var8 == null) { - return null; - } - - this.musicSamples.put(var8, var5); - } - - var7 = var8.toRawSound(var3); - if (var7 == null) { - return null; - } else { - var8.remove(); - this.rawSounds.put(var7, var5); - return var7; - } - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I[II)Lcg;", - garbageValue = "-351115688" - ) - @Export("getSoundEffect") - public RawSound getSoundEffect(int var1, int[] var2) { - if (this.soundEffectIndex.getGroupCount() == 1) { - return this.getSoundEffect0(0, var1, var2); - } else if (this.soundEffectIndex.getGroupFileCount(var1) == 1) { - return this.getSoundEffect0(var1, 0, var2); - } else { - throw new RuntimeException(); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I[II)Lcg;", - garbageValue = "-1184184439" - ) - @Export("getMusicSample") - public RawSound getMusicSample(int var1, int[] var2) { - if (this.musicSampleIndex.getGroupCount() == 1) { - return this.getMusicSample0(0, var1, var2); - } else if (this.musicSampleIndex.getGroupFileCount(var1) == 1) { - return this.getMusicSample0(var1, 0, var2); - } else { - throw new RuntimeException(); - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)J", - garbageValue = "18" - ) - public static final synchronized long method2480() { - long var0 = System.currentTimeMillis(); - if (var0 < class296.field3680) { - class296.field3681 += class296.field3680 - var0; - } - - class296.field3680 = var0; - return class296.field3681 + var0; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1565845454" - ) - static final int method2479() { - return ViewportMouse.ViewportMouse_x; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "118252239" - ) - static final int method2467(int var0, int var1, int var2) { - int var3 = var0 / var2; - int var4 = var0 & var2 - 1; - int var5 = var1 / var2; - int var6 = var1 & var2 - 1; - int var7 = DevicePcmPlayerProvider.method811(var3, var5); - int var8 = DevicePcmPlayerProvider.method811(var3 + 1, var5); - int var9 = DevicePcmPlayerProvider.method811(var3, var5 + 1); - int var10 = DevicePcmPlayerProvider.method811(var3 + 1, var5 + 1); - int var11 = class65.method1171(var7, var8, var4, var2); - int var12 = class65.method1171(var9, var10, var4, var2); - return class65.method1171(var11, var12, var6, var2); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dq") +@Implements("SoundCache") +public class SoundCache { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("soundEffectIndex") + AbstractArchive soundEffectIndex; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicSampleIndex") + AbstractArchive musicSampleIndex; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("musicSamples") + NodeHashTable musicSamples; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Llq;" + ) + @Export("rawSounds") + NodeHashTable rawSounds; + + @ObfuscatedSignature( + signature = "(Lhp;Lhp;)V" + ) + public SoundCache(AbstractArchive var1, AbstractArchive var2) { + this.musicSamples = new NodeHashTable(256); + this.rawSounds = new NodeHashTable(256); + this.soundEffectIndex = var1; + this.musicSampleIndex = var2; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II[II)Lch;", + garbageValue = "1393796182" + ) + @Export("getSoundEffect0") + RawSound getSoundEffect0(int var1, int var2, int[] var3) { + int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); + var4 |= var1 << 16; + long var5 = (long)var4; + RawSound var7 = (RawSound)this.rawSounds.get(var5); + if (var7 != null) { + return var7; + } else if (var3 != null && var3[0] <= 0) { + return null; + } else { + SoundEffect var8 = SoundEffect.readSoundEffect(this.soundEffectIndex, var1, var2); + if (var8 == null) { + return null; + } else { + var7 = var8.toRawSound(); + this.rawSounds.put(var7, var5); + if (var3 != null) { + var3[0] -= var7.samples.length; + } + + return var7; + } + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II[II)Lch;", + garbageValue = "2026666010" + ) + @Export("getMusicSample0") + RawSound getMusicSample0(int var1, int var2, int[] var3) { + int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); + var4 |= var1 << 16; + long var5 = (long)var4 ^ 4294967296L; + RawSound var7 = (RawSound)this.rawSounds.get(var5); + if (var7 != null) { + return var7; + } else if (var3 != null && var3[0] <= 0) { + return null; + } else { + VorbisSample var8 = (VorbisSample)this.musicSamples.get(var5); + if (var8 == null) { + var8 = VorbisSample.readMusicSample(this.musicSampleIndex, var1, var2); + if (var8 == null) { + return null; + } + + this.musicSamples.put(var8, var5); + } + + var7 = var8.toRawSound(var3); + if (var7 == null) { + return null; + } else { + var8.remove(); + this.rawSounds.put(var7, var5); + return var7; + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I[II)Lch;", + garbageValue = "223393704" + ) + @Export("getSoundEffect") + public RawSound getSoundEffect(int var1, int[] var2) { + if (this.soundEffectIndex.getGroupCount() == 1) { + return this.getSoundEffect0(0, var1, var2); + } else if (this.soundEffectIndex.getGroupFileCount(var1) == 1) { + return this.getSoundEffect0(var1, 0, var2); + } else { + throw new RuntimeException(); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I[II)Lch;", + garbageValue = "-1432840715" + ) + @Export("getMusicSample") + public RawSound getMusicSample(int var1, int[] var2) { + if (this.musicSampleIndex.getGroupCount() == 1) { + return this.getMusicSample0(0, var1, var2); + } else if (this.musicSampleIndex.getGroupFileCount(var1) == 1) { + return this.getMusicSample0(var1, 0, var2); + } else { + throw new RuntimeException(); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;IZI)I", + garbageValue = "2108549296" + ) + @Export("parseIntCustomRadix") + static int parseIntCustomRadix(CharSequence var0, int var1, boolean var2) { + if (var1 >= 2 && var1 <= 36) { + boolean var3 = false; + boolean var4 = false; + int var5 = 0; + int var6 = var0.length(); + + for (int var7 = 0; var7 < var6; ++var7) { + char var8 = var0.charAt(var7); + if (var7 == 0) { + if (var8 == '-') { + var3 = true; + continue; + } + + if (var8 == '+') { + continue; + } + } + + int var10; + if (var8 >= '0' && var8 <= '9') { + var10 = var8 - '0'; + } else if (var8 >= 'A' && var8 <= 'Z') { + var10 = var8 - '7'; + } else { + if (var8 < 'a' || var8 > 'z') { + throw new NumberFormatException(); + } + + var10 = var8 - 'W'; + } + + if (var10 >= var1) { + throw new NumberFormatException(); + } + + if (var3) { + var10 = -var10; + } + + int var9 = var5 * var1 + var10; + if (var9 / var1 != var5) { + throw new NumberFormatException(); + } + + var5 = var9; + var4 = true; + } + + if (!var4) { + throw new NumberFormatException(); + } else { + return var5; + } + } else { + throw new IllegalArgumentException("" + var1); + } + } +} diff --git a/runescape-client/src/main/java/SoundEffect.java b/runescape-client/src/main/java/SoundEffect.java index 556686460f..3f9ed831b8 100644 --- a/runescape-client/src/main/java/SoundEffect.java +++ b/runescape-client/src/main/java/SoundEffect.java @@ -1,134 +1,134 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cp") -@Implements("SoundEffect") -public class SoundEffect { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Ldw;" - ) - @Export("instruments") - Instrument[] instruments; - @ObfuscatedName("t") - @Export("start") - int start; - @ObfuscatedName("g") - @Export("end") - int end; - - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - SoundEffect(Buffer var1) { - this.instruments = new Instrument[10]; - - for (int var2 = 0; var2 < 10; ++var2) { - int var3 = var1.readUnsignedByte(); - if (var3 != 0) { - --var1.offset; - this.instruments[var2] = new Instrument(); - this.instruments[var2].decode(var1); - } - } - - this.start = var1.readUnsignedShort(); - this.end = var1.readUnsignedShort(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "()Lcg;" - ) - @Export("toRawSound") - public RawSound toRawSound() { - byte[] var1 = this.mix(); - return new RawSound(22050, var1, this.start * 22050 / 1000, this.end * 22050 / 1000); - } - - @ObfuscatedName("t") - @Export("calculateDelay") - public final int calculateDelay() { - int var1 = 9999999; - - int var2; - for (var2 = 0; var2 < 10; ++var2) { - if (this.instruments[var2] != null && this.instruments[var2].offset / 20 < var1) { - var1 = this.instruments[var2].offset / 20; - } - } - - if (this.start < this.end && this.start / 20 < var1) { - var1 = this.start / 20; - } - - if (var1 != 9999999 && var1 != 0) { - for (var2 = 0; var2 < 10; ++var2) { - if (this.instruments[var2] != null) { - Instrument var10000 = this.instruments[var2]; - var10000.offset -= var1 * 20; - } - } - - if (this.start < this.end) { - this.start -= var1 * 20; - this.end -= var1 * 20; - } - - return var1; - } else { - return 0; - } - } - - @ObfuscatedName("g") - @Export("mix") - final byte[] mix() { - int var1 = 0; - - int var2; - for (var2 = 0; var2 < 10; ++var2) { - if (this.instruments[var2] != null && this.instruments[var2].duration + this.instruments[var2].offset > var1) { - var1 = this.instruments[var2].duration + this.instruments[var2].offset; - } - } - - if (var1 == 0) { - return new byte[0]; - } else { - var2 = var1 * 22050 / 1000; - byte[] var3 = new byte[var2]; - - for (int var4 = 0; var4 < 10; ++var4) { - if (this.instruments[var4] != null) { - int var5 = this.instruments[var4].duration * 22050 / 1000; - int var6 = this.instruments[var4].offset * 22050 / 1000; - int[] var7 = this.instruments[var4].synthesize(var5, this.instruments[var4].duration); - - for (int var8 = 0; var8 < var5; ++var8) { - int var9 = (var7[var8] >> 8) + var3[var8 + var6]; - if ((var9 + 128 & -256) != 0) { - var9 = var9 >> 31 ^ 127; - } - - var3[var8 + var6] = (byte)var9; - } - } - } - - return var3; - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;II)Lcp;" - ) - @Export("readSoundEffect") - public static SoundEffect readSoundEffect(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); - return var3 == null ? null : new SoundEffect(new Buffer(var3)); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("cm") +@Implements("SoundEffect") +public class SoundEffect { + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "[Ldk;" + ) + @Export("instruments") + Instrument[] instruments; + @ObfuscatedName("v") + @Export("start") + int start; + @ObfuscatedName("u") + @Export("end") + int end; + + @ObfuscatedSignature( + signature = "(Lkl;)V" + ) + SoundEffect(Buffer var1) { + this.instruments = new Instrument[10]; + + for (int var2 = 0; var2 < 10; ++var2) { + int var3 = var1.readUnsignedByte(); + if (var3 != 0) { + --var1.offset; + this.instruments[var2] = new Instrument(); + this.instruments[var2].decode(var1); + } + } + + this.start = var1.readUnsignedShort(); + this.end = var1.readUnsignedShort(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "()Lch;" + ) + @Export("toRawSound") + public RawSound toRawSound() { + byte[] var1 = this.mix(); + return new RawSound(22050, var1, this.start * 22050 / 1000, this.end * 22050 / 1000); + } + + @ObfuscatedName("v") + @Export("calculateDelay") + public final int calculateDelay() { + int var1 = 9999999; + + int var2; + for (var2 = 0; var2 < 10; ++var2) { + if (this.instruments[var2] != null && this.instruments[var2].offset / 20 < var1) { + var1 = this.instruments[var2].offset / 20; + } + } + + if (this.start < this.end && this.start / 20 < var1) { + var1 = this.start / 20; + } + + if (var1 != 9999999 && var1 != 0) { + for (var2 = 0; var2 < 10; ++var2) { + if (this.instruments[var2] != null) { + Instrument var10000 = this.instruments[var2]; + var10000.offset -= var1 * 20; + } + } + + if (this.start < this.end) { + this.start -= var1 * 20; + this.end -= var1 * 20; + } + + return var1; + } else { + return 0; + } + } + + @ObfuscatedName("u") + @Export("mix") + final byte[] mix() { + int var1 = 0; + + int var2; + for (var2 = 0; var2 < 10; ++var2) { + if (this.instruments[var2] != null && this.instruments[var2].duration + this.instruments[var2].offset > var1) { + var1 = this.instruments[var2].duration + this.instruments[var2].offset; + } + } + + if (var1 == 0) { + return new byte[0]; + } else { + var2 = var1 * 22050 / 1000; + byte[] var3 = new byte[var2]; + + for (int var4 = 0; var4 < 10; ++var4) { + if (this.instruments[var4] != null) { + int var5 = this.instruments[var4].duration * 22050 / 1000; + int var6 = this.instruments[var4].offset * 22050 / 1000; + int[] var7 = this.instruments[var4].synthesize(var5, this.instruments[var4].duration); + + for (int var8 = 0; var8 < var5; ++var8) { + int var9 = (var7[var8] >> 8) + var3[var8 + var6]; + if ((var9 + 128 & -256) != 0) { + var9 = var9 >> 31 ^ 127; + } + + var3[var8 + var6] = (byte)var9; + } + } + } + + return var3; + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;II)Lcm;" + ) + @Export("readSoundEffect") + public static SoundEffect readSoundEffect(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new SoundEffect(new Buffer(var3)); + } +} diff --git a/runescape-client/src/main/java/SoundEnvelope.java b/runescape-client/src/main/java/SoundEnvelope.java index 13932468b8..fe866e8c1e 100644 --- a/runescape-client/src/main/java/SoundEnvelope.java +++ b/runescape-client/src/main/java/SoundEnvelope.java @@ -1,111 +1,111 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("do") -@Implements("SoundEnvelope") -public class SoundEnvelope { - @ObfuscatedName("c") - @Export("segments") - int segments; - @ObfuscatedName("t") - @Export("durations") - int[] durations; - @ObfuscatedName("g") - @Export("phases") - int[] phases; - @ObfuscatedName("l") - @Export("start") - int start; - @ObfuscatedName("u") - @Export("end") - int end; - @ObfuscatedName("j") - @Export("form") - int form; - @ObfuscatedName("v") - @Export("ticks") - int ticks; - @ObfuscatedName("d") - @Export("phaseIndex") - int phaseIndex; - @ObfuscatedName("z") - @Export("step") - int step; - @ObfuscatedName("n") - @Export("amplitude") - int amplitude; - @ObfuscatedName("h") - @Export("max") - int max; - - SoundEnvelope() { - this.segments = 2; - this.durations = new int[2]; - this.phases = new int[2]; - this.durations[0] = 0; - this.durations[1] = 65535; - this.phases[0] = 0; - this.phases[1] = 65535; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - @Export("decode") - final void decode(Buffer var1) { - this.form = var1.readUnsignedByte(); - this.start = var1.readInt(); - this.end = var1.readInt(); - this.decodeSegments(var1); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - @Export("decodeSegments") - final void decodeSegments(Buffer var1) { - this.segments = var1.readUnsignedByte(); - this.durations = new int[this.segments]; - this.phases = new int[this.segments]; - - for (int var2 = 0; var2 < this.segments; ++var2) { - this.durations[var2] = var1.readUnsignedShort(); - this.phases[var2] = var1.readUnsignedShort(); - } - - } - - @ObfuscatedName("t") - @Export("reset") - final void reset() { - this.ticks = 0; - this.phaseIndex = 0; - this.step = 0; - this.amplitude = 0; - this.max = 0; - } - - @ObfuscatedName("g") - @Export("doStep") - final int doStep(int var1) { - if (this.max >= this.ticks) { - this.amplitude = this.phases[this.phaseIndex++] << 15; - if (this.phaseIndex >= this.segments) { - this.phaseIndex = this.segments - 1; - } - - this.ticks = (int)((double)this.durations[this.phaseIndex] / 65536.0D * (double)var1); - if (this.ticks > this.max) { - this.step = ((this.phases[this.phaseIndex] << 15) - this.amplitude) / (this.ticks - this.max); - } - } - - this.amplitude += this.step; - ++this.max; - return this.amplitude - this.step >> 15; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dm") +@Implements("SoundEnvelope") +public class SoundEnvelope { + @ObfuscatedName("z") + @Export("segments") + int segments; + @ObfuscatedName("n") + @Export("durations") + int[] durations; + @ObfuscatedName("v") + @Export("phases") + int[] phases; + @ObfuscatedName("u") + @Export("start") + int start; + @ObfuscatedName("r") + @Export("end") + int end; + @ObfuscatedName("p") + @Export("form") + int form; + @ObfuscatedName("q") + @Export("ticks") + int ticks; + @ObfuscatedName("m") + @Export("phaseIndex") + int phaseIndex; + @ObfuscatedName("y") + @Export("max") + int max; + @ObfuscatedName("i") + @Export("step") + int step; + @ObfuscatedName("c") + @Export("amplitude") + int amplitude; + + SoundEnvelope() { + this.segments = 2; + this.durations = new int[2]; + this.phases = new int[2]; + this.durations[0] = 0; + this.durations[1] = 65535; + this.phases[0] = 0; + this.phases[1] = 65535; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;)V" + ) + @Export("decode") + final void decode(Buffer var1) { + this.form = var1.readUnsignedByte(); + this.start = var1.readInt(); + this.end = var1.readInt(); + this.decodeSegments(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;)V" + ) + @Export("decodeSegments") + final void decodeSegments(Buffer var1) { + this.segments = var1.readUnsignedByte(); + this.durations = new int[this.segments]; + this.phases = new int[this.segments]; + + for (int var2 = 0; var2 < this.segments; ++var2) { + this.durations[var2] = var1.readUnsignedShort(); + this.phases[var2] = var1.readUnsignedShort(); + } + + } + + @ObfuscatedName("v") + @Export("reset") + final void reset() { + this.ticks = 0; + this.phaseIndex = 0; + this.step = 0; + this.amplitude = 0; + this.max = 0; + } + + @ObfuscatedName("u") + @Export("doStep") + final int doStep(int var1) { + if (this.max >= this.ticks) { + this.amplitude = this.phases[this.phaseIndex++] << 15; + if (this.phaseIndex >= this.segments) { + this.phaseIndex = this.segments - 1; + } + + this.ticks = (int)((double)this.durations[this.phaseIndex] / 65536.0D * (double)var1); + if (this.ticks > this.max) { + this.step = ((this.phases[this.phaseIndex] << 15) - this.amplitude) / (this.ticks - this.max); + } + } + + this.amplitude += this.step; + ++this.max; + return this.amplitude - this.step >> 15; + } +} diff --git a/runescape-client/src/main/java/SoundSystem.java b/runescape-client/src/main/java/SoundSystem.java index 2fa0b7e385..9d48f623ac 100644 --- a/runescape-client/src/main/java/SoundSystem.java +++ b/runescape-client/src/main/java/SoundSystem.java @@ -1,36 +1,67 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dm") -@Implements("SoundSystem") -public class SoundSystem implements Runnable { - @ObfuscatedName("j") - @Export("SpriteBuffer_spriteHeights") - public static int[] SpriteBuffer_spriteHeights; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "[Ldh;" - ) - @Export("players") - volatile PcmPlayer[] players; - - SoundSystem() { - this.players = new PcmPlayer[2]; - } - - public void run() { - try { - for (int var1 = 0; var1 < 2; ++var1) { - PcmPlayer var2 = this.players[var1]; - if (var2 != null) { - var2.run(); - } - } - } catch (Exception var4) { - class188.RunException_sendStackTrace((String)null, var4); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dn") +@Implements("SoundSystem") +public class SoundSystem implements Runnable { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "[Ldv;" + ) + @Export("players") + volatile PcmPlayer[] players; + + SoundSystem() { + this.players = new PcmPlayer[2]; + } + + public void run() { + try { + for (int var1 = 0; var1 < 2; ++var1) { + PcmPlayer var2 = this.players[var1]; + if (var2 != null) { + var2.run(); + } + } + } catch (Exception var4) { + class32.RunException_sendStackTrace((String)null, var4); + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "536478263" + ) + public static void method2464(Buffer var0, int var1) { + if (JagexCache.JagexCache_randomDat != null) { + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.write(var0.array, var1, 24); + } catch (Exception var3) { + } + } + + } + + @ObfuscatedName("jn") + @ObfuscatedSignature( + signature = "(Lho;IIII)V", + garbageValue = "-877706061" + ) + @Export("drawCompass") + static final void drawCompass(Widget var0, int var1, int var2, int var3) { + SpriteMask var4 = var0.getSpriteMask(false); + if (var4 != null) { + if (Client.minimapState < 3) { + AttackOption.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); + } else { + Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); + } + + } + } +} diff --git a/runescape-client/src/main/java/SpotAnimationDefinition.java b/runescape-client/src/main/java/SpotAnimationDefinition.java index 7a5b5ec817..d1f2e61a98 100644 --- a/runescape-client/src/main/java/SpotAnimationDefinition.java +++ b/runescape-client/src/main/java/SpotAnimationDefinition.java @@ -1,234 +1,228 @@ -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("im") -@Implements("SpotAnimationDefinition") -public class SpotAnimationDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("SpotAnimationDefinition_archive") - public static AbstractArchive SpotAnimationDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("SpotAnimationDefinition_modelArchive") - public static AbstractArchive SpotAnimationDefinition_modelArchive; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("SpotAnimationDefinition_cached") - public static EvictingDualNodeHashTable SpotAnimationDefinition_cached; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("SpotAnimationDefinition_cachedModels") - public static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1511616539 - ) - @Export("id") - int id; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1772514951 - ) - @Export("archive") - int archive; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1013743627 - ) - @Export("sequence") - public int sequence; - @ObfuscatedName("v") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("d") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("z") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("n") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -193898345 - ) - @Export("widthScale") - int widthScale; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1030509965 - ) - @Export("heightScale") - int heightScale; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -967824705 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 150676553 - ) - @Export("ambient") - int ambient; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -844670327 - ) - @Export("contrast") - int contrast; - - static { - SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64); - SpotAnimationDefinition_cachedModels = new EvictingDualNodeHashTable(30); - } - - SpotAnimationDefinition() { - this.sequence = -1; - this.widthScale = 128; - this.heightScale = 128; - this.orientation = 0; - this.ambient = 0; - this.contrast = 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-122623445" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "6" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.archive = var1.readUnsignedShort(); - } else if (var2 == 2) { - this.sequence = var1.readUnsignedShort(); - } else if (var2 == 4) { - this.widthScale = var1.readUnsignedShort(); - } else if (var2 == 5) { - this.heightScale = var1.readUnsignedShort(); - } else if (var2 == 6) { - this.orientation = var1.readUnsignedShort(); - } else if (var2 == 7) { - this.ambient = var1.readUnsignedByte(); - } else if (var2 == 8) { - this.contrast = var1.readUnsignedByte(); - } else { - int var3; - int var4; - if (var2 == 40) { - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); - } - } else if (var2 == 41) { - var3 = var1.readUnsignedByte(); - this.retextureFrom = new short[var3]; - this.retextureTo = new short[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); - this.retextureTo[var4] = (short)var1.readUnsignedShort(); - } - } - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)Ldr;", - garbageValue = "-669692165" - ) - @Export("getModel") - public final Model getModel(int var1) { - Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id); - if (var2 == null) { - ModelData var3 = ModelData.ModelData_get(SpotAnimationDefinition_modelArchive, this.archive, 0); - if (var3 == null) { - return null; - } - - int var4; - if (this.recolorFrom != null) { - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { - var3.recolor(this.recolorFrom[var4], this.recolorTo[var4]); - } - } - - if (this.retextureFrom != null) { - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { - var3.retexture(this.retextureFrom[var4], this.retextureTo[var4]); - } - } - - var2 = var3.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30); - SpotAnimationDefinition_cachedModels.put(var2, (long)this.id); - } - - Model var5; - if (this.sequence != -1 && var1 != -1) { - var5 = class83.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1); - } else { - var5 = var2.toSharedSpotAnimationModel(true); - } - - if (this.widthScale != 128 || this.heightScale != 128) { - var5.scale(this.widthScale, this.heightScale, this.widthScale); - } - - if (this.orientation != 0) { - if (this.orientation == 90) { - var5.rotateY90Ccw(); - } - - if (this.orientation == 180) { - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - } - - if (this.orientation == 270) { - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - var5.rotateY90Ccw(); - } - } - - return var5; - } -} +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("ik") +@Implements("SpotAnimationDefinition") +public class SpotAnimationDefinition extends DualNode { + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SpotAnimationDefinition_modelArchive") + public static AbstractArchive SpotAnimationDefinition_modelArchive; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("SpotAnimationDefinition_cached") + static EvictingDualNodeHashTable SpotAnimationDefinition_cached; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("SpotAnimationDefinition_cachedModels") + static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1118528649 + ) + @Export("id") + int id; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 388295053 + ) + @Export("archive") + int archive; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -2139310385 + ) + @Export("sequence") + public int sequence; + @ObfuscatedName("m") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("y") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("i") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("c") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1021828075 + ) + @Export("widthScale") + int widthScale; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1112009759 + ) + @Export("heightScale") + int heightScale; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1178653603 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1363981799 + ) + @Export("ambient") + int ambient; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1122835039 + ) + @Export("contrast") + int contrast; + + static { + SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64); + SpotAnimationDefinition_cachedModels = new EvictingDualNodeHashTable(30); + } + + SpotAnimationDefinition() { + this.sequence = -1; + this.widthScale = 128; + this.heightScale = 128; + this.orientation = 0; + this.ambient = 0; + this.contrast = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "1457139461" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;IB)V", + garbageValue = "25" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.archive = var1.readUnsignedShort(); + } else if (var2 == 2) { + this.sequence = var1.readUnsignedShort(); + } else if (var2 == 4) { + this.widthScale = var1.readUnsignedShort(); + } else if (var2 == 5) { + this.heightScale = var1.readUnsignedShort(); + } else if (var2 == 6) { + this.orientation = var1.readUnsignedShort(); + } else if (var2 == 7) { + this.ambient = var1.readUnsignedByte(); + } else if (var2 == 8) { + this.contrast = var1.readUnsignedByte(); + } else { + int var3; + int var4; + if (var2 == 40) { + var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.recolorFrom[var4] = (short)var1.readUnsignedShort(); + this.recolorTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 41) { + var3 = var1.readUnsignedByte(); + this.retextureFrom = new short[var3]; + this.retextureTo = new short[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short)var1.readUnsignedShort(); + this.retextureTo[var4] = (short)var1.readUnsignedShort(); + } + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)Ldh;", + garbageValue = "-1528746671" + ) + @Export("getModel") + public final Model getModel(int var1) { + Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id); + if (var2 == null) { + ModelData var3 = ModelData.ModelData_get(SpotAnimationDefinition_modelArchive, this.archive, 0); + if (var3 == null) { + return null; + } + + int var4; + if (this.recolorFrom != null) { + for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var3.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } + + if (this.retextureFrom != null) { + for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var3.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } + + var2 = var3.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30); + SpotAnimationDefinition_cachedModels.put(var2, (long)this.id); + } + + Model var5; + if (this.sequence != -1 && var1 != -1) { + var5 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1); + } else { + var5 = var2.toSharedSpotAnimationModel(true); + } + + if (this.widthScale != 128 || this.heightScale != 128) { + var5.scale(this.widthScale, this.heightScale, this.widthScale); + } + + if (this.orientation != 0) { + if (this.orientation == 90) { + var5.rotateY90Ccw(); + } + + if (this.orientation == 180) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + } + + if (this.orientation == 270) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + } + } + + return var5; + } +} diff --git a/runescape-client/src/main/java/Sprite.java b/runescape-client/src/main/java/Sprite.java index 5feb3317ae..da53c8e8b5 100644 --- a/runescape-client/src/main/java/Sprite.java +++ b/runescape-client/src/main/java/Sprite.java @@ -1,1659 +1,1659 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("li") -@Implements("Sprite") -public final class Sprite extends Rasterizer2D { - @ObfuscatedName("c") - @Export("pixels") - public int[] pixels; - @ObfuscatedName("x") - @Export("subWidth") - public int subWidth; - @ObfuscatedName("t") - @Export("subHeight") - public int subHeight; - @ObfuscatedName("g") - @Export("xOffset") - public int xOffset; - @ObfuscatedName("l") - @Export("yOffset") - int yOffset; - @ObfuscatedName("u") - @Export("width") - public int width; - @ObfuscatedName("j") - @Export("height") - public int height; - - public Sprite(int[] var1, int var2, int var3) { - this.pixels = var1; - this.subWidth = this.width = var2; - this.subHeight = this.height = var3; - this.yOffset = 0; - this.xOffset = 0; - } - - public Sprite(int var1, int var2) { - this(new int[var2 * var1], var1, var2); - } - - Sprite() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "()Lli;" - ) - @Export("mirrorHorizontally") - public Sprite mirrorHorizontally() { - Sprite var1 = new Sprite(this.subWidth, this.subHeight); - var1.width = this.width; - var1.height = this.height; - var1.xOffset = this.width - this.subWidth - this.xOffset; - var1.yOffset = this.yOffset; - - for (int var2 = 0; var2 < this.subHeight; ++var2) { - for (int var3 = 0; var3 < this.subWidth; ++var3) { - var1.pixels[var3 + var2 * this.subWidth] = this.pixels[var2 * this.subWidth + this.subWidth - 1 - var3]; - } - } - - return var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "()Lli;" - ) - @Export("copyNormalized") - public Sprite copyNormalized() { - Sprite var1 = new Sprite(this.width, this.height); - - for (int var2 = 0; var2 < this.subHeight; ++var2) { - for (int var3 = 0; var3 < this.subWidth; ++var3) { - var1.pixels[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; - } - } - - return var1; - } - - @ObfuscatedName("t") - @Export("setRaster") - public void setRaster() { - Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); - } - - @ObfuscatedName("g") - @Export("normalize") - public void normalize() { - if (this.subWidth != this.width || this.subHeight != this.height) { - int[] var1 = new int[this.width * this.height]; - - for (int var2 = 0; var2 < this.subHeight; ++var2) { - for (int var3 = 0; var3 < this.subWidth; ++var3) { - var1[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; - } - } - - this.pixels = var1; - this.subWidth = this.width; - this.subHeight = this.height; - this.xOffset = 0; - this.yOffset = 0; - } - } - - @ObfuscatedName("l") - @Export("pad") - public void pad(int var1) { - if (this.subWidth != this.width || this.subHeight != this.height) { - int var2 = var1; - if (var1 > this.xOffset) { - var2 = this.xOffset; - } - - int var3 = var1; - if (var1 + this.xOffset + this.subWidth > this.width) { - var3 = this.width - this.xOffset - this.subWidth; - } - - int var4 = var1; - if (var1 > this.yOffset) { - var4 = this.yOffset; - } - - int var5 = var1; - if (var1 + this.yOffset + this.subHeight > this.height) { - var5 = this.height - this.yOffset - this.subHeight; - } - - int var6 = var2 + var3 + this.subWidth; - int var7 = var4 + var5 + this.subHeight; - int[] var8 = new int[var6 * var7]; - - for (int var9 = 0; var9 < this.subHeight; ++var9) { - for (int var10 = 0; var10 < this.subWidth; ++var10) { - var8[var6 * (var9 + var4) + var10 + var2] = this.pixels[var10 + var9 * this.subWidth]; - } - } - - this.pixels = var8; - this.subWidth = var6; - this.subHeight = var7; - this.xOffset -= var2; - this.yOffset -= var4; - } - } - - @ObfuscatedName("u") - @Export("flipHorizontally") - public void flipHorizontally() { - int[] var1 = new int[this.subWidth * this.subHeight]; - int var2 = 0; - - for (int var3 = 0; var3 < this.subHeight; ++var3) { - for (int var4 = this.subWidth - 1; var4 >= 0; --var4) { - var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; - } - } - - this.pixels = var1; - this.xOffset = this.width - this.subWidth - this.xOffset; - } - - @ObfuscatedName("j") - @Export("flipVertically") - public void flipVertically() { - int[] var1 = new int[this.subWidth * this.subHeight]; - int var2 = 0; - - for (int var3 = this.subHeight - 1; var3 >= 0; --var3) { - for (int var4 = 0; var4 < this.subWidth; ++var4) { - var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; - } - } - - this.pixels = var1; - this.yOffset = this.height - this.subHeight - this.yOffset; - } - - @ObfuscatedName("v") - @Export("outline") - public void outline(int var1) { - int[] var2 = new int[this.subWidth * this.subHeight]; - int var3 = 0; - - for (int var4 = 0; var4 < this.subHeight; ++var4) { - for (int var5 = 0; var5 < this.subWidth; ++var5) { - int var6 = this.pixels[var3]; - if (var6 == 0) { - if (var5 > 0 && this.pixels[var3 - 1] != 0) { - var6 = var1; - } else if (var4 > 0 && this.pixels[var3 - this.subWidth] != 0) { - var6 = var1; - } else if (var5 < this.subWidth - 1 && this.pixels[var3 + 1] != 0) { - var6 = var1; - } else if (var4 < this.subHeight - 1 && this.pixels[var3 + this.subWidth] != 0) { - var6 = var1; - } - } - - var2[var3++] = var6; - } - } - - this.pixels = var2; - } - - @ObfuscatedName("d") - @Export("shadow") - public void shadow(int var1) { - for (int var2 = this.subHeight - 1; var2 > 0; --var2) { - int var3 = var2 * this.subWidth; - - for (int var4 = this.subWidth - 1; var4 > 0; --var4) { - if (this.pixels[var4 + var3] == 0 && this.pixels[var4 + var3 - 1 - this.subWidth] != 0) { - this.pixels[var4 + var3] = var1; - } - } - } - - } - - @ObfuscatedName("z") - @Export("drawAt") - public void drawAt(int var1, int var2) { - var1 += this.xOffset; - var2 += this.yOffset; - int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var4 = 0; - int var5 = this.subHeight; - int var6 = this.subWidth; - int var7 = Rasterizer2D.Rasterizer2D_width - var6; - int var8 = 0; - int var9; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var5 -= var9; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var4 += var9 * var6; - var3 += var9 * Rasterizer2D.Rasterizer2D_width; - } - - if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var6 -= var9; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var4 += var9; - var3 += var9; - var8 += var9; - var7 += var9; - } - - if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var6 -= var9; - var8 += var9; - var7 += var9; - } - - if (var6 > 0 && var5 > 0) { - Sprite_draw(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8); - } - } - - @ObfuscatedName("p") - @Export("drawTransBgAt") - public void drawTransBgAt(int var1, int var2) { - var1 += this.xOffset; - var2 += this.yOffset; - int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var4 = 0; - int var5 = this.subHeight; - int var6 = this.subWidth; - int var7 = Rasterizer2D.Rasterizer2D_width - var6; - int var8 = 0; - int var9; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var5 -= var9; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var4 += var9 * var6; - var3 += var9 * Rasterizer2D.Rasterizer2D_width; - } - - if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var6 -= var9; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var4 += var9; - var3 += var9; - var8 += var9; - var7 += var9; - } - - if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var6 -= var9; - var8 += var9; - var7 += var9; - } - - if (var6 > 0 && var5 > 0) { - Sprite_drawTransBg(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8); - } - } - - @ObfuscatedName("i") - @Export("drawScaledAt") - public void drawScaledAt(int var1, int var2, int var3, int var4) { - if (var3 > 0 && var4 > 0) { - int var5 = this.subWidth; - int var6 = this.subHeight; - int var7 = 0; - int var8 = 0; - int var9 = this.width; - int var10 = this.height; - int var11 = (var9 << 16) / var3; - int var12 = (var10 << 16) / var4; - int var13; - if (this.xOffset > 0) { - var13 = (var11 + (this.xOffset << 16) - 1) / var11; - var1 += var13; - var7 += var13 * var11 - (this.xOffset << 16); - } - - if (this.yOffset > 0) { - var13 = (var12 + (this.yOffset << 16) - 1) / var12; - var2 += var13; - var8 += var13 * var12 - (this.yOffset << 16); - } - - if (var5 < var9) { - var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; - } - - if (var6 < var10) { - var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } - - var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var14 = Rasterizer2D.Rasterizer2D_width - var3; - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - int var15; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var4 -= var15; - var13 += var15 * Rasterizer2D.Rasterizer2D_width; - var8 += var12 * var15; - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var3 -= var15; - var14 += var15; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var3 -= var15; - var13 += var15; - var7 += var11 * var15; - var14 += var15; - } - - Sprite_drawScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); - } - } - - @ObfuscatedName("r") - @Export("drawTransOverlayAt") - public void drawTransOverlayAt(int var1, int var2, int var3, int var4) { - if (var3 == 256) { - this.drawTransBgAt(var1, var2); - } else { - var1 += this.xOffset; - var2 += this.yOffset; - int var5 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var6 = 0; - int var7 = this.subHeight; - int var8 = this.subWidth; - int var9 = Rasterizer2D.Rasterizer2D_width - var8; - int var10 = 0; - int var11; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var7 -= var11; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var6 += var11 * var8; - var5 += var11 * Rasterizer2D.Rasterizer2D_width; - } - - if (var7 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var7 -= var7 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var8 -= var11; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var6 += var11; - var5 += var11; - var10 += var11; - var9 += var11; - } - - if (var8 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var11 = var8 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var8 -= var11; - var10 += var11; - var9 += var11; - } - - if (var8 > 0 && var7 > 0) { - Sprite_drawTransOverlay(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4); - } - } - } - - @ObfuscatedName("w") - @Export("drawTransAt") - public void drawTransAt(int var1, int var2, int var3) { - var1 += this.xOffset; - var2 += this.yOffset; - int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var5 = 0; - int var6 = this.subHeight; - int var7 = this.subWidth; - int var8 = Rasterizer2D.Rasterizer2D_width - var7; - int var9 = 0; - int var10; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var6 -= var10; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var5 += var10 * var7; - var4 += var10 * Rasterizer2D.Rasterizer2D_width; - } - - if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var7 -= var10; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var5 += var10; - var4 += var10; - var9 += var10; - var8 += var10; - } - - if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var7 -= var10; - var9 += var10; - var8 += var10; - } - - if (var7 > 0 && var6 > 0) { - Sprite_drawTransparent(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3); - } - } - - @ObfuscatedName("o") - @Export("drawTransScaledAt") - public void drawTransScaledAt(int var1, int var2, int var3, int var4, int var5) { - if (var3 > 0 && var4 > 0) { - int var6 = this.subWidth; - int var7 = this.subHeight; - int var8 = 0; - int var9 = 0; - int var10 = this.width; - int var11 = this.height; - int var12 = (var10 << 16) / var3; - int var13 = (var11 << 16) / var4; - int var14; - if (this.xOffset > 0) { - var14 = (var12 + (this.xOffset << 16) - 1) / var12; - var1 += var14; - var8 += var14 * var12 - (this.xOffset << 16); - } - - if (this.yOffset > 0) { - var14 = (var13 + (this.yOffset << 16) - 1) / var13; - var2 += var14; - var9 += var14 * var13 - (this.yOffset << 16); - } - - if (var6 < var10) { - var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } - - if (var7 < var11) { - var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; - } - - var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var15 = Rasterizer2D.Rasterizer2D_width - var3; - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - int var16; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var4 -= var16; - var14 += var16 * Rasterizer2D.Rasterizer2D_width; - var9 += var13 * var16; - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var3 -= var16; - var15 += var16; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var3 -= var16; - var14 += var16; - var8 += var12 * var16; - var15 += var16; - } - - Sprite_drawTransScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); - } - } - - @ObfuscatedName("b") - public void method6096(int var1, int var2, int var3) { - var1 += this.xOffset; - var2 += this.yOffset; - int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var5 = 0; - int var6 = this.subHeight; - int var7 = this.subWidth; - int var8 = Rasterizer2D.Rasterizer2D_width - var7; - int var9 = 0; - int var10; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var6 -= var10; - var2 = Rasterizer2D.Rasterizer2D_yClipStart; - var5 += var10 * var7; - var4 += var10 * Rasterizer2D.Rasterizer2D_width; - } - - if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var7 -= var10; - var1 = Rasterizer2D.Rasterizer2D_xClipStart; - var5 += var10; - var4 += var10; - var9 += var10; - var8 += var10; - } - - if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var7 -= var10; - var9 += var10; - var8 += var10; - } - - if (var7 > 0 && var6 > 0) { - if (var3 == 256) { - method6097(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); - } else { - method6098(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); - } - - } - } - - @ObfuscatedName("ao") - public void method6099(int var1, int var2, int var3, int var4, int var5) { - if (var3 > 0 && var4 > 0) { - int var6 = this.subWidth; - int var7 = this.subHeight; - int var8 = 0; - int var9 = 0; - int var10 = this.width; - int var11 = this.height; - int var12 = (var10 << 16) / var3; - int var13 = (var11 << 16) / var4; - int var14; - if (this.xOffset > 0) { - var14 = (var12 + (this.xOffset << 16) - 1) / var12; - var1 += var14; - var8 += var14 * var12 - (this.xOffset << 16); - } - - if (this.yOffset > 0) { - var14 = (var13 + (this.yOffset << 16) - 1) / var13; - var2 += var14; - var9 += var14 * var13 - (this.yOffset << 16); - } - - if (var6 < var10) { - var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } - - if (var7 < var11) { - var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; - } - - var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - int var15 = Rasterizer2D.Rasterizer2D_width - var3; - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - int var16; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { - var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; - var4 -= var16; - var14 += var16 * Rasterizer2D.Rasterizer2D_width; - var9 += var13 * var16; - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; - var3 -= var16; - var15 += var16; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { - var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; - var3 -= var16; - var14 += var16; - var8 += var12 * var16; - var15 += var16; - } - - if (var5 == 256) { - method6100(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); - } else { - method6162(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); - } - - } - } - - @ObfuscatedName("al") - public void method6102(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7, int[] var8) { - int var9 = var2 < 0 ? -var2 : 0; - int var10 = var2 + this.subHeight <= var6 ? this.subHeight : var6 - var2; - int var11 = var1 < 0 ? -var1 : 0; - int var10000; - if (this.subWidth + var1 <= var5) { - var10000 = this.subWidth; - } else { - var10000 = var5 - var1; - } - - int var13 = var3 + var11 + (var9 + var2 + var4) * Rasterizer2D.Rasterizer2D_width + var1; - int var14 = var9 + var2; - - for (int var15 = var9; var15 < var10; ++var15) { - int var16 = var7[var14]; - int var17 = var8[var14++]; - int var18 = var13; - int var19; - if (var1 < var16) { - var19 = var16 - var1; - var18 = var13 + (var19 - var11); - } else { - var19 = var11; - } - - int var12; - if (this.subWidth + var1 <= var16 + var17) { - var12 = this.subWidth; - } else { - var12 = var16 + var17 - var1; - } - - for (int var20 = var19; var20 < var12; ++var20) { - int var21 = this.pixels[var20 + var15 * this.subWidth]; - if (var21 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var18++] = var21; - } else { - ++var18; - } - } - - var13 += Rasterizer2D.Rasterizer2D_width; - } - - } - - @ObfuscatedName("as") - @Export("drawRotatedMaskedCenteredAround") - public void drawRotatedMaskedCenteredAround(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { - try { - int var11 = -var3 / 2; - int var12 = -var4 / 2; - int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); - int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); - var13 = var13 * var8 >> 8; - var14 = var14 * var8 >> 8; - int var15 = var12 * var13 + var11 * var14 + (var5 << 16); - int var16 = var12 * var14 - var11 * var13 + (var6 << 16); - int var17 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - - for (var2 = 0; var2 < var4; ++var2) { - int var18 = var9[var2]; - int var19 = var17 + var18; - int var20 = var15 + var14 * var18; - int var21 = var16 - var13 * var18; - - for (var1 = -var10[var2]; var1 < 0; ++var1) { - Rasterizer2D.Rasterizer2D_pixels[var19++] = this.pixels[this.subWidth * (var21 >> 16) + (var20 >> 16)]; - var20 += var14; - var21 -= var13; - } - - var15 += var13; - var16 += var14; - var17 += Rasterizer2D.Rasterizer2D_width; - } - } catch (Exception var23) { - } - - } - - @ObfuscatedName("ad") - public void method6104(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { - try { - int var10 = -var3 / 2; - int var11 = -var4 / 2; - int var12 = (int)(Math.sin(var7) * 65536.0D); - int var13 = (int)(Math.cos(var7) * 65536.0D); - var12 = var12 * var9 >> 8; - var13 = var13 * var9 >> 8; - int var14 = var11 * var12 + var10 * var13 + (var5 << 16); - int var15 = var11 * var13 - var10 * var12 + (var6 << 16); - int var16 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; - - for (var2 = 0; var2 < var4; ++var2) { - int var17 = var16; - int var18 = var14; - int var19 = var15; - - for (var1 = -var3; var1 < 0; ++var1) { - int var20 = this.pixels[this.subWidth * (var19 >> 16) + (var18 >> 16)]; - if (var20 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var17++] = var20; - } else { - ++var17; - } - - var18 += var13; - var19 -= var12; - } - - var14 += var12; - var15 += var13; - var16 += Rasterizer2D.Rasterizer2D_width; - } - } catch (Exception var22) { - } - - } - - @ObfuscatedName("ap") - public void method6105(int var1, int var2, int var3, int var4) { - this.method6114(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); - } - - @ObfuscatedName("ax") - void method6114(int var1, int var2, int var3, int var4, int var5, int var6) { - if (var6 != 0) { - var1 -= this.xOffset << 4; - var2 -= this.yOffset << 4; - double var7 = (double)(var5 & 65535) * 9.587379924285257E-5D; - int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D); - int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D); - int var11 = var10 * -var1 + -var2 * var9; - int var12 = -var2 * var10 + var9 * -(-var1); - int var13 = var10 * ((this.subWidth << 4) - var1) + -var2 * var9; - int var14 = var9 * -((this.subWidth << 4) - var1) + -var2 * var10; - int var15 = ((this.subHeight << 4) - var2) * var9 + var10 * -var1; - int var16 = ((this.subHeight << 4) - var2) * var10 + var9 * -(-var1); - int var17 = ((this.subHeight << 4) - var2) * var9 + var10 * ((this.subWidth << 4) - var1); - int var18 = ((this.subHeight << 4) - var2) * var10 + var9 * -((this.subWidth << 4) - var1); - int var19; - int var20; - if (var11 < var13) { - var19 = var11; - var20 = var13; - } else { - var19 = var13; - var20 = var11; - } - - if (var15 < var19) { - var19 = var15; - } - - if (var17 < var19) { - var19 = var17; - } - - if (var15 > var20) { - var20 = var15; - } - - if (var17 > var20) { - var20 = var17; - } - - int var21; - int var22; - if (var12 < var14) { - var21 = var12; - var22 = var14; - } else { - var21 = var14; - var22 = var12; - } - - if (var16 < var21) { - var21 = var16; - } - - if (var18 < var21) { - var21 = var18; - } - - if (var16 > var22) { - var22 = var16; - } - - if (var18 > var22) { - var22 = var18; - } - - var19 >>= 12; - var20 = var20 + 4095 >> 12; - var21 >>= 12; - var22 = var22 + 4095 >> 12; - var19 += var3; - var20 += var3; - var21 += var4; - var22 += var4; - var19 >>= 4; - var20 = var20 + 15 >> 4; - var21 >>= 4; - var22 = var22 + 15 >> 4; - if (var19 < Rasterizer2D.Rasterizer2D_xClipStart) { - var19 = Rasterizer2D.Rasterizer2D_xClipStart; - } - - if (var20 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var20 = Rasterizer2D.Rasterizer2D_xClipEnd; - } - - if (var21 < Rasterizer2D.Rasterizer2D_yClipStart) { - var21 = Rasterizer2D.Rasterizer2D_yClipStart; - } - - if (var22 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var22 = Rasterizer2D.Rasterizer2D_yClipEnd; - } - - var20 = var19 - var20; - if (var20 < 0) { - var22 = var21 - var22; - if (var22 < 0) { - int var23 = var19 + var21 * Rasterizer2D.Rasterizer2D_width; - double var24 = 1.6777216E7D / (double)var6; - int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D); - int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D); - int var28 = (var19 << 4) + 8 - var3; - int var29 = (var21 << 4) + 8 - var4; - int var30 = (var1 << 8) - (var29 * var26 >> 4); - int var31 = (var29 * var27 >> 4) + (var2 << 8); - int var32; - int var33; - int var34; - int var35; - int var36; - int var37; - int var38; - if (var27 == 0) { - if (var26 == 0) { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = var30; - var36 = var31; - var37 = var20; - if (var30 >= 0 && var31 >= 0 && var30 - (this.subWidth << 12) < 0 && var31 - (this.subHeight << 12) < 0) { - for (; var37 < 0; ++var37) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - } - } - - ++var33; - } - } else if (var26 < 0) { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = var30; - var36 = (var28 * var26 >> 4) + var31; - var37 = var20; - if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { - if ((var32 = var36 - (this.subHeight << 12)) >= 0) { - var32 = (var26 - var32) / var26; - var37 = var20 + var32; - var36 += var26 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var36 - var26) / var26) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var36 += var26; - ++var37; - } - } - - ++var33; - var30 -= var26; - } - } else { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = var30; - var36 = (var28 * var26 >> 4) + var31; - var37 = var20; - if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { - if (var36 < 0) { - var32 = (var26 - 1 - var36) / var26; - var37 = var20 + var32; - var36 += var26 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var36 += var26; - ++var37; - } - } - - ++var33; - var30 -= var26; - } - } - } else if (var27 < 0) { - if (var26 == 0) { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = (var28 * var27 >> 4) + var30; - var36 = var31; - var37 = var20; - if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { - if ((var32 = var35 - (this.subWidth << 12)) >= 0) { - var32 = (var27 - var32) / var27; - var37 = var20 + var32; - var35 += var27 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var35 - var27) / var27) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var35 += var27; - ++var37; - } - } - - ++var33; - var31 += var27; - } - } else if (var26 < 0) { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = (var28 * var27 >> 4) + var30; - var36 = (var28 * var26 >> 4) + var31; - var37 = var20; - if ((var32 = var35 - (this.subWidth << 12)) >= 0) { - var32 = (var27 - var32) / var27; - var37 = var20 + var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var35 - var27) / var27) > var37) { - var37 = var32; - } - - if ((var32 = var36 - (this.subHeight << 12)) >= 0) { - var32 = (var26 - var32) / var26; - var37 += var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 += var32; - } - - if ((var32 = (var36 - var26) / var26) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var35 += var27; - var36 += var26; - ++var37; - } - - ++var33; - var30 -= var26; - var31 += var27; - } - } else { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = (var28 * var27 >> 4) + var30; - var36 = (var28 * var26 >> 4) + var31; - var37 = var20; - if ((var32 = var35 - (this.subWidth << 12)) >= 0) { - var32 = (var27 - var32) / var27; - var37 = var20 + var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var35 - var27) / var27) > var37) { - var37 = var32; - } - - if (var36 < 0) { - var32 = (var26 - 1 - var36) / var26; - var37 += var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 += var32; - } - - if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var35 += var27; - var36 += var26; - ++var37; - } - - ++var33; - var30 -= var26; - var31 += var27; - } - } - } else if (var26 == 0) { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = (var28 * var27 >> 4) + var30; - var36 = var31; - var37 = var20; - if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { - if (var35 < 0) { - var32 = (var27 - 1 - var35) / var27; - var37 = var20 + var32; - var35 += var27 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var35 += var27; - ++var37; - } - } - - ++var33; - var31 += var27; - } - } else if (var26 < 0) { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = (var28 * var27 >> 4) + var30; - var36 = (var28 * var26 >> 4) + var31; - var37 = var20; - if (var35 < 0) { - var32 = (var27 - 1 - var35) / var27; - var37 = var20 + var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { - var37 = var32; - } - - if ((var32 = var36 - (this.subHeight << 12)) >= 0) { - var32 = (var26 - var32) / var26; - var37 += var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 += var32; - } - - if ((var32 = (var36 - var26) / var26) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var35 += var27; - var36 += var26; - ++var37; - } - - ++var33; - var30 -= var26; - var31 += var27; - } - } else { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; - var35 = (var28 * var27 >> 4) + var30; - var36 = (var28 * var26 >> 4) + var31; - var37 = var20; - if (var35 < 0) { - var32 = (var27 - 1 - var35) / var27; - var37 = var20 + var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 = var23 + var32; - } - - if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { - var37 = var32; - } - - if (var36 < 0) { - var32 = (var26 - 1 - var36) / var26; - var37 += var32; - var35 += var27 * var32; - var36 += var26 * var32; - var34 += var32; - } - - if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; - if (var38 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; - } - - var35 += var27; - var36 += var26; - ++var37; - } - - ++var33; - var30 -= var26; - var31 += var27; - } - } - - } - } - } - } - - @ObfuscatedName("aj") - @Export("drawScaledWorldmap") - public void drawScaledWorldmap(int var1, int var2, int var3, int var4) { - if (var3 <= this.width && var4 <= this.height) { - int var5 = var3 * this.xOffset / this.width + var1; - int var6 = (var3 * (this.xOffset + this.subWidth) + this.width - 1) / this.width + var1; - int var7 = var2 + var4 * this.yOffset / this.height; - int var8 = var2 + (this.height + (this.yOffset + this.subHeight) * var4 - 1) / this.height; - if (var5 < Rasterizer2D.Rasterizer2D_xClipStart) { - var5 = Rasterizer2D.Rasterizer2D_xClipStart; - } - - if (var6 > Rasterizer2D.Rasterizer2D_xClipEnd) { - var6 = Rasterizer2D.Rasterizer2D_xClipEnd; - } - - if (var7 < Rasterizer2D.Rasterizer2D_yClipStart) { - var7 = Rasterizer2D.Rasterizer2D_yClipStart; - } - - if (var8 > Rasterizer2D.Rasterizer2D_yClipEnd) { - var8 = Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var5 < var6 && var7 < var8) { - int var9 = var5 + var7 * Rasterizer2D.Rasterizer2D_width; - int var10 = Rasterizer2D.Rasterizer2D_width - (var6 - var5); - if (var9 < Rasterizer2D.Rasterizer2D_pixels.length) { - for (int var11 = var7; var11 < var8; ++var11) { - for (int var12 = var5; var12 < var6; ++var12) { - int var13 = var12 - var1 << 4; - int var14 = var11 - var2 << 4; - int var15 = var13 * this.width / var3 - (this.xOffset << 4); - int var16 = (var13 + 16) * this.width / var3 - (this.xOffset << 4); - int var17 = var14 * this.height / var4 - (this.yOffset << 4); - int var18 = (var14 + 16) * this.height / var4 - (this.yOffset << 4); - int var19 = (var16 - var15) * (var18 - var17) >> 1; - if (var19 != 0) { - if (var15 < 0) { - var15 = 0; - } - - if (var16 >= this.subWidth << 4) { - var16 = this.subWidth << 4; - } - - if (var17 < 0) { - var17 = 0; - } - - if (var18 >= this.subHeight << 4) { - var18 = this.subHeight << 4; - } - - --var16; - --var18; - int var20 = 16 - (var15 & 15); - int var21 = (var16 & 15) + 1; - int var22 = 16 - (var17 & 15); - int var23 = (var18 & 15) + 1; - var15 >>= 4; - var16 >>= 4; - var17 >>= 4; - var18 >>= 4; - int var24 = 0; - int var25 = 0; - int var26 = 0; - int var27 = 0; - - int var28; - for (var28 = var17; var28 <= var18; ++var28) { - int var29 = 16; - if (var28 == var17) { - var29 = var22; - } - - if (var28 == var18) { - var29 = var23; - } - - for (int var30 = var15; var30 <= var16; ++var30) { - int var31 = this.pixels[var30 + var28 * this.subWidth]; - if (var31 != 0) { - int var32; - if (var30 == var15) { - var32 = var29 * var20; - } else if (var30 == var16) { - var32 = var29 * var21; - } else { - var32 = var29 << 4; - } - - var27 += var32; - var24 += var32 * (var31 >> 16 & 255); - var25 += var32 * (var31 >> 8 & 255); - var26 += (var31 & 255) * var32; - } - } - } - - if (var27 >= var19) { - var28 = var26 / var27 + (var24 / var27 << 16) + (var25 / var27 << 8); - if (var28 == 0) { - var28 = 1; - } - - Rasterizer2D.Rasterizer2D_pixels[var9] = var28; - } - - ++var9; - } - } - - var9 += var10; - } - - } - } - } else { - throw new IllegalArgumentException(); - } - } - - @ObfuscatedName("s") - @Export("Sprite_draw") - static void Sprite_draw(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { - for (int var8 = -var5; var8 < 0; ++var8) { - int var9; - for (var9 = var3 + var4 - 3; var3 < var9; var0[var3++] = var1[var2++]) { - var0[var3++] = var1[var2++]; - var0[var3++] = var1[var2++]; - var0[var3++] = var1[var2++]; - } - - for (var9 += 3; var3 < var9; var0[var3++] = var1[var2++]) { - } - - var3 += var6; - var2 += var7; - } - - } - - @ObfuscatedName("e") - @Export("Sprite_drawTransBg") - static void Sprite_drawTransBg(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = -(var5 >> 2); - var5 = -(var5 & 3); - - for (int var10 = -var6; var10 < 0; ++var10) { - int var11; - for (var11 = var9; var11 < 0; ++var11) { - var2 = var1[var3++]; - if (var2 != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - - var2 = var1[var3++]; - if (var2 != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - - var2 = var1[var3++]; - if (var2 != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - - var2 = var1[var3++]; - if (var2 != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - } - - for (var11 = var5; var11 < 0; ++var11) { - var2 = var1[var3++]; - if (var2 != 0) { - var0[var4++] = var2; - } else { - ++var4; - } - } - - var4 += var7; - var3 += var8; - } - - } - - @ObfuscatedName("q") - @Export("Sprite_drawScaled") - static void Sprite_drawScaled(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 = var3; - - for (int var13 = -var8; var13 < 0; ++var13) { - int var14 = var11 * (var4 >> 16); - - for (int var15 = -var7; var15 < 0; ++var15) { - var2 = var1[(var3 >> 16) + var14]; - if (var2 != 0) { - var0[var5++] = var2; - } else { - ++var5; - } - - var3 += var9; - } - - var4 += var10; - var3 = var12; - var5 += var6; - } - - } - - @ObfuscatedName("k") - @Export("Sprite_drawTransOverlay") - static void Sprite_drawTransOverlay(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { - int var11 = 256 - var9; - int var12 = (var10 & 16711935) * var11 & -16711936; - int var13 = (var10 & 65280) * var11 & 16711680; - var10 = (var12 | var13) >>> 8; - - for (int var14 = -var6; var14 < 0; ++var14) { - for (int var15 = -var5; var15 < 0; ++var15) { - var2 = var1[var3++]; - if (var2 != 0) { - var12 = var9 * (var2 & 16711935) & -16711936; - var13 = (var2 & 65280) * var9 & 16711680; - var0[var4++] = var10 + ((var12 | var13) >>> 8); - } else { - ++var4; - } - } - - var4 += var7; - var3 += var8; - } - - } - - @ObfuscatedName("m") - @Export("Sprite_drawTransparent") - static void Sprite_drawTransparent(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { - int var10 = 256 - var9; - - for (int var11 = -var6; var11 < 0; ++var11) { - for (int var12 = -var5; var12 < 0; ++var12) { - var2 = var1[var3++]; - if (var2 != 0) { - int var13 = var0[var4]; - var0[var4++] = ((var13 & 16711935) * var10 + var9 * (var2 & 16711935) & -16711936) + ((var2 & 65280) * var9 + var10 * (var13 & 65280) & 16711680) >> 8; - } else { - ++var4; - } - } - - var4 += var7; - var3 += var8; - } - - } - - @ObfuscatedName("a") - @Export("Sprite_drawTransScaled") - static void Sprite_drawTransScaled(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 = 256 - var12; - int var14 = var3; - - for (int var15 = -var8; var15 < 0; ++var15) { - int var16 = var11 * (var4 >> 16); - - for (int var17 = -var7; var17 < 0; ++var17) { - var2 = var1[(var3 >> 16) + var16]; - if (var2 != 0) { - int var18 = var0[var5]; - var0[var5++] = ((var2 & 65280) * var12 + var13 * (var18 & 65280) & 16711680) + ((var18 & 16711935) * var13 + var12 * (var2 & 16711935) & -16711936) >> 8; - } else { - ++var5; - } - - var3 += var9; - } - - var4 += var10; - var3 = var14; - var5 += var6; - } - - } - - @ObfuscatedName("ag") - static void method6097(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) { - for (var8 = -var10; var8 < 0; ++var8) { - for (var6 = -var9; var6 < 0; ++var6) { - var0 = var4[var5++]; - if (var0 != 0) { - var1 = var3[var7]; - var2 = var0 + var1; - var0 = (var0 & 16711935) + (var1 & 16711935); - var1 = (var0 & 16777472) + (var2 - var0 & 65536); - var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); - } else { - ++var7; - } - } - - var7 += var11; - var5 += var12; - } - - } - - @ObfuscatedName("at") - static void method6098(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) { - for (var8 = -var10; var8 < 0; ++var8) { - for (var6 = -var9; var6 < 0; ++var6) { - var0 = var4[var5++]; - if (var0 != 0) { - var1 = var13 * (var0 & 16711935); - var0 = (var1 & -16711936) + (var13 * var0 - var1 & 16711680) >>> 8; - var1 = var3[var7]; - var2 = var0 + var1; - var0 = (var0 & 16711935) + (var1 & 16711935); - var1 = (var0 & 16777472) + (var2 - var0 & 65536); - var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); - } else { - ++var7; - } - } - - var7 += var11; - var5 += var12; - } - - } - - @ObfuscatedName("av") - static void method6100(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) { - for (int var16 = var3; var8 < 0; ++var8) { - var7 = var15 * (var9 >> 16); - - for (var6 = -var12; var6 < 0; ++var6) { - var0 = var4[(var3 >> 16) + var7]; - if (var0 != 0) { - var1 = var5[var10]; - var2 = var0 + var1; - var0 = (var0 & 16711935) + (var1 & 16711935); - var1 = (var0 & 16777472) + (var2 - var0 & 65536); - var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); - } else { - ++var10; - } - - var3 += var13; - } - - var9 += var14; - var3 = var16; - var10 += var11; - } - - } - - @ObfuscatedName("an") - static void method6162(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) { - for (int var17 = var3; var8 < 0; ++var8) { - var7 = var15 * (var9 >> 16); - - for (var6 = -var12; var6 < 0; ++var6) { - var0 = var4[(var3 >> 16) + var7]; - if (var0 != 0) { - var1 = (var0 & 16711935) * var16; - var0 = (var1 & -16711936) + (var0 * var16 - var1 & 16711680) >>> 8; - var1 = var5[var10]; - var2 = var0 + var1; - var0 = (var0 & 16711935) + (var1 & 16711935); - var1 = (var0 & 16777472) + (var2 - var0 & 65536); - var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); - } else { - ++var10; - } - - var3 += var13; - } - - var9 += var14; - var3 = var17; - var10 += var11; - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lf") +@Implements("Sprite") +public final class Sprite extends Rasterizer2D { + @ObfuscatedName("z") + @Export("pixels") + public int[] pixels; + @ObfuscatedName("n") + @Export("subWidth") + public int subWidth; + @ObfuscatedName("v") + @Export("subHeight") + public int subHeight; + @ObfuscatedName("u") + @Export("xOffset") + public int xOffset; + @ObfuscatedName("r") + @Export("yOffset") + int yOffset; + @ObfuscatedName("p") + @Export("width") + public int width; + @ObfuscatedName("q") + @Export("height") + public int height; + + public Sprite(int[] var1, int var2, int var3) { + this.pixels = var1; + this.subWidth = this.width = var2; + this.subHeight = this.height = var3; + this.yOffset = 0; + this.xOffset = 0; + } + + public Sprite(int var1, int var2) { + this(new int[var2 * var1], var1, var2); + } + + Sprite() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "()Llf;" + ) + @Export("mirrorHorizontally") + public Sprite mirrorHorizontally() { + Sprite var1 = new Sprite(this.subWidth, this.subHeight); + var1.width = this.width; + var1.height = this.height; + var1.xOffset = this.width - this.subWidth - this.xOffset; + var1.yOffset = this.yOffset; + + for (int var2 = 0; var2 < this.subHeight; ++var2) { + for (int var3 = 0; var3 < this.subWidth; ++var3) { + var1.pixels[var3 + var2 * this.subWidth] = this.pixels[var2 * this.subWidth + this.subWidth - 1 - var3]; + } + } + + return var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "()Llf;" + ) + @Export("copyNormalized") + public Sprite copyNormalized() { + Sprite var1 = new Sprite(this.width, this.height); + + for (int var2 = 0; var2 < this.subHeight; ++var2) { + for (int var3 = 0; var3 < this.subWidth; ++var3) { + var1.pixels[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; + } + } + + return var1; + } + + @ObfuscatedName("v") + @Export("setRaster") + public void setRaster() { + Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); + } + + @ObfuscatedName("u") + @Export("normalize") + public void normalize() { + if (this.subWidth != this.width || this.subHeight != this.height) { + int[] var1 = new int[this.width * this.height]; + + for (int var2 = 0; var2 < this.subHeight; ++var2) { + for (int var3 = 0; var3 < this.subWidth; ++var3) { + var1[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; + } + } + + this.pixels = var1; + this.subWidth = this.width; + this.subHeight = this.height; + this.xOffset = 0; + this.yOffset = 0; + } + } + + @ObfuscatedName("r") + @Export("pad") + public void pad(int var1) { + if (this.subWidth != this.width || this.subHeight != this.height) { + int var2 = var1; + if (var1 > this.xOffset) { + var2 = this.xOffset; + } + + int var3 = var1; + if (var1 + this.xOffset + this.subWidth > this.width) { + var3 = this.width - this.xOffset - this.subWidth; + } + + int var4 = var1; + if (var1 > this.yOffset) { + var4 = this.yOffset; + } + + int var5 = var1; + if (var1 + this.yOffset + this.subHeight > this.height) { + var5 = this.height - this.yOffset - this.subHeight; + } + + int var6 = var2 + var3 + this.subWidth; + int var7 = var4 + var5 + this.subHeight; + int[] var8 = new int[var6 * var7]; + + for (int var9 = 0; var9 < this.subHeight; ++var9) { + for (int var10 = 0; var10 < this.subWidth; ++var10) { + var8[var6 * (var9 + var4) + var10 + var2] = this.pixels[var10 + var9 * this.subWidth]; + } + } + + this.pixels = var8; + this.subWidth = var6; + this.subHeight = var7; + this.xOffset -= var2; + this.yOffset -= var4; + } + } + + @ObfuscatedName("p") + @Export("flipHorizontally") + public void flipHorizontally() { + int[] var1 = new int[this.subWidth * this.subHeight]; + int var2 = 0; + + for (int var3 = 0; var3 < this.subHeight; ++var3) { + for (int var4 = this.subWidth - 1; var4 >= 0; --var4) { + var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; + } + } + + this.pixels = var1; + this.xOffset = this.width - this.subWidth - this.xOffset; + } + + @ObfuscatedName("q") + @Export("flipVertically") + public void flipVertically() { + int[] var1 = new int[this.subWidth * this.subHeight]; + int var2 = 0; + + for (int var3 = this.subHeight - 1; var3 >= 0; --var3) { + for (int var4 = 0; var4 < this.subWidth; ++var4) { + var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; + } + } + + this.pixels = var1; + this.yOffset = this.height - this.subHeight - this.yOffset; + } + + @ObfuscatedName("m") + @Export("outline") + public void outline(int var1) { + int[] var2 = new int[this.subWidth * this.subHeight]; + int var3 = 0; + + for (int var4 = 0; var4 < this.subHeight; ++var4) { + for (int var5 = 0; var5 < this.subWidth; ++var5) { + int var6 = this.pixels[var3]; + if (var6 == 0) { + if (var5 > 0 && this.pixels[var3 - 1] != 0) { + var6 = var1; + } else if (var4 > 0 && this.pixels[var3 - this.subWidth] != 0) { + var6 = var1; + } else if (var5 < this.subWidth - 1 && this.pixels[var3 + 1] != 0) { + var6 = var1; + } else if (var4 < this.subHeight - 1 && this.pixels[var3 + this.subWidth] != 0) { + var6 = var1; + } + } + + var2[var3++] = var6; + } + } + + this.pixels = var2; + } + + @ObfuscatedName("y") + @Export("shadow") + public void shadow(int var1) { + for (int var2 = this.subHeight - 1; var2 > 0; --var2) { + int var3 = var2 * this.subWidth; + + for (int var4 = this.subWidth - 1; var4 > 0; --var4) { + if (this.pixels[var4 + var3] == 0 && this.pixels[var4 + var3 - 1 - this.subWidth] != 0) { + this.pixels[var4 + var3] = var1; + } + } + } + + } + + @ObfuscatedName("i") + @Export("drawAt") + public void drawAt(int var1, int var2) { + var1 += this.xOffset; + var2 += this.yOffset; + int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var4 = 0; + int var5 = this.subHeight; + int var6 = this.subWidth; + int var7 = Rasterizer2D.Rasterizer2D_width - var6; + int var8 = 0; + int var9; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var5 -= var9; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var4 += var9 * var6; + var3 += var9 * Rasterizer2D.Rasterizer2D_width; + } + + if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var6 -= var9; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if (var6 > 0 && var5 > 0) { + Sprite_draw(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8); + } + } + + @ObfuscatedName("b") + @Export("drawTransBgAt") + public void drawTransBgAt(int var1, int var2) { + var1 += this.xOffset; + var2 += this.yOffset; + int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var4 = 0; + int var5 = this.subHeight; + int var6 = this.subWidth; + int var7 = Rasterizer2D.Rasterizer2D_width - var6; + int var8 = 0; + int var9; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var5 -= var9; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var4 += var9 * var6; + var3 += var9 * Rasterizer2D.Rasterizer2D_width; + } + + if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var6 -= var9; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if (var6 > 0 && var5 > 0) { + Sprite_drawTransBg(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8); + } + } + + @ObfuscatedName("a") + @Export("drawScaledAt") + public void drawScaledAt(int var1, int var2, int var3, int var4) { + if (var3 > 0 && var4 > 0) { + int var5 = this.subWidth; + int var6 = this.subHeight; + int var7 = 0; + int var8 = 0; + int var9 = this.width; + int var10 = this.height; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if (this.xOffset > 0) { + var13 = (var11 + (this.xOffset << 16) - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.xOffset << 16); + } + + if (this.yOffset > 0) { + var13 = (var12 + (this.yOffset << 16) - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.yOffset << 16); + } + + if (var5 < var9) { + var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; + } + + if (var6 < var10) { + var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } + + var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + int var15; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var15; + var13 += var15 * Rasterizer2D.Rasterizer2D_width; + var8 += var12 * var15; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var15; + var14 += var15; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } + + Sprite_drawScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } + } + + @ObfuscatedName("x") + @Export("drawTransOverlayAt") + public void drawTransOverlayAt(int var1, int var2, int var3, int var4) { + if (var3 == 256) { + this.drawTransBgAt(var1, var2); + } else { + var1 += this.xOffset; + var2 += this.yOffset; + int var5 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var6 = 0; + int var7 = this.subHeight; + int var8 = this.subWidth; + int var9 = Rasterizer2D.Rasterizer2D_width - var8; + int var10 = 0; + int var11; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var7 -= var11; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var6 += var11 * var8; + var5 += var11 * Rasterizer2D.Rasterizer2D_width; + } + + if (var7 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var7 -= var7 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var8 -= var11; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var6 += var11; + var5 += var11; + var10 += var11; + var9 += var11; + } + + if (var8 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var11 = var8 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var8 -= var11; + var10 += var11; + var9 += var11; + } + + if (var8 > 0 && var7 > 0) { + Sprite_drawTransOverlay(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4); + } + } + } + + @ObfuscatedName("s") + @Export("drawTransAt") + public void drawTransAt(int var1, int var2, int var3) { + var1 += this.xOffset; + var2 += this.yOffset; + int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var5 = 0; + int var6 = this.subHeight; + int var7 = this.subWidth; + int var8 = Rasterizer2D.Rasterizer2D_width - var7; + int var9 = 0; + int var10; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var6 -= var10; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var5 += var10 * var7; + var4 += var10 * Rasterizer2D.Rasterizer2D_width; + } + + if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var7 -= var10; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + } + + if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if (var7 > 0 && var6 > 0) { + Sprite_drawTransparent(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3); + } + } + + @ObfuscatedName("j") + @Export("drawTransScaledAt") + public void drawTransScaledAt(int var1, int var2, int var3, int var4, int var5) { + if (var3 > 0 && var4 > 0) { + int var6 = this.subWidth; + int var7 = this.subHeight; + int var8 = 0; + int var9 = 0; + int var10 = this.width; + int var11 = this.height; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if (this.xOffset > 0) { + var14 = (var12 + (this.xOffset << 16) - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.xOffset << 16); + } + + if (this.yOffset > 0) { + var14 = (var13 + (this.yOffset << 16) - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.yOffset << 16); + } + + if (var6 < var10) { + var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } + + if (var7 < var11) { + var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; + } + + var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var15 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + int var16; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var16; + var14 += var16 * Rasterizer2D.Rasterizer2D_width; + var9 += var13 * var16; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var16; + var15 += var16; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var16; + var14 += var16; + var8 += var12 * var16; + var15 += var16; + } + + Sprite_drawTransScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); + } + } + + @ObfuscatedName("l") + public void method6059(int var1, int var2, int var3) { + var1 += this.xOffset; + var2 += this.yOffset; + int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var5 = 0; + int var6 = this.subHeight; + int var7 = this.subWidth; + int var8 = Rasterizer2D.Rasterizer2D_width - var7; + int var9 = 0; + int var10; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var6 -= var10; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var5 += var10 * var7; + var4 += var10 * Rasterizer2D.Rasterizer2D_width; + } + + if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var7 -= var10; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + } + + if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if (var7 > 0 && var6 > 0) { + if (var3 == 256) { + method6048(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); + } else { + method6061(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); + } + + } + } + + @ObfuscatedName("aa") + public void method6062(int var1, int var2, int var3, int var4, int var5) { + if (var3 > 0 && var4 > 0) { + int var6 = this.subWidth; + int var7 = this.subHeight; + int var8 = 0; + int var9 = 0; + int var10 = this.width; + int var11 = this.height; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if (this.xOffset > 0) { + var14 = (var12 + (this.xOffset << 16) - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.xOffset << 16); + } + + if (this.yOffset > 0) { + var14 = (var13 + (this.yOffset << 16) - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.yOffset << 16); + } + + if (var6 < var10) { + var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } + + if (var7 < var11) { + var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; + } + + var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var15 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + int var16; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var16; + var14 += var16 * Rasterizer2D.Rasterizer2D_width; + var9 += var13 * var16; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var16; + var15 += var16; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var16; + var14 += var16; + var8 += var12 * var16; + var15 += var16; + } + + if (var5 == 256) { + method6063(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); + } else { + method6060(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); + } + + } + } + + @ObfuscatedName("ab") + public void method6065(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7, int[] var8) { + int var9 = var2 < 0 ? -var2 : 0; + int var10 = var2 + this.subHeight <= var6 ? this.subHeight : var6 - var2; + int var11 = var1 < 0 ? -var1 : 0; + int var10000; + if (this.subWidth + var1 <= var5) { + var10000 = this.subWidth; + } else { + var10000 = var5 - var1; + } + + int var13 = var3 + var11 + (var9 + var2 + var4) * Rasterizer2D.Rasterizer2D_width + var1; + int var14 = var9 + var2; + + for (int var15 = var9; var15 < var10; ++var15) { + int var16 = var7[var14]; + int var17 = var8[var14++]; + int var18 = var13; + int var19; + if (var1 < var16) { + var19 = var16 - var1; + var18 = var13 + (var19 - var11); + } else { + var19 = var11; + } + + int var12; + if (this.subWidth + var1 <= var16 + var17) { + var12 = this.subWidth; + } else { + var12 = var16 + var17 - var1; + } + + for (int var20 = var19; var20 < var12; ++var20) { + int var21 = this.pixels[var20 + var15 * this.subWidth]; + if (var21 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var18++] = var21; + } else { + ++var18; + } + } + + var13 += Rasterizer2D.Rasterizer2D_width; + } + + } + + @ObfuscatedName("ax") + @Export("drawRotatedMaskedCenteredAround") + public void drawRotatedMaskedCenteredAround(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { + try { + int var11 = -var3 / 2; + int var12 = -var4 / 2; + int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); + int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); + var13 = var13 * var8 >> 8; + var14 = var14 * var8 >> 8; + int var15 = var12 * var13 + var11 * var14 + (var5 << 16); + int var16 = var12 * var14 - var11 * var13 + (var6 << 16); + int var17 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + + for (var2 = 0; var2 < var4; ++var2) { + int var18 = var9[var2]; + int var19 = var17 + var18; + int var20 = var15 + var14 * var18; + int var21 = var16 - var13 * var18; + + for (var1 = -var10[var2]; var1 < 0; ++var1) { + Rasterizer2D.Rasterizer2D_pixels[var19++] = this.pixels[this.subWidth * (var21 >> 16) + (var20 >> 16)]; + var20 += var14; + var21 -= var13; + } + + var15 += var13; + var16 += var14; + var17 += Rasterizer2D.Rasterizer2D_width; + } + } catch (Exception var23) { + } + + } + + @ObfuscatedName("as") + public void method6067(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { + try { + int var10 = -var3 / 2; + int var11 = -var4 / 2; + int var12 = (int)(Math.sin(var7) * 65536.0D); + int var13 = (int)(Math.cos(var7) * 65536.0D); + var12 = var12 * var9 >> 8; + var13 = var13 * var9 >> 8; + int var14 = var11 * var12 + var10 * var13 + (var5 << 16); + int var15 = var11 * var13 - var10 * var12 + (var6 << 16); + int var16 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + + for (var2 = 0; var2 < var4; ++var2) { + int var17 = var16; + int var18 = var14; + int var19 = var15; + + for (var1 = -var3; var1 < 0; ++var1) { + int var20 = this.pixels[this.subWidth * (var19 >> 16) + (var18 >> 16)]; + if (var20 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var17++] = var20; + } else { + ++var17; + } + + var18 += var13; + var19 -= var12; + } + + var14 += var12; + var15 += var13; + var16 += Rasterizer2D.Rasterizer2D_width; + } + } catch (Exception var22) { + } + + } + + @ObfuscatedName("ao") + public void method6068(int var1, int var2, int var3, int var4) { + this.method6069(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); + } + + @ObfuscatedName("al") + void method6069(int var1, int var2, int var3, int var4, int var5, int var6) { + if (var6 != 0) { + var1 -= this.xOffset << 4; + var2 -= this.yOffset << 4; + double var7 = (double)(var5 & 65535) * 9.587379924285257E-5D; + int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D); + int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D); + int var11 = var10 * -var1 + -var2 * var9; + int var12 = -var2 * var10 + var9 * -(-var1); + int var13 = var10 * ((this.subWidth << 4) - var1) + -var2 * var9; + int var14 = var9 * -((this.subWidth << 4) - var1) + -var2 * var10; + int var15 = ((this.subHeight << 4) - var2) * var9 + var10 * -var1; + int var16 = ((this.subHeight << 4) - var2) * var10 + var9 * -(-var1); + int var17 = ((this.subHeight << 4) - var2) * var9 + var10 * ((this.subWidth << 4) - var1); + int var18 = ((this.subHeight << 4) - var2) * var10 + var9 * -((this.subWidth << 4) - var1); + int var19; + int var20; + if (var11 < var13) { + var19 = var11; + var20 = var13; + } else { + var19 = var13; + var20 = var11; + } + + if (var15 < var19) { + var19 = var15; + } + + if (var17 < var19) { + var19 = var17; + } + + if (var15 > var20) { + var20 = var15; + } + + if (var17 > var20) { + var20 = var17; + } + + int var21; + int var22; + if (var12 < var14) { + var21 = var12; + var22 = var14; + } else { + var21 = var14; + var22 = var12; + } + + if (var16 < var21) { + var21 = var16; + } + + if (var18 < var21) { + var21 = var18; + } + + if (var16 > var22) { + var22 = var16; + } + + if (var18 > var22) { + var22 = var18; + } + + var19 >>= 12; + var20 = var20 + 4095 >> 12; + var21 >>= 12; + var22 = var22 + 4095 >> 12; + var19 += var3; + var20 += var3; + var21 += var4; + var22 += var4; + var19 >>= 4; + var20 = var20 + 15 >> 4; + var21 >>= 4; + var22 = var22 + 15 >> 4; + if (var19 < Rasterizer2D.Rasterizer2D_xClipStart) { + var19 = Rasterizer2D.Rasterizer2D_xClipStart; + } + + if (var20 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var20 = Rasterizer2D.Rasterizer2D_xClipEnd; + } + + if (var21 < Rasterizer2D.Rasterizer2D_yClipStart) { + var21 = Rasterizer2D.Rasterizer2D_yClipStart; + } + + if (var22 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var22 = Rasterizer2D.Rasterizer2D_yClipEnd; + } + + var20 = var19 - var20; + if (var20 < 0) { + var22 = var21 - var22; + if (var22 < 0) { + int var23 = var19 + var21 * Rasterizer2D.Rasterizer2D_width; + double var24 = 1.6777216E7D / (double)var6; + int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D); + int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D); + int var28 = (var19 << 4) + 8 - var3; + int var29 = (var21 << 4) + 8 - var4; + int var30 = (var1 << 8) - (var29 * var26 >> 4); + int var31 = (var29 * var27 >> 4) + (var2 << 8); + int var32; + int var33; + int var34; + int var35; + int var36; + int var37; + int var38; + if (var27 == 0) { + if (var26 == 0) { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = var30; + var36 = var31; + var37 = var20; + if (var30 >= 0 && var31 >= 0 && var30 - (this.subWidth << 12) < 0 && var31 - (this.subHeight << 12) < 0) { + for (; var37 < 0; ++var37) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + } + } + + ++var33; + } + } else if (var26 < 0) { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { + if ((var32 = var36 - (this.subHeight << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } else { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { + if (var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } + } else if (var27 < 0) { + if (var26 == 0) { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = var31; + var37 = var20; + if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { + if ((var32 = var35 - (this.subWidth << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if (var26 < 0) { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if ((var32 = var35 - (this.subWidth << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if ((var32 = var36 - (this.subHeight << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if ((var32 = var35 - (this.subWidth << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if (var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + } else if (var26 == 0) { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = var31; + var37 = var20; + if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { + if (var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if (var26 < 0) { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if ((var32 = var36 - (this.subHeight << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if (var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while (var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + + } + } + } + } + + @ObfuscatedName("ad") + @Export("drawScaledWorldmap") + public void drawScaledWorldmap(int var1, int var2, int var3, int var4) { + if (var3 <= this.width && var4 <= this.height) { + int var5 = var3 * this.xOffset / this.width + var1; + int var6 = (var3 * (this.xOffset + this.subWidth) + this.width - 1) / this.width + var1; + int var7 = var2 + var4 * this.yOffset / this.height; + int var8 = var2 + (this.height + (this.yOffset + this.subHeight) * var4 - 1) / this.height; + if (var5 < Rasterizer2D.Rasterizer2D_xClipStart) { + var5 = Rasterizer2D.Rasterizer2D_xClipStart; + } + + if (var6 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var6 = Rasterizer2D.Rasterizer2D_xClipEnd; + } + + if (var7 < Rasterizer2D.Rasterizer2D_yClipStart) { + var7 = Rasterizer2D.Rasterizer2D_yClipStart; + } + + if (var8 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var8 = Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var5 < var6 && var7 < var8) { + int var9 = var5 + var7 * Rasterizer2D.Rasterizer2D_width; + int var10 = Rasterizer2D.Rasterizer2D_width - (var6 - var5); + if (var9 < Rasterizer2D.Rasterizer2D_pixels.length) { + for (int var11 = var7; var11 < var8; ++var11) { + for (int var12 = var5; var12 < var6; ++var12) { + int var13 = var12 - var1 << 4; + int var14 = var11 - var2 << 4; + int var15 = var13 * this.width / var3 - (this.xOffset << 4); + int var16 = (var13 + 16) * this.width / var3 - (this.xOffset << 4); + int var17 = var14 * this.height / var4 - (this.yOffset << 4); + int var18 = (var14 + 16) * this.height / var4 - (this.yOffset << 4); + int var19 = (var16 - var15) * (var18 - var17) >> 1; + if (var19 != 0) { + if (var15 < 0) { + var15 = 0; + } + + if (var16 >= this.subWidth << 4) { + var16 = this.subWidth << 4; + } + + if (var17 < 0) { + var17 = 0; + } + + if (var18 >= this.subHeight << 4) { + var18 = this.subHeight << 4; + } + + --var16; + --var18; + int var20 = 16 - (var15 & 15); + int var21 = (var16 & 15) + 1; + int var22 = 16 - (var17 & 15); + int var23 = (var18 & 15) + 1; + var15 >>= 4; + var16 >>= 4; + var17 >>= 4; + var18 >>= 4; + int var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + + int var28; + for (var28 = var17; var28 <= var18; ++var28) { + int var29 = 16; + if (var28 == var17) { + var29 = var22; + } + + if (var28 == var18) { + var29 = var23; + } + + for (int var30 = var15; var30 <= var16; ++var30) { + int var31 = this.pixels[var30 + var28 * this.subWidth]; + if (var31 != 0) { + int var32; + if (var30 == var15) { + var32 = var29 * var20; + } else if (var30 == var16) { + var32 = var29 * var21; + } else { + var32 = var29 << 4; + } + + var27 += var32; + var24 += var32 * (var31 >> 16 & 255); + var25 += var32 * (var31 >> 8 & 255); + var26 += (var31 & 255) * var32; + } + } + } + + if (var27 >= var19) { + var28 = var26 / var27 + (var24 / var27 << 16) + (var25 / var27 << 8); + if (var28 == 0) { + var28 = 1; + } + + Rasterizer2D.Rasterizer2D_pixels[var9] = var28; + } + + ++var9; + } + } + + var9 += var10; + } + + } + } + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("c") + @Export("Sprite_draw") + static void Sprite_draw(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { + for (int var8 = -var5; var8 < 0; ++var8) { + int var9; + for (var9 = var3 + var4 - 3; var3 < var9; var0[var3++] = var1[var2++]) { + var0[var3++] = var1[var2++]; + var0[var3++] = var1[var2++]; + var0[var3++] = var1[var2++]; + } + + for (var9 += 3; var3 < var9; var0[var3++] = var1[var2++]) { + } + + var3 += var6; + var2 += var7; + } + + } + + @ObfuscatedName("o") + @Export("Sprite_drawTransBg") + static void Sprite_drawTransBg(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for (int var10 = -var6; var10 < 0; ++var10) { + int var11; + for (var11 = var9; var11 < 0; ++var11) { + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + for (var11 = var5; var11 < 0; ++var11) { + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("e") + @Export("Sprite_drawScaled") + static void Sprite_drawScaled(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 = var3; + + for (int var13 = -var8; var13 < 0; ++var13) { + int var14 = var11 * (var4 >> 16); + + for (int var15 = -var7; var15 < 0; ++var15) { + var2 = var1[(var3 >> 16) + var14]; + if (var2 != 0) { + var0[var5++] = var2; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var12; + var5 += var6; + } + + } + + @ObfuscatedName("h") + @Export("Sprite_drawTransOverlay") + static void Sprite_drawTransOverlay(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + int var11 = 256 - var9; + int var12 = (var10 & 16711935) * var11 & -16711936; + int var13 = (var10 & 65280) * var11 & 16711680; + var10 = (var12 | var13) >>> 8; + + for (int var14 = -var6; var14 < 0; ++var14) { + for (int var15 = -var5; var15 < 0; ++var15) { + var2 = var1[var3++]; + if (var2 != 0) { + var12 = var9 * (var2 & 16711935) & -16711936; + var13 = (var2 & 65280) * var9 & 16711680; + var0[var4++] = var10 + ((var12 | var13) >>> 8); + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("f") + @Export("Sprite_drawTransparent") + static void Sprite_drawTransparent(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + int var10 = 256 - var9; + + for (int var11 = -var6; var11 < 0; ++var11) { + for (int var12 = -var5; var12 < 0; ++var12) { + var2 = var1[var3++]; + if (var2 != 0) { + int var13 = var0[var4]; + var0[var4++] = ((var13 & 16711935) * var10 + var9 * (var2 & 16711935) & -16711936) + ((var2 & 65280) * var9 + var10 * (var13 & 65280) & 16711680) >> 8; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("d") + @Export("Sprite_drawTransScaled") + static void Sprite_drawTransScaled(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 = 256 - var12; + int var14 = var3; + + for (int var15 = -var8; var15 < 0; ++var15) { + int var16 = var11 * (var4 >> 16); + + for (int var17 = -var7; var17 < 0; ++var17) { + var2 = var1[(var3 >> 16) + var16]; + if (var2 != 0) { + int var18 = var0[var5]; + var0[var5++] = ((var2 & 65280) * var12 + var13 * (var18 & 65280) & 16711680) + ((var18 & 16711935) * var13 + var12 * (var2 & 16711935) & -16711936) >> 8; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var14; + var5 += var6; + } + + } + + @ObfuscatedName("k") + static void method6048(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) { + for (var8 = -var10; var8 < 0; ++var8) { + for (var6 = -var9; var6 < 0; ++var6) { + var0 = var4[var5++]; + if (var0 != 0) { + var1 = var3[var7]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var7; + } + } + + var7 += var11; + var5 += var12; + } + + } + + @ObfuscatedName("ac") + static void method6061(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) { + for (var8 = -var10; var8 < 0; ++var8) { + for (var6 = -var9; var6 < 0; ++var6) { + var0 = var4[var5++]; + if (var0 != 0) { + var1 = var13 * (var0 & 16711935); + var0 = (var1 & -16711936) + (var13 * var0 - var1 & 16711680) >>> 8; + var1 = var3[var7]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var7; + } + } + + var7 += var11; + var5 += var12; + } + + } + + @ObfuscatedName("ap") + static void method6063(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) { + for (int var16 = var3; var8 < 0; ++var8) { + var7 = var15 * (var9 >> 16); + + for (var6 = -var12; var6 < 0; ++var6) { + var0 = var4[(var3 >> 16) + var7]; + if (var0 != 0) { + var1 = var5[var10]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var10; + } + + var3 += var13; + } + + var9 += var14; + var3 = var16; + var10 += var11; + } + + } + + @ObfuscatedName("ar") + static void method6060(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) { + for (int var17 = var3; var8 < 0; ++var8) { + var7 = var15 * (var9 >> 16); + + for (var6 = -var12; var6 < 0; ++var6) { + var0 = var4[(var3 >> 16) + var7]; + if (var0 != 0) { + var1 = (var0 & 16711935) * var16; + var0 = (var1 & -16711936) + (var0 * var16 - var1 & 16711680) >>> 8; + var1 = var5[var10]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var10; + } + + var3 += var13; + } + + var9 += var14; + var3 = var17; + var10 += var11; + } + + } +} diff --git a/runescape-client/src/main/java/SpriteMask.java b/runescape-client/src/main/java/SpriteMask.java index 60139a76ab..e35535c502 100644 --- a/runescape-client/src/main/java/SpriteMask.java +++ b/runescape-client/src/main/java/SpriteMask.java @@ -1,52 +1,52 @@ -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("hi") -@Implements("SpriteMask") -public class SpriteMask extends DualNode { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1779870231 - ) - @Export("width") - public final int width; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 368220397 - ) - @Export("height") - public final int height; - @ObfuscatedName("t") - @Export("xWidths") - public final int[] xWidths; - @ObfuscatedName("g") - @Export("xStarts") - public final int[] xStarts; - - SpriteMask(int var1, int var2, int[] var3, int[] var4, int var5) { - this.width = var1; - this.height = var2; - this.xWidths = var3; - this.xStarts = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1440865418" - ) - @Export("contains") - public boolean contains(int var1, int var2) { - if (var2 >= 0 && var2 < this.xStarts.length) { - int var3 = this.xStarts[var2]; - if (var1 >= var3 && var1 <= var3 + this.xWidths[var2]) { - return true; - } - } - - return false; - } -} +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("hz") +@Implements("SpriteMask") +public class SpriteMask extends DualNode { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 470195623 + ) + @Export("width") + public final int width; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1322653373 + ) + @Export("height") + public final int height; + @ObfuscatedName("v") + @Export("xWidths") + public final int[] xWidths; + @ObfuscatedName("u") + @Export("xStarts") + public final int[] xStarts; + + SpriteMask(int var1, int var2, int[] var3, int[] var4, int var5) { + this.width = var1; + this.height = var2; + this.xWidths = var3; + this.xStarts = var4; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-886102829" + ) + @Export("contains") + public boolean contains(int var1, int var2) { + if (var2 >= 0 && var2 < this.xStarts.length) { + int var3 = this.xStarts[var2]; + if (var1 >= var3 && var1 <= var3 + this.xWidths[var2]) { + return true; + } + } + + return false; + } +} diff --git a/runescape-client/src/main/java/Strings.java b/runescape-client/src/main/java/Strings.java index bdb27419ef..095fd89c7f 100644 --- a/runescape-client/src/main/java/Strings.java +++ b/runescape-client/src/main/java/Strings.java @@ -1,240 +1,51 @@ -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("he") -@Implements("Strings") -public class Strings { - @ObfuscatedName("bp") - public static String field2863; - @ObfuscatedName("cs") - public static String field3016; - @ObfuscatedName("jc") - public static String field3008; - @ObfuscatedName("jg") - public static String field2966; - @ObfuscatedName("jl") - public static String field2844; - - static { - field2863 = "Please visit the support page for assistance."; - field3016 = "Please visit the support page for assistance."; - field3008 = ""; - field2966 = "Page has opened in a new window."; - field2844 = "(Please check your popup blocker.)"; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIILfw;Lfj;I)Z", - garbageValue = "2096775897" - ) - static final boolean method4103(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4) { - int var5 = var0; - int var6 = var1; - byte var7 = 64; - byte var8 = 64; - int var9 = var0 - var7; - int var10 = var1 - var8; - class173.directions[var7][var8] = 99; - class173.distances[var7][var8] = 0; - byte var11 = 0; - int var12 = 0; - class173.bufferX[var11] = var0; - int var20 = var11 + 1; - class173.bufferY[var11] = var1; - int[][] var13 = var4.flags; - - while (true) { - label303: - while (true) { - int var14; - int var15; - int var16; - int var17; - int var18; - int var19; - do { - do { - do { - label280: - do { - if (var20 == var12) { - class173.field2063 = var5; - class173.field2068 = var6; - return false; - } - - var5 = class173.bufferX[var12]; - var6 = class173.bufferY[var12]; - var12 = var12 + 1 & 4095; - var18 = var5 - var9; - var19 = var6 - var10; - var14 = var5 - var4.xInset; - var15 = var6 - var4.yInset; - if (var3.hasArrived(var2, var5, var6, var4)) { - class173.field2063 = var5; - class173.field2068 = var6; - return true; - } - - var16 = class173.distances[var18][var19] + 1; - if (var18 > 0 && class173.directions[var18 - 1][var19] == 0 && (var13[var14 - 1][var15] & 19136782) == 0 && (var13[var14 - 1][var15 + var2 - 1] & 19136824) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class173.bufferX[var20] = var5 - 1; - class173.bufferY[var20] = var6; - var20 = var20 + 1 & 4095; - class173.directions[var18 - 1][var19] = 2; - class173.distances[var18 - 1][var19] = var16; - break; - } - - if ((var13[var14 - 1][var17 + var15] & 19136830) != 0) { - break; - } - - ++var17; - } - } - - if (var18 < 128 - var2 && class173.directions[var18 + 1][var19] == 0 && (var13[var14 + var2][var15] & 19136899) == 0 && (var13[var14 + var2][var15 + var2 - 1] & 19136992) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class173.bufferX[var20] = var5 + 1; - class173.bufferY[var20] = var6; - var20 = var20 + 1 & 4095; - class173.directions[var18 + 1][var19] = 8; - class173.distances[var18 + 1][var19] = var16; - break; - } - - if ((var13[var14 + var2][var17 + var15] & 19136995) != 0) { - break; - } - - ++var17; - } - } - - if (var19 > 0 && class173.directions[var18][var19 - 1] == 0 && (var13[var14][var15 - 1] & 19136782) == 0 && (var13[var14 + var2 - 1][var15 - 1] & 19136899) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class173.bufferX[var20] = var5; - class173.bufferY[var20] = var6 - 1; - var20 = var20 + 1 & 4095; - class173.directions[var18][var19 - 1] = 1; - class173.distances[var18][var19 - 1] = var16; - break; - } - - if ((var13[var17 + var14][var15 - 1] & 19136911) != 0) { - break; - } - - ++var17; - } - } - - if (var19 < 128 - var2 && class173.directions[var18][var19 + 1] == 0 && (var13[var14][var15 + var2] & 19136824) == 0 && (var13[var14 + var2 - 1][var15 + var2] & 19136992) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2 - 1) { - class173.bufferX[var20] = var5; - class173.bufferY[var20] = var6 + 1; - var20 = var20 + 1 & 4095; - class173.directions[var18][var19 + 1] = 4; - class173.distances[var18][var19 + 1] = var16; - break; - } - - if ((var13[var17 + var14][var15 + var2] & 19137016) != 0) { - break; - } - - ++var17; - } - } - - if (var18 > 0 && var19 > 0 && class173.directions[var18 - 1][var19 - 1] == 0 && (var13[var14 - 1][var15 - 1] & 19136782) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2) { - class173.bufferX[var20] = var5 - 1; - class173.bufferY[var20] = var6 - 1; - var20 = var20 + 1 & 4095; - class173.directions[var18 - 1][var19 - 1] = 3; - class173.distances[var18 - 1][var19 - 1] = var16; - break; - } - - if ((var13[var14 - 1][var17 + (var15 - 1)] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 - 1] & 19136911) != 0) { - break; - } - - ++var17; - } - } - - if (var18 < 128 - var2 && var19 > 0 && class173.directions[var18 + 1][var19 - 1] == 0 && (var13[var14 + var2][var15 - 1] & 19136899) == 0) { - var17 = 1; - - while (true) { - if (var17 >= var2) { - class173.bufferX[var20] = var5 + 1; - class173.bufferY[var20] = var6 - 1; - var20 = var20 + 1 & 4095; - class173.directions[var18 + 1][var19 - 1] = 9; - class173.distances[var18 + 1][var19 - 1] = var16; - break; - } - - if ((var13[var14 + var2][var17 + (var15 - 1)] & 19136995) != 0 || (var13[var14 + var17][var15 - 1] & 19136911) != 0) { - break; - } - - ++var17; - } - } - - if (var18 > 0 && var19 < 128 - var2 && class173.directions[var18 - 1][var19 + 1] == 0 && (var13[var14 - 1][var15 + var2] & 19136824) == 0) { - for (var17 = 1; var17 < var2; ++var17) { - if ((var13[var14 - 1][var15 + var17] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 + var2] & 19137016) != 0) { - continue label280; - } - } - - class173.bufferX[var20] = var5 - 1; - class173.bufferY[var20] = var6 + 1; - var20 = var20 + 1 & 4095; - class173.directions[var18 - 1][var19 + 1] = 6; - class173.distances[var18 - 1][var19 + 1] = var16; - } - } while(var18 >= 128 - var2); - } while(var19 >= 128 - var2); - } while(class173.directions[var18 + 1][var19 + 1] != 0); - } while((var13[var14 + var2][var15 + var2] & 19136992) != 0); - - for (var17 = 1; var17 < var2; ++var17) { - if ((var13[var17 + var14][var15 + var2] & 19137016) != 0 || (var13[var14 + var2][var17 + var15] & 19136995) != 0) { - continue label303; - } - } - - class173.bufferX[var20] = var5 + 1; - class173.bufferY[var20] = var6 + 1; - var20 = var20 + 1 & 4095; - class173.directions[var18 + 1][var19 + 1] = 12; - class173.distances[var18 + 1][var19 + 1] = var16; - } - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hx") +@Implements("Strings") +public class Strings { + @ObfuscatedName("bm") + public static String field2793; + @ObfuscatedName("cc") + public static String field2783; + @ObfuscatedName("jp") + public static String field3008; + @ObfuscatedName("jd") + public static String field3009; + @ObfuscatedName("jo") + public static String field3010; + @ObfuscatedName("lt") + @ObfuscatedSignature( + signature = "Lho;" + ) + static Widget field2767; + + static { + field2793 = "Please visit the support page for assistance."; + field2783 = "Please visit the support page for assistance."; + field3008 = ""; + field3009 = "Page has opened in a new window."; + field3010 = "(Please check your popup blocker.)"; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-552615239" + ) + public static boolean method4079(int var0) { + return var0 >= WorldMapDecorationType.field2704.id && var0 <= WorldMapDecorationType.field2720.id; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "-5" + ) + @Export("isWorldMapEvent") + public static boolean isWorldMapEvent(int var0) { + return var0 == 10 || var0 == 11 || var0 == 12 || var0 == 13 || var0 == 14 || var0 == 15 || var0 == 16 || var0 == 17; + } +} diff --git a/runescape-client/src/main/java/StructDefinition.java b/runescape-client/src/main/java/StructDefinition.java index 3ab209295e..91d66495c2 100644 --- a/runescape-client/src/main/java/StructDefinition.java +++ b/runescape-client/src/main/java/StructDefinition.java @@ -1,154 +1,99 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("iv") -@Implements("StructDefinition") -public class StructDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("StructDefinition_archive") - static AbstractArchive StructDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("StructDefinition_cached") - public static EvictingDualNodeHashTable StructDefinition_cached; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Llj;" - ) - @Export("params") - IterableNodeHashTable params; - - static { - StructDefinition_cached = new EvictingDualNodeHashTable(64); - } - - StructDefinition() { - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "115" - ) - @Export("postDecode") - void postDecode() { - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "583710412" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "-636119543" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 249) { - this.params = FloorOverlayDefinition.readStringIntParameters(var1, this.params); - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-2063775576" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - return class65.method1177(this.params, var1, var2); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "915337596" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; - String var3; - if (var4 == null) { - var3 = var2; - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); - if (var5 == null) { - var3 = var2; - } else { - var3 = (String)var5.obj; - } - } - - return var3; - } - - @ObfuscatedName("jm") - @ObfuscatedSignature( - signature = "(Lbw;ZI)V", - garbageValue = "1941630609" - ) - @Export("closeInterface") - static final void closeInterface(InterfaceParent var0, boolean var1) { - int var2 = var0.group; - int var3 = (int)var0.key; - var0.remove(); - if (var1) { - TileItemPile.method2728(var2); - } - - WorldMapSectionType.method224(var2); - Widget var4 = Player.getWidget(var3); - if (var4 != null) { - WorldMapID.invalidateWidget(var4); - } - - for (int var5 = 0; var5 < Client.menuOptionsCount; ++var5) { - int var7 = Client.menuOpcodes[var5]; - boolean var6 = var7 == 57 || var7 == 58 || var7 == 1007 || var7 == 25 || var7 == 30; - if (var6) { - if (var5 < Client.menuOptionsCount - 1) { - for (int var8 = var5; var8 < Client.menuOptionsCount - 1; ++var8) { - Client.menuActions[var8] = Client.menuActions[var8 + 1]; - Client.menuTargets[var8] = Client.menuTargets[var8 + 1]; - Client.menuOpcodes[var8] = Client.menuOpcodes[var8 + 1]; - Client.menuIdentifiers[var8] = Client.menuIdentifiers[var8 + 1]; - Client.menuArguments1[var8] = Client.menuArguments1[var8 + 1]; - Client.menuArguments2[var8] = Client.menuArguments2[var8 + 1]; - Client.menuShiftClick[var8] = Client.menuShiftClick[var8 + 1]; - } - } - - --var5; - --Client.menuOptionsCount; - } - } - - WorldMapRegion.calculateMenuBounds(); - if (Client.rootInterface != -1) { - WorldMapRectangle.runIntfCloseListeners(Client.rootInterface, 1); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ir") +@Implements("StructDefinition") +public class StructDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("StructDefinition_archive") + public static AbstractArchive StructDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("StructDefinition_cached") + public static EvictingDualNodeHashTable StructDefinition_cached; + @ObfuscatedName("gc") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("headIconPkSprites") + static Sprite[] headIconPkSprites; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Llb;" + ) + @Export("params") + IterableNodeHashTable params; + + static { + StructDefinition_cached = new EvictingDualNodeHashTable(64); + } + + StructDefinition() { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "37" + ) + @Export("postDecode") + void postDecode() { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-593456946" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-464396075" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 249) { + this.params = UserComparator5.readStringIntParameters(var1, this.params); + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-1632755305" + ) + @Export("getIntParam") + public int getIntParam(int var1, int var2) { + return HealthBar.method2030(this.params, var1, var2); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "127947396" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class96.method2259(this.params, var1, var2); + } +} diff --git a/runescape-client/src/main/java/StudioGame.java b/runescape-client/src/main/java/StudioGame.java index e59a974815..bcaacee9bc 100644 --- a/runescape-client/src/main/java/StudioGame.java +++ b/runescape-client/src/main/java/StudioGame.java @@ -1,131 +1,98 @@ -import java.io.IOException; -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("ht") -@Implements("StudioGame") -public enum StudioGame implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lht;" - ) - @Export("runescape") - runescape("runescape", "RuneScape", 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lht;" - ) - @Export("stellardawn") - stellardawn("stellardawn", "Stellar Dawn", 1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lht;" - ) - @Export("game3") - game3("game3", "Game 3", 2), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lht;" - ) - @Export("game4") - game4("game4", "Game 4", 3), - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lht;" - ) - @Export("game5") - game5("game5", "Game 5", 4), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lht;" - ) - @Export("oldscape") - oldscape("oldscape", "RuneScape 2007", 5); - - @ObfuscatedName("j") - @Export("name") - public final String name; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 933814381 - ) - @Export("id") - final int id; - - StudioGame(String var3, String var4, int var5) { - this.name = var3; - this.id = var5; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("t") - @Export("base37DecodeLong") - public static String base37DecodeLong(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { - if (0L == var0 % 37L) { - return null; - } else { - int var2 = 0; - - for (long var3 = var0; 0L != var3; var3 /= 37L) { - ++var2; - } - - StringBuilder var5; - char var8; - for (var5 = new StringBuilder(var2); var0 != 0L; var5.append(var8)) { - long var6 = var0; - var0 /= 37L; - var8 = class288.base37Table[(int)(var6 - var0 * 37L)]; - if (var8 == '_') { - int var9 = var5.length() - 1; - var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); - var8 = 160; - } - } - - var5.reverse(); - var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); - return var5.toString(); - } - } else { - return null; - } - } - - @ObfuscatedName("gc") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-508732522" - ) - static final void method4131(boolean var0) { - ModelData0.playPcmPlayers(); - ++Client.packetWriter.pendingWrites; - if (Client.packetWriter.pendingWrites >= 50 || var0) { - Client.packetWriter.pendingWrites = 0; - if (!Client.field772 && Client.packetWriter.getSocket() != null) { - PacketBufferNode var1 = MenuAction.getPacketBufferNode(ClientPacket.field2185, Client.packetWriter.isaacCipher); - Client.packetWriter.addNode(var1); - - try { - Client.packetWriter.flush(); - } catch (IOException var3) { - Client.field772 = true; - } - } - - } - } -} +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("ha") +@Implements("StudioGame") +public enum StudioGame implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lha;" + ) + @Export("runescape") + runescape("runescape", "RuneScape", 0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lha;" + ) + @Export("stellardawn") + stellardawn("stellardawn", "Stellar Dawn", 1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lha;" + ) + @Export("game3") + game3("game3", "Game 3", 2), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lha;" + ) + @Export("game4") + game4("game4", "Game 4", 3), + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lha;" + ) + @Export("game5") + game5("game5", "Game 5", 4), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lha;" + ) + @Export("oldscape") + oldscape("oldscape", "RuneScape 2007", 5); + + @ObfuscatedName("sy") + @ObfuscatedSignature( + signature = "Lib;" + ) + public static class237 field3086; + @ObfuscatedName("q") + @Export("name") + public final String name; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 275633543 + ) + @Export("id") + final int id; + + StudioGame(String var3, String var4, int var5) { + this.name = var3; + this.id = var5; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)Lig;", + garbageValue = "-61677673" + ) + @Export("getInvDefinition") + public static InvDefinition getInvDefinition(int var0) { + InvDefinition var1 = (InvDefinition)InvDefinition.InvDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = InvDefinition.InvDefinition_archive.takeFile(5, var0); + var1 = new InvDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + InvDefinition.InvDefinition_cached.put(var1, (long)var0); + return var1; + } + } +} diff --git a/runescape-client/src/main/java/Task.java b/runescape-client/src/main/java/Task.java index 108cb3d1c0..b6686fd114 100644 --- a/runescape-client/src/main/java/Task.java +++ b/runescape-client/src/main/java/Task.java @@ -1,38 +1,38 @@ -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("fc") -@Implements("Task") -public class Task { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfc;" - ) - @Export("next") - Task next; - @ObfuscatedName("l") - @Export("status") - public volatile int status; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -2110229229 - ) - @Export("type") - int type; - @ObfuscatedName("j") - @Export("intArgument") - public int intArgument; - @ObfuscatedName("v") - @Export("objectArgument") - Object objectArgument; - @ObfuscatedName("d") - @Export("result") - public volatile Object result; - - Task() { - this.status = 0; - } -} +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("fv") +@Implements("Task") +public class Task { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lfv;" + ) + @Export("next") + Task next; + @ObfuscatedName("r") + @Export("status") + public volatile int status; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1191522307 + ) + @Export("type") + int type; + @ObfuscatedName("q") + @Export("intArgument") + public int intArgument; + @ObfuscatedName("m") + @Export("objectArgument") + Object objectArgument; + @ObfuscatedName("y") + @Export("result") + public volatile Object result; + + Task() { + this.status = 0; + } +} diff --git a/runescape-client/src/main/java/TaskHandler.java b/runescape-client/src/main/java/TaskHandler.java index c2d521f2c7..f22b916f38 100644 --- a/runescape-client/src/main/java/TaskHandler.java +++ b/runescape-client/src/main/java/TaskHandler.java @@ -1,261 +1,184 @@ -import java.io.DataInputStream; -import java.net.InetAddress; -import java.net.Socket; -import java.net.URL; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fq") -@Implements("TaskHandler") -public class TaskHandler implements Runnable { - @ObfuscatedName("c") - @Export("javaVendor") - public static String javaVendor; - @ObfuscatedName("x") - @Export("javaVersion") - public static String javaVersion; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lfc;" - ) - @Export("current") - Task current; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lfc;" - ) - @Export("task") - Task task; - @ObfuscatedName("l") - @Export("thread") - Thread thread; - @ObfuscatedName("u") - @Export("isClosed") - boolean isClosed; - - public TaskHandler() { - this.current = null; - this.task = null; - this.isClosed = false; - javaVendor = "Unknown"; - javaVersion = "1.6"; - - try { - javaVendor = System.getProperty("java.vendor"); - javaVersion = System.getProperty("java.version"); - } catch (Exception var2) { - } - - this.isClosed = false; - this.thread = new Thread(this); - this.thread.setPriority(10); - this.thread.setDaemon(true); - this.thread.start(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-72" - ) - @Export("close") - public final void close() { - synchronized(this) { - this.isClosed = true; - this.notifyAll(); - } - - try { - this.thread.join(); - } catch (InterruptedException var3) { - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIILjava/lang/Object;I)Lfc;", - garbageValue = "-1315009014" - ) - @Export("newTask") - final Task newTask(int var1, int var2, int var3, Object var4) { - Task var5 = new Task(); - var5.type = var1; - var5.intArgument = var2; - var5.objectArgument = var4; - synchronized(this) { - if (this.task != null) { - this.task.next = var5; - this.task = var5; - } else { - this.task = this.current = var5; - } - - this.notify(); - return var5; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;IS)Lfc;", - garbageValue = "-16284" - ) - @Export("newSocketTask") - public final Task newSocketTask(String var1, int var2) { - return this.newTask(1, var2, 0, var1); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Ljava/lang/Runnable;II)Lfc;", - garbageValue = "-1670540626" - ) - @Export("newThreadTask") - public final Task newThreadTask(Runnable var1, int var2) { - return this.newTask(2, var2, 0, var1); - } - - public final void run() { - while (true) { - Task var1; - synchronized(this) { - while (true) { - if (this.isClosed) { - return; - } - - if (this.current != null) { - var1 = this.current; - this.current = this.current.next; - if (this.current == null) { - this.task = null; - } - break; - } - - try { - this.wait(); - } catch (InterruptedException var8) { - } - } - } - - try { - int var5 = var1.type; - if (var5 == 1) { - var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument); - } else if (var5 == 2) { - Thread var3 = new Thread((Runnable)var1.objectArgument); - var3.setDaemon(true); - var3.start(); - var3.setPriority(var1.intArgument); - var1.result = var3; - } else if (var5 == 4) { - var1.result = new DataInputStream(((URL)var1.objectArgument).openStream()); - } - - var1.status = 1; - } catch (ThreadDeath var6) { - throw var6; - } catch (Throwable var7) { - var1.status = 2; - } - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lll;I)I", - garbageValue = "-428557907" - ) - public static final int method3464(LoginType var0) { - if (var0 == null) { - return 12; - } else { - switch(var0.field4033) { - case 7: - return 20; - default: - return 12; - } - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1906197616" - ) - @Export("loadInterface") - public static boolean loadInterface(int var0) { - if (UserComparator3.Widget_loadedInterfaces[var0]) { - return true; - } else if (!ArchiveDiskActionHandler.Widget_archive.tryLoadGroup(var0)) { - return false; - } else { - int var1 = ArchiveDiskActionHandler.Widget_archive.getGroupFileCount(var0); - if (var1 == 0) { - UserComparator3.Widget_loadedInterfaces[var0] = true; - return true; - } else { - if (class289.Widget_interfaceComponents[var0] == null) { - class289.Widget_interfaceComponents[var0] = new Widget[var1]; - } - - for (int var2 = 0; var2 < var1; ++var2) { - if (class289.Widget_interfaceComponents[var0][var2] == null) { - byte[] var3 = ArchiveDiskActionHandler.Widget_archive.takeFile(var0, var2); - if (var3 != null) { - class289.Widget_interfaceComponents[var0][var2] = new Widget(); - class289.Widget_interfaceComponents[var0][var2].id = var2 + (var0 << 16); - if (var3[0] == -1) { - class289.Widget_interfaceComponents[var0][var2].decode(new Buffer(var3)); - } else { - class289.Widget_interfaceComponents[var0][var2].decodeLegacy(new Buffer(var3)); - } - } - } - } - - UserComparator3.Widget_loadedInterfaces[var0] = true; - return true; - } - } - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "([BI)[B", - garbageValue = "1618033265" - ) - @Export("decompressBytes") - static final byte[] decompressBytes(byte[] var0) { - Buffer var1 = new Buffer(var0); - int var2 = var1.readUnsignedByte(); - int var3 = var1.readInt(); - if (var3 < 0 || AbstractArchive.field3120 != 0 && var3 > AbstractArchive.field3120) { - throw new RuntimeException(); - } else if (var2 == 0) { - byte[] var4 = new byte[var3]; - var1.readBytes(var4, 0, var3); - return var4; - } else { - int var6 = var1.readInt(); - if (var6 >= 0 && (AbstractArchive.field3120 == 0 || var6 <= AbstractArchive.field3120)) { - byte[] var5 = new byte[var6]; - if (var2 == 1) { - BZip2Decompressor.BZip2Decompressor_decompress(var5, var6, var0, var3, 9); - } else { - AbstractArchive.gzipDecompressor.decompress(var1, var5); - } - - return var5; - } else { - throw new RuntimeException(); - } - } - } -} +import java.io.DataInputStream; +import java.net.InetAddress; +import java.net.Socket; +import java.net.URL; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fm") +@Implements("TaskHandler") +public class TaskHandler implements Runnable { + @ObfuscatedName("z") + @Export("javaVendor") + public static String javaVendor; + @ObfuscatedName("n") + @Export("javaVersion") + public static String javaVersion; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("Widget_modelsArchive") + static AbstractArchive Widget_modelsArchive; + @ObfuscatedName("ah") + @Export("hasFocus") + protected static boolean hasFocus; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lfv;" + ) + @Export("current") + Task current; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lfv;" + ) + @Export("task") + Task task; + @ObfuscatedName("r") + @Export("thread") + Thread thread; + @ObfuscatedName("p") + @Export("isClosed") + boolean isClosed; + + public TaskHandler() { + this.current = null; + this.task = null; + this.isClosed = false; + javaVendor = "Unknown"; + javaVersion = "1.6"; + + try { + javaVendor = System.getProperty("java.vendor"); + javaVersion = System.getProperty("java.version"); + } catch (Exception var2) { + } + + this.isClosed = false; + this.thread = new Thread(this); + this.thread.setPriority(10); + this.thread.setDaemon(true); + this.thread.start(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1673059069" + ) + @Export("close") + public final void close() { + synchronized(this) { + this.isClosed = true; + this.notifyAll(); + } + + try { + this.thread.join(); + } catch (InterruptedException var3) { + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIILjava/lang/Object;S)Lfv;", + garbageValue = "255" + ) + @Export("newTask") + final Task newTask(int var1, int var2, int var3, Object var4) { + Task var5 = new Task(); + var5.type = var1; + var5.intArgument = var2; + var5.objectArgument = var4; + synchronized(this) { + if (this.task != null) { + this.task.next = var5; + this.task = var5; + } else { + this.task = this.current = var5; + } + + this.notify(); + return var5; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;II)Lfv;", + garbageValue = "2091612218" + ) + @Export("newSocketTask") + public final Task newSocketTask(String var1, int var2) { + return this.newTask(1, var2, 0, var1); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Ljava/lang/Runnable;II)Lfv;", + garbageValue = "-1627707278" + ) + @Export("newThreadTask") + public final Task newThreadTask(Runnable var1, int var2) { + return this.newTask(2, var2, 0, var1); + } + + public final void run() { + while (true) { + Task var1; + synchronized(this) { + while (true) { + if (this.isClosed) { + return; + } + + if (this.current != null) { + var1 = this.current; + this.current = this.current.next; + if (this.current == null) { + this.task = null; + } + break; + } + + try { + this.wait(); + } catch (InterruptedException var8) { + } + } + } + + try { + int var5 = var1.type; + if (var5 == 1) { + var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument); + } else if (var5 == 2) { + Thread var3 = new Thread((Runnable)var1.objectArgument); + var3.setDaemon(true); + var3.start(); + var3.setPriority(var1.intArgument); + var1.result = var3; + } else if (var5 == 4) { + var1.result = new DataInputStream(((URL)var1.objectArgument).openStream()); + } + + var1.status = 1; + } catch (ThreadDeath var6) { + throw var6; + } catch (Throwable var7) { + var1.status = 2; + } + } + } + + @ObfuscatedName("z") + static double method3425(double var0, double var2, double var4) { + double var8 = (var0 - var2) / var4; + double var6 = Math.exp(-var8 * var8 / 2.0D) / Math.sqrt(6.283185307179586D); + return var6 / var4; + } +} diff --git a/runescape-client/src/main/java/Texture.java b/runescape-client/src/main/java/Texture.java index 62c62260ef..ed78d20023 100644 --- a/runescape-client/src/main/java/Texture.java +++ b/runescape-client/src/main/java/Texture.java @@ -1,276 +1,290 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("du") -@Implements("Texture") -public class Texture extends Node { - @ObfuscatedName("p") - @Export("Texture_animatedPixels") - static int[] Texture_animatedPixels; - @ObfuscatedName("l") - @Export("averageRGB") - int averageRGB; - @ObfuscatedName("u") - boolean field1590; - @ObfuscatedName("j") - @Export("fileIds") - int[] fileIds; - @ObfuscatedName("v") - int[] field1594; - @ObfuscatedName("d") - int[] field1592; - @ObfuscatedName("z") - int[] field1600; - @ObfuscatedName("n") - @Export("animationDirection") - int animationDirection; - @ObfuscatedName("h") - @Export("animationSpeed") - int animationSpeed; - @ObfuscatedName("f") - @Export("pixels") - int[] pixels; - @ObfuscatedName("s") - @Export("isLoaded") - boolean isLoaded; - - @ObfuscatedSignature( - signature = "(Lkz;)V" - ) - Texture(Buffer var1) { - this.isLoaded = false; - this.averageRGB = var1.readUnsignedShort(); - this.field1590 = var1.readUnsignedByte() == 1; - int var2 = var1.readUnsignedByte(); - if (var2 >= 1 && var2 <= 4) { - this.fileIds = new int[var2]; - - int var3; - for (var3 = 0; var3 < var2; ++var3) { - this.fileIds[var3] = var1.readUnsignedShort(); - } - - if (var2 > 1) { - this.field1594 = new int[var2 - 1]; - - for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field1594[var3] = var1.readUnsignedByte(); - } - } - - if (var2 > 1) { - this.field1592 = new int[var2 - 1]; - - for (var3 = 0; var3 < var2 - 1; ++var3) { - this.field1592[var3] = var1.readUnsignedByte(); - } - } - - this.field1600 = new int[var2]; - - for (var3 = 0; var3 < var2; ++var3) { - this.field1600[var3] = var1.readInt(); - } - - this.animationDirection = var1.readUnsignedByte(); - this.animationSpeed = var1.readUnsignedByte(); - this.pixels = null; - } else { - throw new RuntimeException(); - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(DILhz;)Z" - ) - @Export("load") - boolean load(double var1, int var3, AbstractArchive var4) { - int var5; - for (var5 = 0; var5 < this.fileIds.length; ++var5) { - if (var4.getFileFlat(this.fileIds[var5]) == null) { - return false; - } - } - - var5 = var3 * var3; - this.pixels = new int[var5]; - - for (int var6 = 0; var6 < this.fileIds.length; ++var6) { - int var8 = this.fileIds[var6]; - IndexedSprite var7; - if (!PlayerType.SpriteBuffer_bufferFileFlat(var4, var8)) { - var7 = null; - } else { - IndexedSprite var10 = new IndexedSprite(); - var10.width = class325.SpriteBuffer_spriteWidth; - var10.height = class325.SpriteBuffer_spriteHeight; - var10.xOffset = class325.SpriteBuffer_xOffsets[0]; - var10.yOffset = SecureRandomCallable.SpriteBuffer_yOffsets[0]; - var10.subWidth = class325.SpriteBuffer_spriteWidths[0]; - var10.subHeight = SoundSystem.SpriteBuffer_spriteHeights[0]; - var10.palette = class325.SpriteBuffer_spritePalette; - var10.pixels = InvDefinition.SpriteBuffer_pixels[0]; - class192.SpriteBuffer_clear(); - var7 = var10; - } - - var7.normalize(); - byte[] var17 = var7.pixels; - int[] var11 = var7.palette; - int var12 = this.field1600[var6]; - if ((var12 & -16777216) == 16777216) { - } - - if ((var12 & -16777216) == 33554432) { - } - - int var13; - int var14; - int var15; - int var16; - if ((var12 & -16777216) == 50331648) { - var13 = var12 & 16711935; - var14 = var12 >> 8 & 255; - - for (var15 = 0; var15 < var11.length; ++var15) { - var16 = var11[var15]; - if (var16 >> 8 == (var16 & 65535)) { - var16 &= 255; - var11[var15] = var13 * var16 >> 8 & 16711935 | var14 * var16 & 65280; - } - } - } - - for (var13 = 0; var13 < var11.length; ++var13) { - var11[var13] = Rasterizer3D.Rasterizer3D_brighten(var11[var13], var1); - } - - if (var6 == 0) { - var13 = 0; - } else { - var13 = this.field1594[var6 - 1]; - } - - if (var13 == 0) { - if (var3 == var7.subWidth) { - for (var14 = 0; var14 < var5; ++var14) { - this.pixels[var14] = var11[var17[var14] & 255]; - } - } else if (var7.subWidth == 64 && var3 == 128) { - var14 = 0; - - for (var15 = 0; var15 < var3; ++var15) { - for (var16 = 0; var16 < var3; ++var16) { - this.pixels[var14++] = var11[var17[(var15 >> 1 << 6) + (var16 >> 1)] & 255]; - } - } - } else { - if (var7.subWidth != 128 || var3 != 64) { - throw new RuntimeException(); - } - - var14 = 0; - - for (var15 = 0; var15 < var3; ++var15) { - for (var16 = 0; var16 < var3; ++var16) { - this.pixels[var14++] = var11[var17[(var16 << 1) + (var15 << 1 << 7)] & 255]; - } - } - } - } - - if (var13 == 1) { - } - - if (var13 == 2) { - } - - if (var13 == 3) { - } - } - - return true; - } - - @ObfuscatedName("x") - @Export("reset") - void reset() { - this.pixels = null; - } - - @ObfuscatedName("t") - @Export("animate") - void animate(int var1) { - if (this.pixels != null) { - short var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int[] var10; - if (this.animationDirection == 1 || this.animationDirection == 3) { - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { - Texture_animatedPixels = new int[this.pixels.length]; - } - - if (this.pixels.length == 4096) { - var2 = 64; - } else { - var2 = 128; - } - - var3 = this.pixels.length; - var4 = var2 * this.animationSpeed * var1; - var5 = var3 - 1; - if (this.animationDirection == 1) { - var4 = -var4; - } - - for (var6 = 0; var6 < var3; ++var6) { - var7 = var6 + var4 & var5; - Texture_animatedPixels[var6] = this.pixels[var7]; - } - - var10 = this.pixels; - this.pixels = Texture_animatedPixels; - Texture_animatedPixels = var10; - } - - if (this.animationDirection == 2 || this.animationDirection == 4) { - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { - Texture_animatedPixels = new int[this.pixels.length]; - } - - if (this.pixels.length == 4096) { - var2 = 64; - } else { - var2 = 128; - } - - var3 = this.pixels.length; - var4 = this.animationSpeed * var1; - var5 = var2 - 1; - if (this.animationDirection == 2) { - var4 = -var4; - } - - for (var6 = 0; var6 < var3; var6 += var2) { - for (var7 = 0; var7 < var2; ++var7) { - int var8 = var6 + var7; - int var9 = var6 + (var7 + var4 & var5); - Texture_animatedPixels[var8] = this.pixels[var9]; - } - } - - var10 = this.pixels; - this.pixels = Texture_animatedPixels; - Texture_animatedPixels = var10; - } - - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dg") +@Implements("Texture") +public class Texture extends Node { + @ObfuscatedName("e") + @Export("Texture_animatedPixels") + static int[] Texture_animatedPixels; + @ObfuscatedName("r") + @Export("averageRGB") + int averageRGB; + @ObfuscatedName("p") + boolean field1587; + @ObfuscatedName("q") + @Export("fileIds") + int[] fileIds; + @ObfuscatedName("m") + int[] field1589; + @ObfuscatedName("y") + int[] field1585; + @ObfuscatedName("i") + int[] field1591; + @ObfuscatedName("c") + @Export("animationDirection") + int animationDirection; + @ObfuscatedName("b") + @Export("animationSpeed") + int animationSpeed; + @ObfuscatedName("o") + @Export("pixels") + int[] pixels; + @ObfuscatedName("a") + @Export("isLoaded") + boolean isLoaded; + + @ObfuscatedSignature( + signature = "(Lkl;)V" + ) + Texture(Buffer var1) { + this.isLoaded = false; + this.averageRGB = var1.readUnsignedShort(); + this.field1587 = var1.readUnsignedByte() == 1; + int var2 = var1.readUnsignedByte(); + if (var2 >= 1 && var2 <= 4) { + this.fileIds = new int[var2]; + + int var3; + for (var3 = 0; var3 < var2; ++var3) { + this.fileIds[var3] = var1.readUnsignedShort(); + } + + if (var2 > 1) { + this.field1589 = new int[var2 - 1]; + + for (var3 = 0; var3 < var2 - 1; ++var3) { + this.field1589[var3] = var1.readUnsignedByte(); + } + } + + if (var2 > 1) { + this.field1585 = new int[var2 - 1]; + + for (var3 = 0; var3 < var2 - 1; ++var3) { + this.field1585[var3] = var1.readUnsignedByte(); + } + } + + this.field1591 = new int[var2]; + + for (var3 = 0; var3 < var2; ++var3) { + this.field1591[var3] = var1.readInt(); + } + + this.animationDirection = var1.readUnsignedByte(); + this.animationSpeed = var1.readUnsignedByte(); + this.pixels = null; + } else { + throw new RuntimeException(); + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(DILhp;)Z" + ) + @Export("load") + boolean load(double var1, int var3, AbstractArchive var4) { + int var5; + for (var5 = 0; var5 < this.fileIds.length; ++var5) { + if (var4.getFileFlat(this.fileIds[var5]) == null) { + return false; + } + } + + var5 = var3 * var3; + this.pixels = new int[var5]; + + for (int var6 = 0; var6 < this.fileIds.length; ++var6) { + int var8 = this.fileIds[var6]; + byte[] var10 = var4.takeFileFlat(var8); + boolean var9; + if (var10 == null) { + var9 = false; + } else { + Tiles.SpriteBuffer_decode(var10); + var9 = true; + } + + IndexedSprite var7; + if (!var9) { + var7 = null; + } else { + IndexedSprite var11 = new IndexedSprite(); + var11.width = class325.SpriteBuffer_spriteWidth; + var11.height = Frames.SpriteBuffer_spriteHeight; + var11.xOffset = class325.SpriteBuffer_xOffsets[0]; + var11.yOffset = MusicPatchPcmStream.SpriteBuffer_yOffsets[0]; + var11.subWidth = class325.SpriteBuffer_spriteWidths[0]; + var11.subHeight = RunException.SpriteBuffer_spriteHeights[0]; + var11.palette = class325.SpriteBuffer_spritePalette; + var11.pixels = PacketBufferNode.SpriteBuffer_pixels[0]; + class325.SpriteBuffer_xOffsets = null; + MusicPatchPcmStream.SpriteBuffer_yOffsets = null; + class325.SpriteBuffer_spriteWidths = null; + RunException.SpriteBuffer_spriteHeights = null; + class325.SpriteBuffer_spritePalette = null; + PacketBufferNode.SpriteBuffer_pixels = null; + var7 = var11; + } + + var7.normalize(); + var10 = var7.pixels; + int[] var18 = var7.palette; + int var12 = this.field1591[var6]; + if ((var12 & -16777216) == 16777216) { + } + + if ((var12 & -16777216) == 33554432) { + } + + int var13; + int var14; + int var15; + int var16; + if ((var12 & -16777216) == 50331648) { + var13 = var12 & 16711935; + var14 = var12 >> 8 & 255; + + for (var15 = 0; var15 < var18.length; ++var15) { + var16 = var18[var15]; + if (var16 >> 8 == (var16 & 65535)) { + var16 &= 255; + var18[var15] = var13 * var16 >> 8 & 16711935 | var14 * var16 & 65280; + } + } + } + + for (var13 = 0; var13 < var18.length; ++var13) { + var18[var13] = Rasterizer3D.Rasterizer3D_brighten(var18[var13], var1); + } + + if (var6 == 0) { + var13 = 0; + } else { + var13 = this.field1589[var6 - 1]; + } + + if (var13 == 0) { + if (var3 == var7.subWidth) { + for (var14 = 0; var14 < var5; ++var14) { + this.pixels[var14] = var18[var10[var14] & 255]; + } + } else if (var7.subWidth == 64 && var3 == 128) { + var14 = 0; + + for (var15 = 0; var15 < var3; ++var15) { + for (var16 = 0; var16 < var3; ++var16) { + this.pixels[var14++] = var18[var10[(var15 >> 1 << 6) + (var16 >> 1)] & 255]; + } + } + } else { + if (var7.subWidth != 128 || var3 != 64) { + throw new RuntimeException(); + } + + var14 = 0; + + for (var15 = 0; var15 < var3; ++var15) { + for (var16 = 0; var16 < var3; ++var16) { + this.pixels[var14++] = var18[var10[(var16 << 1) + (var15 << 1 << 7)] & 255]; + } + } + } + } + + if (var13 == 1) { + } + + if (var13 == 2) { + } + + if (var13 == 3) { + } + } + + return true; + } + + @ObfuscatedName("n") + @Export("reset") + void reset() { + this.pixels = null; + } + + @ObfuscatedName("v") + @Export("animate") + void animate(int var1) { + if (this.pixels != null) { + short var2; + int var3; + int var4; + int var5; + int var6; + int var7; + int[] var10; + if (this.animationDirection == 1 || this.animationDirection == 3) { + if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { + Texture_animatedPixels = new int[this.pixels.length]; + } + + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } + + var3 = this.pixels.length; + var4 = var2 * this.animationSpeed * var1; + var5 = var3 - 1; + if (this.animationDirection == 1) { + var4 = -var4; + } + + for (var6 = 0; var6 < var3; ++var6) { + var7 = var6 + var4 & var5; + Texture_animatedPixels[var6] = this.pixels[var7]; + } + + var10 = this.pixels; + this.pixels = Texture_animatedPixels; + Texture_animatedPixels = var10; + } + + if (this.animationDirection == 2 || this.animationDirection == 4) { + if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { + Texture_animatedPixels = new int[this.pixels.length]; + } + + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } + + var3 = this.pixels.length; + var4 = this.animationSpeed * var1; + var5 = var2 - 1; + if (this.animationDirection == 2) { + var4 = -var4; + } + + for (var6 = 0; var6 < var3; var6 += var2) { + for (var7 = 0; var7 < var2; ++var7) { + int var8 = var6 + var7; + int var9 = var6 + (var7 + var4 & var5); + Texture_animatedPixels[var8] = this.pixels[var9]; + } + } + + var10 = this.pixels; + this.pixels = Texture_animatedPixels; + Texture_animatedPixels = var10; + } + + } + } +} diff --git a/runescape-client/src/main/java/TextureLoader.java b/runescape-client/src/main/java/TextureLoader.java index b145435aa4..8e00fc6059 100644 --- a/runescape-client/src/main/java/TextureLoader.java +++ b/runescape-client/src/main/java/TextureLoader.java @@ -1,39 +1,39 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("eg") -@Implements("TextureLoader") -public interface TextureLoader { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)[I", - garbageValue = "-1189972175" - ) - @Export("getTexturePixels") - int[] getTexturePixels(int var1); - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "168409140" - ) - @Export("getAverageTextureRGB") - int getAverageTextureRGB(int var1); - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1740870730" - ) - boolean vmethod3240(int var1); - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1205212261" - ) - @Export("isLowDetail") - boolean isLowDetail(int var1); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ei") +@Implements("TextureLoader") +public interface TextureLoader { + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IB)[I", + garbageValue = "2" + ) + @Export("getTexturePixels") + int[] getTexturePixels(int var1); + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1942090144" + ) + @Export("getAverageTextureRGB") + int getAverageTextureRGB(int var1); + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1238853491" + ) + boolean vmethod3232(int var1); + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-818075958" + ) + @Export("isLowDetail") + boolean isLowDetail(int var1); +} diff --git a/runescape-client/src/main/java/TextureProvider.java b/runescape-client/src/main/java/TextureProvider.java index 14e60b4ef7..213550775a 100644 --- a/runescape-client/src/main/java/TextureProvider.java +++ b/runescape-client/src/main/java/TextureProvider.java @@ -1,242 +1,268 @@ -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("dt") -@Implements("TextureProvider") -public class TextureProvider implements TextureLoader { - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1924995775 - ) - @Export("Interpreter_stringStackSize") - static int Interpreter_stringStackSize; - @ObfuscatedName("dx") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive13") - static Archive archive13; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "[Ldu;" - ) - @Export("textures") - Texture[] textures; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ljv;" - ) - @Export("deque") - NodeDeque deque; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1017571935 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1253604875 - ) - @Export("remaining") - int remaining; - @ObfuscatedName("l") - @Export("brightness") - double brightness; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -407607489 - ) - @Export("textureSize") - int textureSize; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("archive") - AbstractArchive archive; - - @ObfuscatedSignature( - signature = "(Lhz;Lhz;IDI)V" - ) - public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) { - this.deque = new NodeDeque(); - this.remaining = 0; - this.brightness = 1.0D; - this.textureSize = 128; - this.archive = var2; - this.capacity = var3; - this.remaining = this.capacity; - this.brightness = var4; - this.textureSize = var6; - int[] var7 = var1.getGroupFileIds(0); - int var8 = var7.length; - this.textures = new Texture[var1.getGroupFileCount(0)]; - - for (int var9 = 0; var9 < var8; ++var9) { - Buffer var10 = new Buffer(var1.takeFile(0, var7[var9])); - this.textures[var7[var9]] = new Texture(var10); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "0" - ) - @Export("getLoadedPercentage") - public int getLoadedPercentage() { - int var1 = 0; - int var2 = 0; - Texture[] var3 = this.textures; - - for (int var4 = 0; var4 < var3.length; ++var4) { - Texture var5 = var3[var4]; - if (var5 != null && var5.fileIds != null) { - var1 += var5.fileIds.length; - int[] var6 = var5.fileIds; - - for (int var7 = 0; var7 < var6.length; ++var7) { - int var8 = var6[var7]; - if (this.archive.method4142(var8)) { - ++var2; - } - } - } - } - - if (var1 == 0) { - return 0; - } else { - return var2 * 100 / var1; - } - } - - @ObfuscatedName("x") - @Export("setBrightness") - public void setBrightness(double var1) { - this.brightness = var1; - this.clear(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)[I", - garbageValue = "-1189972175" - ) - @Export("getTexturePixels") - public int[] getTexturePixels(int var1) { - Texture var2 = this.textures[var1]; - if (var2 != null) { - if (var2.pixels != null) { - this.deque.addLast(var2); - var2.isLoaded = true; - return var2.pixels; - } - - boolean var3 = var2.load(this.brightness, this.textureSize, this.archive); - if (var3) { - if (this.remaining == 0) { - Texture var4 = (Texture)this.deque.removeFirst(); - var4.reset(); - } else { - --this.remaining; - } - - this.deque.addLast(var2); - var2.isLoaded = true; - return var2.pixels; - } - } - - return null; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "168409140" - ) - @Export("getAverageTextureRGB") - public int getAverageTextureRGB(int var1) { - return this.textures[var1] != null ? this.textures[var1].averageRGB : 0; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1740870730" - ) - public boolean vmethod3240(int var1) { - return this.textures[var1].field1590; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-1205212261" - ) - @Export("isLowDetail") - public boolean isLowDetail(int var1) { - return this.textureSize == 64; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.textures.length; ++var1) { - if (this.textures[var1] != null) { - this.textures[var1].reset(); - } - } - - this.deque = new NodeDeque(); - this.remaining = this.capacity; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IS)V", - garbageValue = "-1153" - ) - @Export("animate") - public void animate(int var1) { - for (int var2 = 0; var2 < this.textures.length; ++var2) { - Texture var3 = this.textures[var2]; - if (var3 != null && var3.animationDirection != 0 && var3.isLoaded) { - var3.animate(var1); - var3.isLoaded = false; - } - } - - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", - garbageValue = "969491526" - ) - public static String method2727(CharSequence var0) { - return HealthBarDefinition.method4481('*', var0.length()); - } - - @ObfuscatedName("ig") - @ObfuscatedSignature( - signature = "(IIIIIIII)V", - garbageValue = "-1345116753" - ) - @Export("updateRootInterface") - static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (TaskHandler.loadInterface(var0)) { - Tiles.updateInterface(class289.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); - } - } -} +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("dz") +@Implements("TextureProvider") +public class TextureProvider implements TextureLoader { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "[Ldg;" + ) + @Export("textures") + Texture[] textures; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljv;" + ) + @Export("deque") + NodeDeque deque; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 707785193 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -55735149 + ) + @Export("remaining") + int remaining; + @ObfuscatedName("r") + @Export("brightness") + double brightness; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 678440487 + ) + @Export("textureSize") + int textureSize; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("archive") + AbstractArchive archive; + + @ObfuscatedSignature( + signature = "(Lhp;Lhp;IDI)V" + ) + public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) { + this.deque = new NodeDeque(); + this.remaining = 0; + this.brightness = 1.0D; + this.textureSize = 128; + this.archive = var2; + this.capacity = var3; + this.remaining = this.capacity; + this.brightness = var4; + this.textureSize = var6; + int[] var7 = var1.getGroupFileIds(0); + int var8 = var7.length; + this.textures = new Texture[var1.getGroupFileCount(0)]; + + for (int var9 = 0; var9 < var8; ++var9) { + Buffer var10 = new Buffer(var1.takeFile(0, var7[var9])); + this.textures[var7[var9]] = new Texture(var10); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-2135448801" + ) + @Export("getLoadedPercentage") + public int getLoadedPercentage() { + int var1 = 0; + int var2 = 0; + Texture[] var3 = this.textures; + + for (int var4 = 0; var4 < var3.length; ++var4) { + Texture var5 = var3[var4]; + if (var5 != null && var5.fileIds != null) { + var1 += var5.fileIds.length; + int[] var6 = var5.fileIds; + + for (int var7 = 0; var7 < var6.length; ++var7) { + int var8 = var6[var7]; + if (this.archive.method4115(var8)) { + ++var2; + } + } + } + } + + if (var1 == 0) { + return 0; + } else { + return var2 * 100 / var1; + } + } + + @ObfuscatedName("n") + @Export("setBrightness") + public void setBrightness(double var1) { + this.brightness = var1; + this.clear(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IB)[I", + garbageValue = "2" + ) + @Export("getTexturePixels") + public int[] getTexturePixels(int var1) { + Texture var2 = this.textures[var1]; + if (var2 != null) { + if (var2.pixels != null) { + this.deque.addLast(var2); + var2.isLoaded = true; + return var2.pixels; + } + + boolean var3 = var2.load(this.brightness, this.textureSize, this.archive); + if (var3) { + if (this.remaining == 0) { + Texture var4 = (Texture)this.deque.removeFirst(); + var4.reset(); + } else { + --this.remaining; + } + + this.deque.addLast(var2); + var2.isLoaded = true; + return var2.pixels; + } + } + + return null; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "1942090144" + ) + @Export("getAverageTextureRGB") + public int getAverageTextureRGB(int var1) { + return this.textures[var1] != null ? this.textures[var1].averageRGB : 0; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1238853491" + ) + public boolean vmethod3232(int var1) { + return this.textures[var1].field1587; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "-818075958" + ) + @Export("isLowDetail") + public boolean isLowDetail(int var1) { + return this.textureSize == 64; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "170454088" + ) + @Export("clear") + public void clear() { + for (int var1 = 0; var1 < this.textures.length; ++var1) { + if (this.textures[var1] != null) { + this.textures[var1].reset(); + } + } + + this.deque = new NodeDeque(); + this.remaining = this.capacity; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "60" + ) + @Export("animate") + public void animate(int var1) { + for (int var2 = 0; var2 < this.textures.length; ++var2) { + Texture var3 = this.textures[var2]; + if (var3 != null && var3.animationDirection != 0 && var3.isLoaded) { + var3.animate(var1); + var3.isLoaded = false; + } + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1068033058" + ) + static void method2753() { + Tiles.Tiles_minPlane = 99; + Tiles.field501 = new byte[4][104][104]; + Tiles.field483 = new byte[4][104][104]; + DevicePcmPlayerProvider.field393 = new byte[4][104][104]; + class287.field3634 = new byte[4][104][104]; + Tiles.field488 = new int[4][105][105]; + Tiles.field486 = new byte[4][105][105]; + DevicePcmPlayerProvider.field386 = new int[105][105]; + Tiles.Tiles_hue = new int[104]; + ArchiveLoader.Tiles_saturation = new int[104]; + Tiles.Tiles_lightness = new int[104]; + FontName.Tiles_hueMultiplier = new int[104]; + Tiles.field487 = new int[104]; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)Ljava/lang/Class;", + garbageValue = "-14" + ) + @Export("loadClassFromDescriptor") + static Class loadClassFromDescriptor(String var0) throws ClassNotFoundException { + if (var0.equals("B")) { + return Byte.TYPE; + } else if (var0.equals("I")) { + return Integer.TYPE; + } else if (var0.equals("S")) { + return Short.TYPE; + } else if (var0.equals("J")) { + return Long.TYPE; + } else if (var0.equals("Z")) { + return Boolean.TYPE; + } else if (var0.equals("F")) { + return Float.TYPE; + } else if (var0.equals("D")) { + return Double.TYPE; + } else if (var0.equals("C")) { + return Character.TYPE; + } else { + return var0.equals("void") ? Void.TYPE : Reflection.findClass(var0); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-114" + ) + public static void method2742() { + ParamDefinition.ParamDefinition_cached.clear(); + } +} diff --git a/runescape-client/src/main/java/Tile.java b/runescape-client/src/main/java/Tile.java index a95177d793..174345a3a3 100644 --- a/runescape-client/src/main/java/Tile.java +++ b/runescape-client/src/main/java/Tile.java @@ -1,491 +1,167 @@ -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("dq") -@Implements("Tile") -public final class Tile extends Node { - @ObfuscatedName("ha") - @ObfuscatedGetter( - intValue = -1915591411 - ) - @Export("cameraYaw") - static int cameraYaw; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 255690453 - ) - @Export("plane") - int plane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1658035031 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 518252243 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 2024380867 - ) - @Export("originalPlane") - int originalPlane; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lec;" - ) - @Export("paint") - TilePaint paint; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Ldv;" - ) - @Export("model") - TileModel model; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lea;" - ) - @Export("boundaryObject") - BoundaryObject boundaryObject; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Les;" - ) - @Export("wallDecoration") - WallDecoration wallDecoration; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Ldb;" - ) - @Export("floorDecoration") - FloorDecoration floorDecoration; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Ldc;" - ) - @Export("tileItemPile") - TileItemPile tileItemPile; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 342071413 - ) - @Export("gameObjectsCount") - int gameObjectsCount; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "[Lef;" - ) - @Export("gameObjects") - GameObject[] gameObjects; - @ObfuscatedName("f") - @Export("gameObjectEdgeMasks") - int[] gameObjectEdgeMasks; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -247968309 - ) - @Export("gameObjectsEdgeMask") - int gameObjectsEdgeMask; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1983266615 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("e") - @Export("drawPrimary") - boolean drawPrimary; - @ObfuscatedName("i") - @Export("drawSecondary") - boolean drawSecondary; - @ObfuscatedName("q") - @Export("drawGameObjects") - boolean drawGameObjects; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -1182393573 - ) - @Export("drawGameObjectEdges") - int drawGameObjectEdges; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1178282289 - ) - int field1632; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 340120719 - ) - int field1622; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 248240175 - ) - int field1613; - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Ldq;" - ) - @Export("linkedBelowTile") - Tile linkedBelowTile; - - Tile(int var1, int var2, int var3) { - this.gameObjects = new GameObject[5]; - this.gameObjectEdgeMasks = new int[5]; - this.gameObjectsEdgeMask = 0; - this.originalPlane = this.plane = var1; - this.x = var2; - this.y = var3; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)[Lho;", - garbageValue = "-1998452195" - ) - public static ServerBuild[] method2830() { - return new ServerBuild[]{ServerBuild.RC, ServerBuild.LIVE, ServerBuild.WIP, ServerBuild.BUILDLIVE}; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)[Lht;", - garbageValue = "2061214511" - ) - public static StudioGame[] method2831() { - return new StudioGame[]{StudioGame.runescape, StudioGame.oldscape, StudioGame.game4, StudioGame.game3, StudioGame.game5, StudioGame.stellardawn}; - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2091898372" - ) - @Export("runWidgetOnLoadListener") - static void runWidgetOnLoadListener(int var0) { - if (var0 != -1) { - if (TaskHandler.loadInterface(var0)) { - Widget[] var1 = class289.Widget_interfaceComponents[var0]; - - for (int var2 = 0; var2 < var1.length; ++var2) { - Widget var3 = var1[var2]; - if (var3.onLoad != null) { - ScriptEvent var4 = new ScriptEvent(); - var4.widget = var3; - var4.args = var3.onLoad; - GameShell.runScript(var4, 5000000); - } - } - - } - } - } - - @ObfuscatedName("fa") - @ObfuscatedSignature( - signature = "(Lbe;IB)V", - garbageValue = "2" - ) - @Export("calculateActorPosition") - static final void calculateActorPosition(Actor var0, int var1) { - int var3; - int var4; - int var11; - if (var0.field963 > Client.cycle) { - WorldMapSection2.method299(var0); - } else if (var0.field964 >= Client.cycle) { - Login.method2075(var0); - } else { - var0.movementSequence = var0.readySequence; - if (var0.pathLength == 0) { - var0.field975 = 0; - } else { - label396: { - if (var0.sequence != -1 && var0.sequenceDelay == 0) { - SequenceDefinition var2 = class83.SequenceDefinition_get(var0.sequence); - if (var0.field969 > 0 && var2.field3496 == 0) { - ++var0.field975; - break label396; - } - - if (var0.field969 <= 0 && var2.field3501 == 0) { - ++var0.field975; - break label396; - } - } - - var11 = var0.x * -78439701; - var3 = var0.y; - var4 = var0.pathX[var0.pathLength - 1] * 128 + var0.size * 64; - int var5 = var0.pathY[var0.pathLength - 1] * 128 + var0.size * 64; - if (var11 < var4) { - if (var3 < var5) { - var0.orientation = 1280; - } else if (var3 > var5) { - var0.orientation = 1792; - } else { - var0.orientation = 1536; - } - } else if (var11 > var4) { - if (var3 < var5) { - var0.orientation = 768; - } else if (var3 > var5) { - var0.orientation = 256; - } else { - var0.orientation = 512; - } - } else if (var3 < var5) { - var0.orientation = 1024; - } else if (var3 > var5) { - var0.orientation = 0; - } - - byte var6 = var0.pathTraversed[var0.pathLength - 1]; - if (var4 - var11 <= 256 && var4 - var11 >= -256 && var5 - var3 <= 256 && var5 - var3 >= -256) { - int var7 = var0.orientation - var0.rotation & 2047; - if (var7 > 1024) { - var7 -= 2048; - } - - int var8 = var0.walkBackSequence; - if (var7 >= -256 && var7 <= 256) { - var8 = var0.walkSequence; - } else if (var7 >= 256 && var7 < 768) { - var8 = var0.walkRightSequence; - } else if (var7 >= -768 && var7 <= -256) { - var8 = var0.walkLeftSequence; - } - - if (var8 == -1) { - var8 = var0.walkSequence; - } - - var0.movementSequence = var8; - int var9 = 4; - boolean var10 = true; - if (var0 instanceof NPC) { - var10 = ((NPC)var0).definition.isClickable; - } - - if (var10) { - if (var0.rotation != var0.orientation && var0.targetIndex == -1 && var0.field953 != 0) { - var9 = 2; - } - - if (var0.pathLength > 2) { - var9 = 6; - } - - if (var0.pathLength > 3) { - var9 = 8; - } - - if (var0.field975 > 0 && var0.pathLength > 1) { - var9 = 8; - --var0.field975; - } - } else { - if (var0.pathLength > 1) { - var9 = 6; - } - - if (var0.pathLength > 2) { - var9 = 8; - } - - if (var0.field975 > 0 && var0.pathLength > 1) { - var9 = 8; - --var0.field975; - } - } - - if (var6 == 2) { - var9 <<= 1; - } - - if (var9 >= 8 && var0.movementSequence == var0.walkSequence && var0.runSequence != -1) { - var0.movementSequence = var0.runSequence; - } - - if (var11 != var4 || var5 != var3) { - if (var11 < var4) { - var0.x += var9 * 62504387; - if (var0.x * -78439701 > var4) { - var0.x = var4 * 62504387; - } - } else if (var11 > var4) { - var0.x -= var9 * 62504387; - if (var0.x * -78439701 < var4) { - var0.x = var4 * 62504387; - } - } - - if (var3 < var5) { - var0.y += var9; - if (var0.y > var5) { - var0.y = var5; - } - } else if (var3 > var5) { - var0.y -= var9; - if (var0.y < var5) { - var0.y = var5; - } - } - } - - if (var0.x * -78439701 == var4 && var5 == var0.y) { - --var0.pathLength; - if (var0.field969 > 0) { - --var0.field969; - } - } - } else { - var0.x = var4 * 62504387; - var0.y = var5; - --var0.pathLength; - if (var0.field969 > 0) { - --var0.field969; - } - } - } - } - } - - if (var0.x * -78439701 < 128 || var0.y < 128 || var0.x * -78439701 >= 13184 || var0.y >= 13184) { - var0.sequence = -1; - var0.spotAnimation = -1; - var0.field963 = 0; - var0.field964 = 0; - var0.x = var0.pathX[0] * -589373056 + var0.size * -294686528; - var0.y = var0.pathY[0] * 128 + var0.size * 64; - var0.method1699(); - } - - if (Varps.localPlayer == var0 && (var0.x * -78439701 < 1536 || var0.y < 1536 || var0.x * -78439701 >= 11776 || var0.y >= 11776)) { - var0.sequence = -1; - var0.spotAnimation = -1; - var0.field963 = 0; - var0.field964 = 0; - var0.x = var0.size * -294686528 + var0.pathX[0] * -589373056; - var0.y = var0.pathY[0] * 128 + var0.size * 64; - var0.method1699(); - } - - if (var0.field953 != 0) { - if (var0.targetIndex != -1) { - Object var13 = null; - if (var0.targetIndex < 32768) { - var13 = Client.npcs[var0.targetIndex]; - } else if (var0.targetIndex >= 32768) { - var13 = Client.players[var0.targetIndex - 32768]; - } - - if (var13 != null) { - var3 = var0.x * -78439701 - ((Actor)var13).x * -78439701; - var4 = var0.y - ((Actor)var13).y; - if (var3 != 0 || var4 != 0) { - var0.orientation = (int)(Math.atan2((double)var3, (double)var4) * 325.949D) & 2047; - } - } else if (var0.false0) { - var0.targetIndex = -1; - var0.false0 = false; - } - } - - if (var0.field945 != -1 && (var0.pathLength == 0 || var0.field975 > 0)) { - var0.orientation = var0.field945; - var0.field945 = -1; - } - - var11 = var0.orientation - var0.rotation & 2047; - if (var11 == 0 && var0.false0) { - var0.targetIndex = -1; - var0.false0 = false; - } - - if (var11 != 0) { - ++var0.field976; - boolean var14; - if (var11 > 1024) { - var0.rotation -= var0.field953; - var14 = true; - if (var11 < var0.field953 || var11 > 2048 - var0.field953) { - var0.rotation = var0.orientation; - var14 = false; - } - - if (var0.movementSequence == var0.readySequence && (var0.field976 > 25 || var14)) { - if (var0.turnLeftSequence != -1) { - var0.movementSequence = var0.turnLeftSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } else { - var0.rotation += var0.field953; - var14 = true; - if (var11 < var0.field953 || var11 > 2048 - var0.field953) { - var0.rotation = var0.orientation; - var14 = false; - } - - if (var0.readySequence == var0.movementSequence && (var0.field976 > 25 || var14)) { - if (var0.turnRightSequence != -1) { - var0.movementSequence = var0.turnRightSequence; - } else { - var0.movementSequence = var0.walkSequence; - } - } - } - - var0.rotation &= 2047; - } else { - var0.field976 = 0; - } - } - - HitSplatDefinition.method4558(var0); - } - - @ObfuscatedName("iy") - @ObfuscatedSignature( - signature = "(Lhy;I)Z", - garbageValue = "-2046780414" - ) - @Export("runCs1") - static final boolean runCs1(Widget var0) { - if (var0.cs1Comparisons == null) { - return false; - } else { - for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) { - int var2 = class286.method5218(var0, var1); - int var3 = var0.cs1ComparisonValues[var1]; - if (var0.cs1Comparisons[var1] == 2) { - if (var2 >= var3) { - return false; - } - } else if (var0.cs1Comparisons[var1] == 3) { - if (var2 <= var3) { - return false; - } - } else if (var0.cs1Comparisons[var1] == 4) { - if (var2 == var3) { - return false; - } - } else if (var3 != var2) { - return false; - } - } - - return true; - } - } -} +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("dl") +@Implements("Tile") +public final class Tile extends Node { + @ObfuscatedName("da") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive13") + static Archive archive13; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 16369307 + ) + @Export("originalPlane") + int originalPlane; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1518104939 + ) + @Export("plane") + int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1003607853 + ) + @Export("x") + int x; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1362708877 + ) + @Export("y") + int y; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lef;" + ) + @Export("paint") + TilePaint paint; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ldd;" + ) + @Export("model") + TileModel model; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Leo;" + ) + @Export("boundaryObject") + BoundaryObject boundaryObject; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Leg;" + ) + @Export("wallDecoration") + WallDecoration wallDecoration; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Ldj;" + ) + @Export("floorDecoration") + FloorDecoration floorDecoration; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Ldo;" + ) + @Export("tileItemPile") + TileItemPile tileItemPile; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -308551417 + ) + @Export("gameObjectsCount") + int gameObjectsCount; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "[Lej;" + ) + @Export("gameObjects") + GameObject[] gameObjects; + @ObfuscatedName("o") + @Export("gameObjectEdgeMasks") + int[] gameObjectEdgeMasks; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 2078500007 + ) + @Export("gameObjectsEdgeMask") + int gameObjectsEdgeMask; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -260677087 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("w") + @Export("drawPrimary") + boolean drawPrimary; + @ObfuscatedName("t") + @Export("drawSecondary") + boolean drawSecondary; + @ObfuscatedName("g") + @Export("drawGameObjects") + boolean drawGameObjects; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 824924819 + ) + @Export("drawGameObjectEdges") + int drawGameObjectEdges; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1066984119 + ) + int field1610; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1620350221 + ) + int field1624; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 2139191781 + ) + int field1629; + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Ldl;" + ) + @Export("linkedBelowTile") + Tile linkedBelowTile; + + Tile(int var1, int var2, int var3) { + this.gameObjects = new GameObject[5]; + this.gameObjectEdgeMasks = new int[5]; + this.gameObjectsEdgeMask = 0; + this.originalPlane = this.plane = var1; + this.x = var2; + this.y = var3; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Lgn;", + garbageValue = "283500885" + ) + public static PacketBufferNode method2845() { + PacketBufferNode var0; + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var0 = new PacketBufferNode(); + } else { + var0 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } + + var0.clientPacket = null; + var0.clientPacketLength = 0; + var0.packetBuffer = new PacketBuffer(5000); + return var0; + } +} diff --git a/runescape-client/src/main/java/TileItem.java b/runescape-client/src/main/java/TileItem.java index 935fd1c942..7c72a581db 100644 --- a/runescape-client/src/main/java/TileItem.java +++ b/runescape-client/src/main/java/TileItem.java @@ -1,251 +1,227 @@ -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.ScriptOpcodes; - -@ObfuscatedName("cm") -@Implements("TileItem") -public final class TileItem extends Entity { - @ObfuscatedName("n") - @Export("Tiles_saturation") - static int[] Tiles_saturation; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1255811811 - ) - @Export("id") - int id; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -411129151 - ) - @Export("quantity") - int quantity; - - TileItem() { - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Ldr;", - garbageValue = "-35" - ) - @Export("getModel") - protected final Model getModel() { - return Player.ItemDefinition_get(this.id).getModel(this.quantity); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "-475912836" - ) - static int method2091(int var0, Script var1, boolean var2) { - int var3; - int var4; - if (var0 == ScriptOpcodes.CC_CREATE) { - class160.Interpreter_intStackSize -= 3; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - int var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - if (var4 == 0) { - throw new RuntimeException(); - } else { - Widget var6 = Player.getWidget(var3); - if (var6.children == null) { - var6.children = new Widget[var5 + 1]; - } - - if (var6.children.length <= var5) { - Widget[] var7 = new Widget[var5 + 1]; - - for (int var8 = 0; var8 < var6.children.length; ++var8) { - var7[var8] = var6.children[var8]; - } - - var6.children = var7; - } - - if (var5 > 0 && var6.children[var5 - 1] == null) { - throw new RuntimeException("" + (var5 - 1)); - } else { - Widget var12 = new Widget(); - var12.type = var4; - var12.parentId = var12.id = var6.id; - var12.childIndex = var5; - var12.isIf3 = true; - var6.children[var5] = var12; - if (var2) { - UserComparator9.field1941 = var12; - } else { - MidiPcmStream.field2410 = var12; - } - - WorldMapID.invalidateWidget(var6); - return 1; - } - } - } else { - Widget var9; - if (var0 == ScriptOpcodes.CC_DELETE) { - var9 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - Widget var10 = Player.getWidget(var9.id); - var10.children[var9.childIndex] = null; - WorldMapID.invalidateWidget(var10); - return 1; - } else if (var0 == ScriptOpcodes.CC_DELETEALL) { - var9 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - var9.children = null; - WorldMapID.invalidateWidget(var9); - return 1; - } else if (var0 != ScriptOpcodes.CC_FIND) { - if (var0 == ScriptOpcodes.IF_FIND) { - var9 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - if (var9 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - if (var2) { - UserComparator9.field1941 = var9; - } else { - MidiPcmStream.field2410 = var9; - } - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else { - return 2; - } - } else { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Widget var11 = class49.getWidgetChild(var3, var4); - if (var11 != null && var4 != -1) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - if (var2) { - UserComparator9.field1941 = var11; - } else { - MidiPcmStream.field2410 = var11; - } - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } - } - } - - @ObfuscatedName("ht") - @ObfuscatedSignature( - signature = "(IIIILjava/lang/String;I)V", - garbageValue = "-2119996572" - ) - static void method2093(int var0, int var1, int var2, int var3, String var4) { - Widget var5 = class49.getWidgetChild(var1, var2); - if (var5 != null) { - if (var5.onOp != null) { - ScriptEvent var6 = new ScriptEvent(); - var6.widget = var5; - var6.opIndex = var0; - var6.targetName = var4; - var6.args = var5.onOp; - SecureRandomFuture.runScriptEvent(var6); - } - - boolean var8 = true; - if (var5.contentType > 0) { - var8 = class49.method825(var5); - } - - if (var8) { - if (class210.method3951(class60.getWidgetClickMask(var5), var0 - 1)) { - PacketBufferNode var7; - if (var0 == 1) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2279, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 2) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2228, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 3) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2202, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 4) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2231, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 5) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2258, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 6) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2251, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 7) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2199, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 8) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2207, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 9) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2247, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - if (var0 == 10) { - var7 = MenuAction.getPacketBufferNode(ClientPacket.field2217, Client.packetWriter.isaacCipher); - var7.packetBuffer.writeInt(var1); - var7.packetBuffer.writeShort(var2); - var7.packetBuffer.writeShort(var3); - Client.packetWriter.addNode(var7); - } - - } - } - } - } -} +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("cj") +@Implements("TileItem") +public final class TileItem extends Entity { + @ObfuscatedName("st") + @ObfuscatedSignature( + signature = "Lq;" + ) + @Export("grandExchangeEvents") + static GrandExchangeEvents grandExchangeEvents; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1727946021 + ) + public static int field1223; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1488876063 + ) + @Export("id") + int id; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1667884647 + ) + @Export("quantity") + int quantity; + + TileItem() { + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ldh;", + garbageValue = "-62237472" + ) + @Export("getModel") + protected final Model getModel() { + return Occluder.ItemDefinition_get(this.id).getModel(this.quantity); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "160391262" + ) + @Export("iLog") + public static int iLog(int var0) { + int var1 = 0; + if (var0 < 0 || var0 >= 65536) { + var0 >>>= 16; + var1 += 16; + } + + if (var0 >= 256) { + var0 >>>= 8; + var1 += 8; + } + + if (var0 >= 16) { + var0 >>>= 4; + var1 += 4; + } + + if (var0 >= 4) { + var0 >>>= 2; + var1 += 2; + } + + if (var0 >= 1) { + var0 >>>= 1; + ++var1; + } + + return var0 + var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "1159842254" + ) + static int method2125(int var0, Script var1, boolean var2) { + if (var0 < 1000) { + return WorldMapSection2.method342(var0, var1, var2); + } else if (var0 < 1100) { + return Login.method2111(var0, var1, var2); + } else if (var0 < 1200) { + return class81.method2058(var0, var1, var2); + } else if (var0 < 1300) { + return FriendLoginUpdate.method5178(var0, var1, var2); + } else if (var0 < 1400) { + return class40.method797(var0, var1, var2); + } else if (var0 < 1500) { + return Tiles.method1110(var0, var1, var2); + } else if (var0 < 1600) { + return FontName.method5256(var0, var1, var2); + } else if (var0 < 1700) { + return UserComparator6.method3403(var0, var1, var2); + } else if (var0 < 1800) { + return VarpDefinition.method4335(var0, var1, var2); + } else if (var0 < 1900) { + return World.method1811(var0, var1, var2); + } else if (var0 < 2000) { + return ClientPacket.method3573(var0, var1, var2); + } else if (var0 < 2100) { + return Login.method2111(var0, var1, var2); + } else if (var0 < 2200) { + return class81.method2058(var0, var1, var2); + } else if (var0 < 2300) { + return FriendLoginUpdate.method5178(var0, var1, var2); + } else if (var0 < 2400) { + return class40.method797(var0, var1, var2); + } else if (var0 < 2500) { + return Tiles.method1110(var0, var1, var2); + } else if (var0 < 2600) { + return class51.method921(var0, var1, var2); + } else if (var0 < 2700) { + return Client.method1746(var0, var1, var2); + } else if (var0 < 2800) { + return UserComparator6.method3407(var0, var1, var2); + } else if (var0 < 2900) { + return WorldMapRegion.method506(var0, var1, var2); + } else if (var0 < 3000) { + return ClientPacket.method3573(var0, var1, var2); + } else if (var0 < 3200) { + return Messages.method2207(var0, var1, var2); + } else if (var0 < 3300) { + return ReflectionCheck.method2267(var0, var1, var2); + } else if (var0 < 3400) { + return ServerPacket.method3571(var0, var1, var2); + } else if (var0 < 3500) { + return PacketBuffer.method5408(var0, var1, var2); + } else if (var0 < 3700) { + return Buddy.method5099(var0, var1, var2); + } else if (var0 < 4000) { + return AbstractWorldMapData.method289(var0, var1, var2); + } else if (var0 < 4100) { + return WorldMapAreaData.method716(var0, var1, var2); + } else if (var0 < 4200) { + return WorldMapData_0.method177(var0, var1, var2); + } else if (var0 < 4300) { + return class222.method4078(var0, var1, var2); + } else if (var0 < 5100) { + return Tiles.method1156(var0, var1, var2); + } else if (var0 < 5400) { + return Canvas.method889(var0, var1, var2); + } else if (var0 < 5600) { + return WorldMapData_1.method749(var0, var1, var2); + } else if (var0 < 5700) { + return class222.method4077(var0, var1, var2); + } else if (var0 < 6300) { + return Entity.method3212(var0, var1, var2); + } else if (var0 < 6600) { + return class219.method4068(var0, var1, var2); + } else { + return var0 < 6700 ? UserComparator6.method3398(var0, var1, var2) : 2; + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(CB)Z", + garbageValue = "-1" + ) + @Export("isCharPrintable") + public static boolean isCharPrintable(char var0) { + if (var0 >= ' ' && var0 <= '~') { + return true; + } else if (var0 >= 160 && var0 <= 255) { + return true; + } else { + return var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376; + } + } + + @ObfuscatedName("ip") + @ObfuscatedSignature( + signature = "(Lho;IIZI)V", + garbageValue = "97221829" + ) + @Export("alignWidgetSize") + static void alignWidgetSize(Widget var0, int var1, int var2, boolean var3) { + int var4 = var0.width; + int var5 = var0.height; + if (var0.widthAlignment == 0) { + var0.width = var0.rawWidth; + } else if (var0.widthAlignment == 1) { + var0.width = var1 - var0.rawWidth; + } else if (var0.widthAlignment == 2) { + var0.width = var0.rawWidth * var1 >> 14; + } + + if (var0.heightAlignment == 0) { + var0.height = var0.rawHeight; + } else if (var0.heightAlignment == 1) { + var0.height = var2 - var0.rawHeight; + } else if (var0.heightAlignment == 2) { + var0.height = var2 * var0.rawHeight >> 14; + } + + if (var0.widthAlignment == 4) { + var0.width = var0.field2655 * var0.height / var0.field2629; + } + + if (var0.heightAlignment == 4) { + var0.height = var0.field2629 * var0.width / var0.field2655; + } + + if (var0.contentType == 1337) { + Client.viewportWidget = var0; + } + + if (var3 && var0.onResize != null && (var4 != var0.width || var5 != var0.height)) { + ScriptEvent var6 = new ScriptEvent(); + var6.widget = var0; + var6.args = var0.onResize; + Client.scriptEvents.addFirst(var6); + } + + } +} diff --git a/runescape-client/src/main/java/TileItemPile.java b/runescape-client/src/main/java/TileItemPile.java index 910d4ae7ef..12713feb54 100644 --- a/runescape-client/src/main/java/TileItemPile.java +++ b/runescape-client/src/main/java/TileItemPile.java @@ -1,104 +1,61 @@ -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("dc") -@Implements("TileItemPile") -public final class TileItemPile { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -2023976075 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1848174955 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -957349888 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("first") - Entity first; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("second") - Entity second; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("third") - Entity third; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = 7030774088402658829L - ) - @Export("tag") - long tag; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1955777995 - ) - @Export("height") - int height; - - TileItemPile() { - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIB)Lbj;", - garbageValue = "126" - ) - @Export("Messages_getByChannelAndID") - static Message Messages_getByChannelAndID(int var0, int var1) { - ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); - return var2.getMessage(var1); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-75" - ) - public static void method2728(int var0) { - if (var0 != -1) { - if (UserComparator3.Widget_loadedInterfaces[var0]) { - ArchiveDiskActionHandler.Widget_archive.clearFilesGroup(var0); - if (class289.Widget_interfaceComponents[var0] != null) { - boolean var1 = true; - - for (int var2 = 0; var2 < class289.Widget_interfaceComponents[var0].length; ++var2) { - if (class289.Widget_interfaceComponents[var0][var2] != null) { - if (class289.Widget_interfaceComponents[var0][var2].type != 2) { - class289.Widget_interfaceComponents[var0][var2] = null; - } else { - var1 = false; - } - } - } - - if (var1) { - class289.Widget_interfaceComponents[var0] = null; - } - - UserComparator3.Widget_loadedInterfaces[var0] = false; - } - } - } - } -} +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("do") +@Implements("TileItemPile") +public final class TileItemPile { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("first") + Entity first; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -149113077 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 905063527 + ) + @Export("x") + int x; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1956463223 + ) + @Export("y") + int y; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("second") + Entity second; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("third") + Entity third; + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = 3581588196263566823L + ) + @Export("tag") + long tag; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 814116925 + ) + @Export("height") + int height; + + TileItemPile() { + } +} diff --git a/runescape-client/src/main/java/TileModel.java b/runescape-client/src/main/java/TileModel.java index 9ce3d7707b..b752482054 100644 --- a/runescape-client/src/main/java/TileModel.java +++ b/runescape-client/src/main/java/TileModel.java @@ -1,308 +1,308 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("dv") -@Implements("TileModel") -public final class TileModel { - @ObfuscatedName("e") - static int[] field1560; - @ObfuscatedName("i") - static int[] field1572; - @ObfuscatedName("q") - static int[] field1573; - @ObfuscatedName("y") - static int[] field1576; - @ObfuscatedName("r") - static int[] field1574; - @ObfuscatedName("k") - static final int[][] field1556; - @ObfuscatedName("w") - static final int[][] field1569; - @ObfuscatedName("c") - @Export("vertexX") - int[] vertexX; - @ObfuscatedName("x") - @Export("vertexY") - int[] vertexY; - @ObfuscatedName("t") - @Export("vertexZ") - int[] vertexZ; - @ObfuscatedName("g") - @Export("triangleColorA") - int[] triangleColorA; - @ObfuscatedName("l") - @Export("triangleColorB") - int[] triangleColorB; - @ObfuscatedName("u") - @Export("triangleColorC") - int[] triangleColorC; - @ObfuscatedName("j") - @Export("faceX") - int[] faceX; - @ObfuscatedName("v") - @Export("faceY") - int[] faceY; - @ObfuscatedName("d") - @Export("faceZ") - int[] faceZ; - @ObfuscatedName("z") - @Export("triangleTextureId") - int[] triangleTextureId; - @ObfuscatedName("n") - @Export("isFlat") - boolean isFlat; - @ObfuscatedName("h") - @Export("shape") - int shape; - @ObfuscatedName("f") - @Export("rotation") - int rotation; - @ObfuscatedName("s") - @Export("underlayRgb") - int underlayRgb; - @ObfuscatedName("p") - @Export("overlayRgb") - int overlayRgb; - - static { - field1560 = new int[6]; - field1572 = new int[6]; - field1573 = new int[6]; - field1576 = new int[6]; - field1574 = new int[6]; - field1556 = new int[][]{{1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 2, 6}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 13, 14}}; - field1569 = new int[][]{{0, 1, 2, 3, 0, 0, 1, 3}, {1, 1, 2, 3, 1, 0, 1, 3}, {0, 1, 2, 3, 1, 0, 1, 3}, {0, 0, 1, 2, 0, 0, 2, 4, 1, 0, 4, 3}, {0, 0, 1, 4, 0, 0, 4, 3, 1, 1, 2, 4}, {0, 0, 4, 3, 1, 0, 1, 2, 1, 0, 2, 4}, {0, 1, 2, 4, 1, 0, 1, 4, 1, 0, 4, 3}, {0, 4, 1, 2, 0, 4, 2, 5, 1, 0, 4, 5, 1, 0, 5, 3}, {0, 4, 1, 2, 0, 4, 2, 3, 0, 4, 3, 5, 1, 0, 4, 5}, {0, 0, 4, 5, 1, 4, 1, 2, 1, 4, 2, 3, 1, 4, 3, 5}, {0, 0, 1, 5, 0, 1, 4, 5, 0, 1, 2, 4, 1, 0, 5, 3, 1, 5, 4, 3, 1, 4, 2, 3}, {1, 0, 1, 5, 1, 1, 4, 5, 1, 1, 2, 4, 0, 0, 5, 3, 0, 5, 4, 3, 0, 4, 2, 3}, {1, 0, 5, 4, 1, 0, 1, 5, 0, 0, 4, 3, 0, 4, 5, 3, 0, 5, 2, 3, 0, 1, 2, 5}}; - } - - TileModel(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) { - this.isFlat = true; - if (var7 != var6 || var8 != var6 || var9 != var6) { - this.isFlat = false; - } - - this.shape = var1; - this.rotation = var2; - this.underlayRgb = var18; - this.overlayRgb = var19; - short var20 = 128; - int var21 = var20 / 2; - int var22 = var20 / 4; - int var23 = var20 * 3 / 4; - int[] var24 = field1556[var1]; - int var25 = var24.length; - this.vertexX = new int[var25]; - this.vertexY = new int[var25]; - this.vertexZ = new int[var25]; - int[] var26 = new int[var25]; - int[] var27 = new int[var25]; - int var28 = var20 * var4; - int var29 = var5 * var20; - - int var31; - int var32; - int var33; - int var34; - int var35; - int var36; - for (int var30 = 0; var30 < var25; ++var30) { - var31 = var24[var30]; - if ((var31 & 1) == 0 && var31 <= 8) { - var31 = (var31 - var2 - var2 - 1 & 7) + 1; - } - - if (var31 > 8 && var31 <= 12) { - var31 = (var31 - 9 - var2 & 3) + 9; - } - - if (var31 > 12 && var31 <= 16) { - var31 = (var31 - 13 - var2 & 3) + 13; - } - - if (var31 == 1) { - var32 = var28; - var33 = var29; - var34 = var6; - var35 = var10; - var36 = var14; - } else if (var31 == 2) { - var32 = var28 + var21; - var33 = var29; - var34 = var7 + var6 >> 1; - var35 = var11 + var10 >> 1; - var36 = var15 + var14 >> 1; - } else if (var31 == 3) { - var32 = var28 + var20; - var33 = var29; - var34 = var7; - var35 = var11; - var36 = var15; - } else if (var31 == 4) { - var32 = var28 + var20; - var33 = var29 + var21; - var34 = var8 + var7 >> 1; - var35 = var11 + var12 >> 1; - var36 = var15 + var16 >> 1; - } else if (var31 == 5) { - var32 = var28 + var20; - var33 = var29 + var20; - var34 = var8; - var35 = var12; - var36 = var16; - } else if (var31 == 6) { - var32 = var28 + var21; - var33 = var29 + var20; - var34 = var8 + var9 >> 1; - var35 = var13 + var12 >> 1; - var36 = var17 + var16 >> 1; - } else if (var31 == 7) { - var32 = var28; - var33 = var29 + var20; - var34 = var9; - var35 = var13; - var36 = var17; - } else if (var31 == 8) { - var32 = var28; - var33 = var29 + var21; - var34 = var9 + var6 >> 1; - var35 = var13 + var10 >> 1; - var36 = var17 + var14 >> 1; - } else if (var31 == 9) { - var32 = var28 + var21; - var33 = var29 + var22; - var34 = var7 + var6 >> 1; - var35 = var11 + var10 >> 1; - var36 = var15 + var14 >> 1; - } else if (var31 == 10) { - var32 = var28 + var23; - var33 = var29 + var21; - var34 = var8 + var7 >> 1; - var35 = var11 + var12 >> 1; - var36 = var15 + var16 >> 1; - } else if (var31 == 11) { - var32 = var28 + var21; - var33 = var29 + var23; - var34 = var8 + var9 >> 1; - var35 = var13 + var12 >> 1; - var36 = var17 + var16 >> 1; - } else if (var31 == 12) { - var32 = var28 + var22; - var33 = var29 + var21; - var34 = var9 + var6 >> 1; - var35 = var13 + var10 >> 1; - var36 = var17 + var14 >> 1; - } else if (var31 == 13) { - var32 = var28 + var22; - var33 = var29 + var22; - var34 = var6; - var35 = var10; - var36 = var14; - } else if (var31 == 14) { - var32 = var28 + var23; - var33 = var29 + var22; - var34 = var7; - var35 = var11; - var36 = var15; - } else if (var31 == 15) { - var32 = var28 + var23; - var33 = var29 + var23; - var34 = var8; - var35 = var12; - var36 = var16; - } else { - var32 = var28 + var22; - var33 = var29 + var23; - var34 = var9; - var35 = var13; - var36 = var17; - } - - this.vertexX[var30] = var32; - this.vertexY[var30] = var34; - this.vertexZ[var30] = var33; - var26[var30] = var35; - var27[var30] = var36; - } - - int[] var38 = field1569[var1]; - var31 = var38.length / 4; - this.faceX = new int[var31]; - this.faceY = new int[var31]; - this.faceZ = new int[var31]; - this.triangleColorA = new int[var31]; - this.triangleColorB = new int[var31]; - this.triangleColorC = new int[var31]; - if (var3 != -1) { - this.triangleTextureId = new int[var31]; - } - - var32 = 0; - - for (var33 = 0; var33 < var31; ++var33) { - var34 = var38[var32]; - var35 = var38[var32 + 1]; - var36 = var38[var32 + 2]; - int var37 = var38[var32 + 3]; - var32 += 4; - if (var35 < 4) { - var35 = var35 - var2 & 3; - } - - if (var36 < 4) { - var36 = var36 - var2 & 3; - } - - if (var37 < 4) { - var37 = var37 - var2 & 3; - } - - this.faceX[var33] = var35; - this.faceY[var33] = var36; - this.faceZ[var33] = var37; - if (var34 == 0) { - this.triangleColorA[var33] = var26[var35]; - this.triangleColorB[var33] = var26[var36]; - this.triangleColorC[var33] = var26[var37]; - if (this.triangleTextureId != null) { - this.triangleTextureId[var33] = -1; - } - } else { - this.triangleColorA[var33] = var27[var35]; - this.triangleColorB[var33] = var27[var36]; - this.triangleColorC[var33] = var27[var37]; - if (this.triangleTextureId != null) { - this.triangleTextureId[var33] = var3; - } - } - } - - var33 = var6; - var34 = var7; - if (var7 < var6) { - var33 = var7; - } - - if (var7 > var7) { - var34 = var7; - } - - if (var8 < var33) { - var33 = var8; - } - - if (var8 > var34) { - var34 = var8; - } - - if (var9 < var33) { - var33 = var9; - } - - if (var9 > var34) { - var34 = var9; - } - - var33 /= 14; - var34 /= 14; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("dd") +@Implements("TileModel") +public final class TileModel { + @ObfuscatedName("w") + static int[] field1553; + @ObfuscatedName("t") + static int[] field1569; + @ObfuscatedName("g") + static int[] field1570; + @ObfuscatedName("x") + static int[] field1571; + @ObfuscatedName("h") + static int[] field1573; + @ObfuscatedName("s") + static final int[][] field1555; + @ObfuscatedName("f") + static final int[][] field1559; + @ObfuscatedName("z") + @Export("vertexX") + int[] vertexX; + @ObfuscatedName("n") + @Export("vertexY") + int[] vertexY; + @ObfuscatedName("v") + @Export("vertexZ") + int[] vertexZ; + @ObfuscatedName("u") + @Export("triangleColorA") + int[] triangleColorA; + @ObfuscatedName("r") + @Export("triangleColorB") + int[] triangleColorB; + @ObfuscatedName("p") + @Export("triangleColorC") + int[] triangleColorC; + @ObfuscatedName("q") + @Export("faceX") + int[] faceX; + @ObfuscatedName("m") + @Export("faceY") + int[] faceY; + @ObfuscatedName("y") + @Export("faceZ") + int[] faceZ; + @ObfuscatedName("i") + @Export("triangleTextureId") + int[] triangleTextureId; + @ObfuscatedName("c") + @Export("isFlat") + boolean isFlat; + @ObfuscatedName("b") + @Export("shape") + int shape; + @ObfuscatedName("o") + @Export("rotation") + int rotation; + @ObfuscatedName("a") + @Export("underlayRgb") + int underlayRgb; + @ObfuscatedName("e") + @Export("overlayRgb") + int overlayRgb; + + static { + field1553 = new int[6]; + field1569 = new int[6]; + field1570 = new int[6]; + field1571 = new int[6]; + field1573 = new int[6]; + field1555 = new int[][]{{1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 2, 6}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 13, 14}}; + field1559 = new int[][]{{0, 1, 2, 3, 0, 0, 1, 3}, {1, 1, 2, 3, 1, 0, 1, 3}, {0, 1, 2, 3, 1, 0, 1, 3}, {0, 0, 1, 2, 0, 0, 2, 4, 1, 0, 4, 3}, {0, 0, 1, 4, 0, 0, 4, 3, 1, 1, 2, 4}, {0, 0, 4, 3, 1, 0, 1, 2, 1, 0, 2, 4}, {0, 1, 2, 4, 1, 0, 1, 4, 1, 0, 4, 3}, {0, 4, 1, 2, 0, 4, 2, 5, 1, 0, 4, 5, 1, 0, 5, 3}, {0, 4, 1, 2, 0, 4, 2, 3, 0, 4, 3, 5, 1, 0, 4, 5}, {0, 0, 4, 5, 1, 4, 1, 2, 1, 4, 2, 3, 1, 4, 3, 5}, {0, 0, 1, 5, 0, 1, 4, 5, 0, 1, 2, 4, 1, 0, 5, 3, 1, 5, 4, 3, 1, 4, 2, 3}, {1, 0, 1, 5, 1, 1, 4, 5, 1, 1, 2, 4, 0, 0, 5, 3, 0, 5, 4, 3, 0, 4, 2, 3}, {1, 0, 5, 4, 1, 0, 1, 5, 0, 0, 4, 3, 0, 4, 5, 3, 0, 5, 2, 3, 0, 1, 2, 5}}; + } + + TileModel(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) { + this.isFlat = true; + if (var7 != var6 || var8 != var6 || var9 != var6) { + this.isFlat = false; + } + + this.shape = var1; + this.rotation = var2; + this.underlayRgb = var18; + this.overlayRgb = var19; + short var20 = 128; + int var21 = var20 / 2; + int var22 = var20 / 4; + int var23 = var20 * 3 / 4; + int[] var24 = field1555[var1]; + int var25 = var24.length; + this.vertexX = new int[var25]; + this.vertexY = new int[var25]; + this.vertexZ = new int[var25]; + int[] var26 = new int[var25]; + int[] var27 = new int[var25]; + int var28 = var20 * var4; + int var29 = var5 * var20; + + int var31; + int var32; + int var33; + int var34; + int var35; + int var36; + for (int var30 = 0; var30 < var25; ++var30) { + var31 = var24[var30]; + if ((var31 & 1) == 0 && var31 <= 8) { + var31 = (var31 - var2 - var2 - 1 & 7) + 1; + } + + if (var31 > 8 && var31 <= 12) { + var31 = (var31 - 9 - var2 & 3) + 9; + } + + if (var31 > 12 && var31 <= 16) { + var31 = (var31 - 13 - var2 & 3) + 13; + } + + if (var31 == 1) { + var32 = var28; + var33 = var29; + var34 = var6; + var35 = var10; + var36 = var14; + } else if (var31 == 2) { + var32 = var28 + var21; + var33 = var29; + var34 = var7 + var6 >> 1; + var35 = var11 + var10 >> 1; + var36 = var15 + var14 >> 1; + } else if (var31 == 3) { + var32 = var28 + var20; + var33 = var29; + var34 = var7; + var35 = var11; + var36 = var15; + } else if (var31 == 4) { + var32 = var28 + var20; + var33 = var29 + var21; + var34 = var8 + var7 >> 1; + var35 = var11 + var12 >> 1; + var36 = var15 + var16 >> 1; + } else if (var31 == 5) { + var32 = var28 + var20; + var33 = var29 + var20; + var34 = var8; + var35 = var12; + var36 = var16; + } else if (var31 == 6) { + var32 = var28 + var21; + var33 = var29 + var20; + var34 = var8 + var9 >> 1; + var35 = var13 + var12 >> 1; + var36 = var17 + var16 >> 1; + } else if (var31 == 7) { + var32 = var28; + var33 = var29 + var20; + var34 = var9; + var35 = var13; + var36 = var17; + } else if (var31 == 8) { + var32 = var28; + var33 = var29 + var21; + var34 = var9 + var6 >> 1; + var35 = var13 + var10 >> 1; + var36 = var17 + var14 >> 1; + } else if (var31 == 9) { + var32 = var28 + var21; + var33 = var29 + var22; + var34 = var7 + var6 >> 1; + var35 = var11 + var10 >> 1; + var36 = var15 + var14 >> 1; + } else if (var31 == 10) { + var32 = var28 + var23; + var33 = var29 + var21; + var34 = var8 + var7 >> 1; + var35 = var11 + var12 >> 1; + var36 = var15 + var16 >> 1; + } else if (var31 == 11) { + var32 = var28 + var21; + var33 = var29 + var23; + var34 = var8 + var9 >> 1; + var35 = var13 + var12 >> 1; + var36 = var17 + var16 >> 1; + } else if (var31 == 12) { + var32 = var28 + var22; + var33 = var29 + var21; + var34 = var9 + var6 >> 1; + var35 = var13 + var10 >> 1; + var36 = var17 + var14 >> 1; + } else if (var31 == 13) { + var32 = var28 + var22; + var33 = var29 + var22; + var34 = var6; + var35 = var10; + var36 = var14; + } else if (var31 == 14) { + var32 = var28 + var23; + var33 = var29 + var22; + var34 = var7; + var35 = var11; + var36 = var15; + } else if (var31 == 15) { + var32 = var28 + var23; + var33 = var29 + var23; + var34 = var8; + var35 = var12; + var36 = var16; + } else { + var32 = var28 + var22; + var33 = var29 + var23; + var34 = var9; + var35 = var13; + var36 = var17; + } + + this.vertexX[var30] = var32; + this.vertexY[var30] = var34; + this.vertexZ[var30] = var33; + var26[var30] = var35; + var27[var30] = var36; + } + + int[] var38 = field1559[var1]; + var31 = var38.length / 4; + this.faceX = new int[var31]; + this.faceY = new int[var31]; + this.faceZ = new int[var31]; + this.triangleColorA = new int[var31]; + this.triangleColorB = new int[var31]; + this.triangleColorC = new int[var31]; + if (var3 != -1) { + this.triangleTextureId = new int[var31]; + } + + var32 = 0; + + for (var33 = 0; var33 < var31; ++var33) { + var34 = var38[var32]; + var35 = var38[var32 + 1]; + var36 = var38[var32 + 2]; + int var37 = var38[var32 + 3]; + var32 += 4; + if (var35 < 4) { + var35 = var35 - var2 & 3; + } + + if (var36 < 4) { + var36 = var36 - var2 & 3; + } + + if (var37 < 4) { + var37 = var37 - var2 & 3; + } + + this.faceX[var33] = var35; + this.faceY[var33] = var36; + this.faceZ[var33] = var37; + if (var34 == 0) { + this.triangleColorA[var33] = var26[var35]; + this.triangleColorB[var33] = var26[var36]; + this.triangleColorC[var33] = var26[var37]; + if (this.triangleTextureId != null) { + this.triangleTextureId[var33] = -1; + } + } else { + this.triangleColorA[var33] = var27[var35]; + this.triangleColorB[var33] = var27[var36]; + this.triangleColorC[var33] = var27[var37]; + if (this.triangleTextureId != null) { + this.triangleTextureId[var33] = var3; + } + } + } + + var33 = var6; + var34 = var7; + if (var7 < var6) { + var33 = var7; + } + + if (var7 > var7) { + var34 = var7; + } + + if (var8 < var33) { + var33 = var8; + } + + if (var8 > var34) { + var34 = var8; + } + + if (var9 < var33) { + var33 = var9; + } + + if (var9 > var34) { + var34 = var9; + } + + var33 /= 14; + var34 /= 14; + } +} diff --git a/runescape-client/src/main/java/TilePaint.java b/runescape-client/src/main/java/TilePaint.java index 3965e2171b..c173cfa89e 100644 --- a/runescape-client/src/main/java/TilePaint.java +++ b/runescape-client/src/main/java/TilePaint.java @@ -1,176 +1,114 @@ -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("ec") -@Implements("TilePaint") -public final class TilePaint { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 569513587 - ) - @Export("swColor") - int swColor; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1458777975 - ) - @Export("seColor") - int seColor; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 658024941 - ) - @Export("neColor") - int neColor; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -112567911 - ) - @Export("nwColor") - int nwColor; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 696861651 - ) - @Export("texture") - int texture; - @ObfuscatedName("u") - @Export("isFlat") - boolean isFlat; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -130131907 - ) - @Export("rgb") - int rgb; - - TilePaint(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { - this.isFlat = true; - this.swColor = var1; - this.seColor = var2; - this.neColor = var3; - this.nwColor = var4; - this.texture = var5; - this.rgb = var6; - this.isFlat = var7; - } - - @ObfuscatedName("ee") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-55" - ) - static void method3037() { - Client.mouseLastLastPressedTimeMillis = 1L; - ParamDefinition.mouseRecorder.index = 0; - PendingSpawn.hasFocus = true; - Client.hadFocus = true; - Client.field750 = -1L; - class51.method860(); - Client.packetWriter.clearBuffer(); - Client.packetWriter.packetBuffer.offset = 0; - Client.packetWriter.serverPacket = null; - Client.packetWriter.field1274 = null; - Client.packetWriter.field1286 = null; - Client.packetWriter.field1287 = null; - Client.packetWriter.serverPacketLength = 0; - Client.packetWriter.field1283 = 0; - Client.rebootTimer = 0; - Client.logoutTimer = 0; - Client.hintArrowType = 0; - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - MouseHandler.MouseHandler_idleCycles = 0; - Messages.Messages_channels.clear(); - Messages.Messages_hashTable.clear(); - Messages.Messages_queue.clear(); - Messages.Messages_count = 0; - Client.isItemSelected = 0; - Client.isSpellSelected = false; - Client.soundEffectCount = 0; - Client.camAngleY = 0; - Client.oculusOrbState = 0; - MenuAction.field1133 = null; - Client.minimapState = 0; - Client.field848 = -1; - Client.destinationX = 0; - Client.destinationY = 0; - Client.playerAttackOption = AttackOption.AttackOption_hidden; - Client.npcAttackOption = AttackOption.AttackOption_hidden; - Client.npcCount = 0; - Huffman.method3942(); - - int var0; - for (var0 = 0; var0 < 2048; ++var0) { - Client.players[var0] = null; - } - - for (var0 = 0; var0 < 32768; ++var0) { - Client.npcs[var0] = null; - } - - Client.combatTargetPlayerIndex = -1; - Client.projectiles.clear(); - Client.graphicsObjects.clear(); - - for (var0 = 0; var0 < 4; ++var0) { - for (int var1 = 0; var1 < 104; ++var1) { - for (int var2 = 0; var2 < 104; ++var2) { - Client.groundItems[var0][var1][var2] = null; - } - } - } - - Client.pendingSpawns = new NodeDeque(); - class218.friendSystem.clear(); - - for (var0 = 0; var0 < CollisionMap.VarpDefinition_fileCount; ++var0) { - VarpDefinition var3 = class30.method518(var0); - if (var3 != null) { - Varps.Varps_temp[var0] = 0; - Varps.Varps_main[var0] = 0; - } - } - - BoundaryObject.varcs.clearTransient(); - Client.followerIndex = -1; - if (Client.rootInterface != -1) { - TileItemPile.method2728(Client.rootInterface); - } - - for (InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.first(); var4 != null; var4 = (InterfaceParent)Client.interfaceParents.next()) { - StructDefinition.closeInterface(var4, true); - } - - Client.rootInterface = -1; - Client.interfaceParents = new NodeHashTable(8); - Client.meslayerContinueWidget = null; - Client.menuOptionsCount = 0; - Client.isMenuOpen = false; - Client.playerAppearance.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1); - - for (var0 = 0; var0 < 8; ++var0) { - Client.playerMenuActions[var0] = null; - Client.playerOptionsPriorities[var0] = false; - } - - class286.method5221(); - Client.isLoading = true; - - for (var0 = 0; var0 < 100; ++var0) { - Client.field827[var0] = true; - } - - MouseRecorder.method1145(); - GrandExchangeOfferUnitPriceComparator.clanChat = null; - - for (var0 = 0; var0 < 8; ++var0) { - Client.grandExchangeOffers[var0] = new GrandExchangeOffer(); - } - - PacketWriter.grandExchangeEvents = null; - } -} +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("ef") +@Implements("TilePaint") +public final class TilePaint { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 968490533 + ) + @Export("swColor") + int swColor; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -721233201 + ) + @Export("seColor") + int seColor; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1592287523 + ) + @Export("neColor") + int neColor; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -100726041 + ) + @Export("nwColor") + int nwColor; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 2026223793 + ) + @Export("texture") + int texture; + @ObfuscatedName("p") + @Export("isFlat") + boolean isFlat; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1661774659 + ) + @Export("rgb") + int rgb; + + TilePaint(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { + this.isFlat = true; + this.swColor = var1; + this.seColor = var2; + this.neColor = var3; + this.nwColor = var4; + this.texture = var5; + this.rgb = var6; + this.isFlat = var7; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)Ljava/lang/String;", + garbageValue = "-964205547" + ) + static String method3038(Buffer var0, int var1) { + try { + int var2 = var0.readUShortSmart(); + if (var2 > var1) { + var2 = var1; + } + + byte[] var3 = new byte[var2]; + var0.offset += class210.huffman.decompress(var0.array, var0.offset, var3, 0, var2); + String var4 = ArchiveLoader.decodeStringCp1252(var3, 0, var2); + return var4; + } catch (Exception var6) { + return "Cabbage"; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)I", + garbageValue = "800355488" + ) + @Export("parseInt") + public static int parseInt(CharSequence var0) { + return SoundCache.parseIntCustomRadix(var0, 10, true); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "-2065502658" + ) + static void method3039(boolean var0) { + Login.Login_response1 = ""; + Login.Login_response2 = "Enter your username/email & password."; + Login.Login_response3 = ""; + Login.loginIndex = 2; + if (var0) { + Login.Login_password = ""; + } + + InterfaceParent.method1197(); + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } + + } +} diff --git a/runescape-client/src/main/java/Tiles.java b/runescape-client/src/main/java/Tiles.java index c409ba8fae..cf09bd0911 100644 --- a/runescape-client/src/main/java/Tiles.java +++ b/runescape-client/src/main/java/Tiles.java @@ -1,733 +1,552 @@ -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("bp") -@Implements("Tiles") -public final class Tiles { - @ObfuscatedName("c") - @Export("Tiles_heights") - static int[][][] Tiles_heights; - @ObfuscatedName("x") - @Export("Tiles_renderFlags") - static byte[][][] Tiles_renderFlags; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -103165029 - ) - @Export("Tiles_minPlane") - static int Tiles_minPlane; - @ObfuscatedName("g") - static byte[][][] field476; - @ObfuscatedName("u") - static byte[][][] field477; - @ObfuscatedName("v") - static byte[][][] field473; - @ObfuscatedName("s") - static int[] field488; - @ObfuscatedName("y") - static final int[] field480; - @ObfuscatedName("r") - static final int[] field481; - @ObfuscatedName("k") - static final int[] field482; - @ObfuscatedName("w") - static final int[] field487; - @ObfuscatedName("m") - static final int[] field484; - @ObfuscatedName("o") - static final int[] field485; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1299931197 - ) - static int field483; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 420970565 - ) - static int field486; - - static { - Tiles_heights = new int[4][105][105]; - Tiles_renderFlags = new byte[4][104][104]; - Tiles_minPlane = 99; - field480 = new int[]{1, 2, 4, 8}; - field481 = new int[]{16, 32, 64, 128}; - field482 = new int[]{1, 0, -1, 0}; - field487 = new int[]{0, -1, 0, 1}; - field484 = new int[]{1, -1, -1, 1}; - field485 = new int[]{-1, -1, 1, 1}; - field483 = (int)(Math.random() * 17.0D) - 8; - field486 = (int)(Math.random() * 33.0D) - 16; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Lcu;", - garbageValue = "946612961" - ) - @Export("getScript") - static Script getScript(int var0) { - Script var1 = (Script)Script.Script_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = Message.archive12.takeFile(var0, 0); - if (var2 == null) { - return null; - } else { - var1 = AttackOption.newScript(var2); - Script.Script_cached.put(var1, (long)var0); - return var1; - } - } - } - - @ObfuscatedName("fq") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "361955202" - ) - @Export("doCheat") - static final void doCheat(String var0) { - if (var0.equalsIgnoreCase("toggleroof")) { - Actor.clientPreferences.roofsHidden = !Actor.clientPreferences.roofsHidden; - class296.savePreferences(); - if (Actor.clientPreferences.roofsHidden) { - WorldMapCacheName.addGameMessage(99, "", "Roofs are now all hidden"); - } else { - WorldMapCacheName.addGameMessage(99, "", "Roofs will only be removed selectively"); - } - } - - if (var0.equalsIgnoreCase("displayfps")) { - Client.displayFps = !Client.displayFps; - } - - if (var0.equalsIgnoreCase("renderself")) { - Client.renderSelf = !Client.renderSelf; - } - - if (var0.equalsIgnoreCase("mouseovertext")) { - Client.showMouseOverText = !Client.showMouseOverText; - } - - if (Client.staffModLevel >= 2) { - if (var0.equalsIgnoreCase("errortest")) { - throw new RuntimeException(); - } - - if (var0.equalsIgnoreCase("showcoord")) { - GrandExchangeOfferUnitPriceComparator.worldMap.showCoord = !GrandExchangeOfferUnitPriceComparator.worldMap.showCoord; - } - - if (var0.equalsIgnoreCase("fpson")) { - Client.displayFps = true; - } - - if (var0.equalsIgnoreCase("fpsoff")) { - Client.displayFps = false; - } - - if (var0.equalsIgnoreCase("gc")) { - System.gc(); - } - - if (var0.equalsIgnoreCase("clientdrop")) { - class185.method3607(); - } - } - - PacketBufferNode var1 = MenuAction.getPacketBufferNode(ClientPacket.field2255, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(var0.length() + 1); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); - } - - @ObfuscatedName("gx") - @ObfuscatedSignature( - signature = "(IIIIIIIIII)V", - garbageValue = "1821175447" - ) - @Export("updatePendingSpawn") - static final void updatePendingSpawn(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - PendingSpawn var9 = null; - - for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) { - var9 = var10; - break; - } - } - - if (var9 == null) { - var9 = new PendingSpawn(); - var9.plane = var0; - var9.type = var3; - var9.x = var1; - var9.y = var2; - class16.method164(var9); - Client.pendingSpawns.addFirst(var9); - } - - var9.id = var4; - var9.field911 = var5; - var9.orientation = var6; - var9.delay = var7; - var9.hitpoints = var8; - } - - @ObfuscatedName("jd") - @ObfuscatedSignature( - signature = "([Lhy;IIIIIIII)V", - garbageValue = "1552145390" - ) - @Export("updateInterface") - static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - for (int var8 = 0; var8 < var0.length; ++var8) { - Widget var9 = var0[var8]; - if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || class60.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { - if (var9.isIf3) { - if (NetCache.isComponentHidden(var9)) { - continue; - } - } else if (var9.type == 0 && var9 != class32.mousedOverWidgetIf1 && NetCache.isComponentHidden(var9)) { - continue; - } - - int var10 = var9.x + var6; - int var11 = var7 + var9.y; - int var12; - int var13; - int var14; - int var15; - int var17; - int var18; - if (var9.type == 2) { - var12 = var2; - var13 = var3; - var14 = var4; - var15 = var5; - } else { - int var16; - if (var9.type == 9) { - var16 = var10; - var17 = var11; - var18 = var10 + var9.width; - int var19 = var11 + var9.height; - if (var18 < var10) { - var16 = var18; - var18 = var10; - } - - if (var19 < var11) { - var17 = var19; - var19 = var11; - } - - ++var18; - ++var19; - var12 = var16 > var2 ? var16 : var2; - var13 = var17 > var3 ? var17 : var3; - var14 = var18 < var4 ? var18 : var4; - var15 = var19 < var5 ? var19 : var5; - } else { - var16 = var10 + var9.width; - var17 = var11 + var9.height; - var12 = var10 > var2 ? var10 : var2; - var13 = var11 > var3 ? var11 : var3; - var14 = var16 < var4 ? var16 : var4; - var15 = var17 < var5 ? var17 : var5; - } - } - - if (var9 == Client.clickedWidget) { - Client.field803 = true; - Client.field804 = var10; - Client.field699 = var11; - } - - boolean var32 = false; - if (var9.field2612) { - switch(Client.field784) { - case 0: - var32 = true; - case 1: - default: - break; - case 2: - if (Client.field785 == var9.id >>> 16) { - var32 = true; - } - break; - case 3: - if (var9.id == Client.field785) { - var32 = true; - } - } - } - - if (var32 || !var9.isIf3 || var12 < var14 && var13 < var15) { - if (var9.isIf3) { - ScriptEvent var26; - if (var9.noClickThrough) { - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var26.isMouseInputEvent) { - var26.remove(); - var26.widget.containsMouse = false; - } - } - - if (ArchiveLoader.widgetDragDuration == 0) { - Client.clickedWidget = null; - Client.clickedWidgetParent = null; - } - - if (!Client.isMenuOpen) { - GraphicsObject.addCancelMenuEntry(); - } - } - } else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var26.isMouseInputEvent && var26.widget.onScroll == var26.args) { - var26.remove(); - } - } - } - } - - var17 = MouseHandler.MouseHandler_x; - var18 = MouseHandler.MouseHandler_y; - if (MouseHandler.MouseHandler_lastButton != 0) { - var17 = MouseHandler.MouseHandler_lastPressedX; - var18 = MouseHandler.MouseHandler_lastPressedY; - } - - boolean var33 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15; - if (var9.contentType == 1337) { - if (!Client.isLoading && !Client.isMenuOpen && var33) { - ModelData0.addSceneMenuOptions(var17, var18, var12, var13); - } - } else if (var9.contentType == 1338) { - class223.checkIfMinimapClicked(var9, var10, var11); - } else { - if (var9.contentType == 1400) { - GrandExchangeOfferUnitPriceComparator.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var33, var10, var11, var9.width, var9.height); - } - - if (!Client.isMenuOpen && var33) { - if (var9.contentType == 1400) { - GrandExchangeOfferUnitPriceComparator.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18); - } else { - WorldMapSection0.method217(var9, var17 - var10, var18 - var11); - } - } - - boolean var21; - int var23; - if (var32) { - for (int var20 = 0; var20 < var9.field2671.length; ++var20) { - var21 = false; - boolean var22 = false; - if (!var21 && var9.field2671[var20] != null) { - for (var23 = 0; var23 < var9.field2671[var20].length; ++var23) { - boolean var24 = false; - if (var9.field2656 != null) { - var24 = KeyHandler.KeyHandler_pressedKeys[var9.field2671[var20][var23]]; - } - - if (WorldMapSection0.method216(var9.field2671[var20][var23]) || var24) { - var21 = true; - if (var9.field2656 != null && var9.field2656[var20] > Client.cycle) { - break; - } - - byte var25 = var9.field2614[var20][var23]; - if (var25 == 0 || ((var25 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var25 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var25 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var25 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) { - var22 = true; - break; - } - } - } - } - - if (var22) { - if (var20 < 10) { - TileItem.method2093(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); - } else if (var20 == 10) { - FloorDecoration.Widget_runOnTargetLeave(); - Player.selectSpell(var9.id, var9.childIndex, WorldMapElement.method4390(class60.getWidgetClickMask(var9)), var9.itemId); - Client.selectedSpellActionName = class16.method165(var9); - if (Client.selectedSpellActionName == null) { - Client.selectedSpellActionName = "null"; - } - - Client.selectedSpellName = var9.dataText + UserComparator7.colorStartTag(16777215); - } - - var23 = var9.field2615[var20]; - if (var9.field2656 == null) { - var9.field2656 = new int[var9.field2671.length]; - } - - if (var9.field2616 == null) { - var9.field2616 = new int[var9.field2671.length]; - } - - if (var23 != 0) { - if (var9.field2656[var20] == 0) { - var9.field2656[var20] = var23 + Client.cycle + var9.field2616[var20]; - } else { - var9.field2656[var20] = var23 + Client.cycle; - } - } else { - var9.field2656[var20] = Integer.MAX_VALUE; - } - } - - if (!var21 && var9.field2656 != null) { - var9.field2656[var20] = 0; - } - } - } - - if (var9.isIf3) { - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - var33 = true; - } else { - var33 = false; - } - - boolean var34 = false; - if ((MouseHandler.MouseHandler_currentButton == 1 || !WorldMapSection1.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var33) { - var34 = true; - } - - var21 = false; - if ((MouseHandler.MouseHandler_lastButton == 1 || !WorldMapSection1.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { - var21 = true; - } - - if (var21) { - class83.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); - } - - if (var9.contentType == 1400) { - GrandExchangeOfferUnitPriceComparator.worldMap.method6284(var17, var18, var33 & var34, var33 & var21); - } - - if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && class222.method4101(class60.getWidgetClickMask(var9))) { - Client.draggedOnWidget = var9; - } - - if (var9 == Client.clickedWidgetParent) { - Client.field800 = true; - Client.field801 = var10; - Client.field706 = var11; - } - - if (var9.hasListener) { - ScriptEvent var29; - if (var33 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseY = Client.mouseWheelRotation; - var29.args = var9.onScroll; - Client.scriptEvents.addFirst(var29); - } - - if (Client.clickedWidget != null || class4.dragInventoryWidget != null || Client.isMenuOpen) { - var21 = false; - var34 = false; - var33 = false; - } - - if (!var9.isClicked && var21) { - var9.isClicked = true; - if (var9.onClick != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; - var29.mouseY = MouseHandler.MouseHandler_lastPressedY - var11; - var29.args = var9.onClick; - Client.scriptEvents.addFirst(var29); - } - } - - if (var9.isClicked && var34 && var9.onClickRepeat != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseX = MouseHandler.MouseHandler_x - var10; - var29.mouseY = MouseHandler.MouseHandler_y - var11; - var29.args = var9.onClickRepeat; - Client.scriptEvents.addFirst(var29); - } - - if (var9.isClicked && !var34) { - var9.isClicked = false; - if (var9.onRelease != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseX = MouseHandler.MouseHandler_x - var10; - var29.mouseY = MouseHandler.MouseHandler_y - var11; - var29.args = var9.onRelease; - Client.field823.addFirst(var29); - } - } - - if (var34 && var9.onHold != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseX = MouseHandler.MouseHandler_x - var10; - var29.mouseY = MouseHandler.MouseHandler_y - var11; - var29.args = var9.onHold; - Client.scriptEvents.addFirst(var29); - } - - if (!var9.containsMouse && var33) { - var9.containsMouse = true; - if (var9.onMouseOver != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseX = MouseHandler.MouseHandler_x - var10; - var29.mouseY = MouseHandler.MouseHandler_y - var11; - var29.args = var9.onMouseOver; - Client.scriptEvents.addFirst(var29); - } - } - - if (var9.containsMouse && var33 && var9.onMouseRepeat != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseX = MouseHandler.MouseHandler_x - var10; - var29.mouseY = MouseHandler.MouseHandler_y - var11; - var29.args = var9.onMouseRepeat; - Client.scriptEvents.addFirst(var29); - } - - if (var9.containsMouse && !var33) { - var9.containsMouse = false; - if (var9.onMouseLeave != null) { - var29 = new ScriptEvent(); - var29.isMouseInputEvent = true; - var29.widget = var9; - var29.mouseX = MouseHandler.MouseHandler_x - var10; - var29.mouseY = MouseHandler.MouseHandler_y - var11; - var29.args = var9.onMouseLeave; - Client.field823.addFirst(var29); - } - } - - if (var9.onTimer != null) { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onTimer; - Client.field822.addFirst(var29); - } - - ScriptEvent var30; - int var35; - int var36; - if (var9.onVarTransmit != null && Client.field809 > var9.field2672) { - if (var9.varTransmitTriggers != null && Client.field809 - var9.field2672 <= 32) { - label900: - for (var35 = var9.field2672; var35 < Client.field809; ++var35) { - var23 = Client.field808[var35 & 31]; - - for (var36 = 0; var36 < var9.varTransmitTriggers.length; ++var36) { - if (var23 == var9.varTransmitTriggers[var36]) { - var30 = new ScriptEvent(); - var30.widget = var9; - var30.args = var9.onVarTransmit; - Client.scriptEvents.addFirst(var30); - break label900; - } - } - } - } else { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onVarTransmit; - Client.scriptEvents.addFirst(var29); - } - - var9.field2672 = Client.field809; - } - - if (var9.onInvTransmit != null && Client.field811 > var9.field2673) { - if (var9.invTransmitTriggers != null && Client.field811 - var9.field2673 <= 32) { - label876: - for (var35 = var9.field2673; var35 < Client.field811; ++var35) { - var23 = Client.field810[var35 & 31]; - - for (var36 = 0; var36 < var9.invTransmitTriggers.length; ++var36) { - if (var23 == var9.invTransmitTriggers[var36]) { - var30 = new ScriptEvent(); - var30.widget = var9; - var30.args = var9.onInvTransmit; - Client.scriptEvents.addFirst(var30); - break label876; - } - } - } - } else { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onInvTransmit; - Client.scriptEvents.addFirst(var29); - } - - var9.field2673 = Client.field811; - } - - if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field2674) { - if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field2674 <= 32) { - label852: - for (var35 = var9.field2674; var35 < Client.changedSkillsCount; ++var35) { - var23 = Client.changedSkills[var35 & 31]; - - for (var36 = 0; var36 < var9.statTransmitTriggers.length; ++var36) { - if (var23 == var9.statTransmitTriggers[var36]) { - var30 = new ScriptEvent(); - var30.widget = var9; - var30.args = var9.onStatTransmit; - Client.scriptEvents.addFirst(var30); - break label852; - } - } - } - } else { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onStatTransmit; - Client.scriptEvents.addFirst(var29); - } - - var9.field2674 = Client.changedSkillsCount; - } - - if (Client.chatCycle > var9.field2529 && var9.onChatTransmit != null) { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onChatTransmit; - Client.scriptEvents.addFirst(var29); - } - - if (Client.field815 > var9.field2529 && var9.onFriendTransmit != null) { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onFriendTransmit; - Client.scriptEvents.addFirst(var29); - } - - if (Client.field816 > var9.field2529 && var9.onClanTransmit != null) { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onClanTransmit; - Client.scriptEvents.addFirst(var29); - } - - if (Client.field866 > var9.field2529 && var9.onStockTransmit != null) { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onStockTransmit; - Client.scriptEvents.addFirst(var29); - } - - if (Client.field818 > var9.field2529 && var9.field2655 != null) { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.field2655; - Client.scriptEvents.addFirst(var29); - } - - if (Client.field670 > var9.field2529 && var9.onMiscTransmit != null) { - var29 = new ScriptEvent(); - var29.widget = var9; - var29.args = var9.onMiscTransmit; - Client.scriptEvents.addFirst(var29); - } - - var9.field2529 = Client.cycleCntr; - if (var9.onKey != null) { - for (var35 = 0; var35 < Client.field844; ++var35) { - ScriptEvent var31 = new ScriptEvent(); - var31.widget = var9; - var31.keyTyped = Client.field846[var35]; - var31.keyPressed = Client.field845[var35]; - var31.args = var9.onKey; - Client.scriptEvents.addFirst(var31); - } - } - } - } - - if (!var9.isIf3) { - if (Client.clickedWidget != null || class4.dragInventoryWidget != null || Client.isMenuOpen) { - continue; - } - - if ((var9.mouseOverRedirect >= 0 || var9.mouseOverColor != 0) && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - if (var9.mouseOverRedirect >= 0) { - class32.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect]; - } else { - class32.mousedOverWidgetIf1 = var9; - } - } - - if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { - AbstractWorldMapIcon.field292 = var9; - } - - if (var9.scrollHeight > var9.height) { - class1.method16(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y); - } - } - - if (var9.type == 0) { - updateInterface(var0, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); - if (var9.children != null) { - updateInterface(var9.children, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); - } - - InterfaceParent var27 = (InterfaceParent)Client.interfaceParents.get((long)var9.id); - if (var27 != null) { - if (var27.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) { - for (ScriptEvent var28 = (ScriptEvent)Client.scriptEvents.last(); var28 != null; var28 = (ScriptEvent)Client.scriptEvents.previous()) { - if (var28.isMouseInputEvent) { - var28.remove(); - var28.widget.containsMouse = false; - } - } - - if (ArchiveLoader.widgetDragDuration == 0) { - Client.clickedWidget = null; - Client.clickedWidgetParent = null; - } - - if (!Client.isMenuOpen) { - GraphicsObject.addCancelMenuEntry(); - } - } - - TextureProvider.updateRootInterface(var27.group, var12, var13, var14, var15, var10, var11); - } - } - } - } - } - } - - } -} +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.ScriptOpcodes; + +@ObfuscatedName("bm") +@Implements("Tiles") +public final class Tiles { + @ObfuscatedName("rv") + @ObfuscatedSignature( + signature = "Lbf;" + ) + @Export("friendSystem") + public static FriendSystem friendSystem; + @ObfuscatedName("sv") + @ObfuscatedSignature( + signature = "Lla;" + ) + @Export("worldMap") + static WorldMap worldMap; + @ObfuscatedName("z") + @Export("Tiles_heights") + static int[][][] Tiles_heights; + @ObfuscatedName("n") + @Export("Tiles_renderFlags") + static byte[][][] Tiles_renderFlags; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 380288965 + ) + @Export("Tiles_minPlane") + static int Tiles_minPlane; + @ObfuscatedName("u") + static byte[][][] field501; + @ObfuscatedName("r") + static byte[][][] field483; + @ObfuscatedName("m") + static byte[][][] field486; + @ObfuscatedName("i") + @Export("Tiles_hue") + static int[] Tiles_hue; + @ObfuscatedName("b") + @Export("Tiles_lightness") + static int[] Tiles_lightness; + @ObfuscatedName("a") + static int[] field487; + @ObfuscatedName("e") + static int[][][] field488; + @ObfuscatedName("x") + static final int[] field489; + @ObfuscatedName("h") + static final int[] field493; + @ObfuscatedName("s") + static final int[] field491; + @ObfuscatedName("f") + static final int[] field492; + @ObfuscatedName("j") + static final int[] field484; + @ObfuscatedName("d") + static final int[] field494; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 832386391 + ) + static int field482; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1017991539 + ) + static int field496; + @ObfuscatedName("fy") + @ObfuscatedGetter( + longValue = 5157755524987291675L + ) + static long field495; + + static { + Tiles_heights = new int[4][105][105]; + Tiles_renderFlags = new byte[4][104][104]; + Tiles_minPlane = 99; + field489 = new int[]{1, 2, 4, 8}; + field493 = new int[]{16, 32, 64, 128}; + field491 = new int[]{1, 0, -1, 0}; + field492 = new int[]{0, -1, 0, 1}; + field484 = new int[]{1, -1, -1, 1}; + field494 = new int[]{-1, -1, 1, 1}; + field482 = (int)(Math.random() * 17.0D) - 8; + field496 = (int)(Math.random() * 33.0D) - 16; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "([BB)V", + garbageValue = "36" + ) + @Export("SpriteBuffer_decode") + public static void SpriteBuffer_decode(byte[] var0) { + Buffer var1 = new Buffer(var0); + var1.offset = var0.length - 2; + class325.SpriteBuffer_spriteCount = var1.readUnsignedShort(); + class325.SpriteBuffer_xOffsets = new int[class325.SpriteBuffer_spriteCount]; + MusicPatchPcmStream.SpriteBuffer_yOffsets = new int[class325.SpriteBuffer_spriteCount]; + class325.SpriteBuffer_spriteWidths = new int[class325.SpriteBuffer_spriteCount]; + RunException.SpriteBuffer_spriteHeights = new int[class325.SpriteBuffer_spriteCount]; + PacketBufferNode.SpriteBuffer_pixels = new byte[class325.SpriteBuffer_spriteCount][]; + var1.offset = var0.length - 7 - class325.SpriteBuffer_spriteCount * 8; + class325.SpriteBuffer_spriteWidth = var1.readUnsignedShort(); + Frames.SpriteBuffer_spriteHeight = var1.readUnsignedShort(); + int var2 = (var1.readUnsignedByte() & 255) + 1; + + int var3; + for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { + class325.SpriteBuffer_xOffsets[var3] = var1.readUnsignedShort(); + } + + for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { + MusicPatchPcmStream.SpriteBuffer_yOffsets[var3] = var1.readUnsignedShort(); + } + + for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { + class325.SpriteBuffer_spriteWidths[var3] = var1.readUnsignedShort(); + } + + for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { + RunException.SpriteBuffer_spriteHeights[var3] = var1.readUnsignedShort(); + } + + var1.offset = var0.length - 7 - class325.SpriteBuffer_spriteCount * 8 - (var2 - 1) * 3; + class325.SpriteBuffer_spritePalette = new int[var2]; + + for (var3 = 1; var3 < var2; ++var3) { + class325.SpriteBuffer_spritePalette[var3] = var1.readMedium(); + if (class325.SpriteBuffer_spritePalette[var3] == 0) { + class325.SpriteBuffer_spritePalette[var3] = 1; + } + } + + var1.offset = 0; + + for (var3 = 0; var3 < class325.SpriteBuffer_spriteCount; ++var3) { + int var4 = class325.SpriteBuffer_spriteWidths[var3]; + int var5 = RunException.SpriteBuffer_spriteHeights[var3]; + int var6 = var4 * var5; + byte[] var7 = new byte[var6]; + PacketBufferNode.SpriteBuffer_pixels[var3] = var7; + int var8 = var1.readUnsignedByte(); + int var9; + if (var8 == 0) { + for (var9 = 0; var9 < var6; ++var9) { + var7[var9] = var1.readByte(); + } + } else if (var8 == 1) { + for (var9 = 0; var9 < var4; ++var9) { + for (int var10 = 0; var10 < var5; ++var10) { + var7[var9 + var4 * var10] = var1.readByte(); + } + } + } + } + + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(ILcu;ZB)I", + garbageValue = "-18" + ) + static int method1110(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else { + var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + } + + String var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + int[] var5 = null; + if (var4.length() > 0 && var4.charAt(var4.length() - 1) == 'Y') { + int var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var6 > 0) { + for (var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]) { + } + } + + var4 = var4.substring(0, var4.length() - 1); + } + + Object[] var8 = new Object[var4.length() + 1]; + + int var7; + for (var7 = var8.length - 1; var7 >= 1; --var7) { + if (var4.charAt(var7 - 1) == 's') { + var8[var7] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + } else { + var8[var7] = new Integer(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } + } + + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var7 != -1) { + var8[0] = new Integer(var7); + } else { + var8 = null; + } + + if (var0 == ScriptOpcodes.CC_SETONCLICK) { + var3.onClick = var8; + } else if (var0 == ScriptOpcodes.CC_SETONHOLD) { + var3.onHold = var8; + } else if (var0 == ScriptOpcodes.CC_SETONRELEASE) { + var3.onRelease = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSEOVER) { + var3.onMouseOver = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSELEAVE) { + var3.onMouseLeave = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDRAG) { + var3.onDrag = var8; + } else if (var0 == ScriptOpcodes.CC_SETONTARGETLEAVE) { + var3.onTargetLeave = var8; + } else if (var0 == ScriptOpcodes.CC_SETONVARTRANSMIT) { + var3.onVarTransmit = var8; + var3.varTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONTIMER) { + var3.onTimer = var8; + } else if (var0 == ScriptOpcodes.CC_SETONOP) { + var3.onOp = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDRAGCOMPLETE) { + var3.onDragComplete = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLICKREPEAT) { + var3.onClickRepeat = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSEREPEAT) { + var3.onMouseRepeat = var8; + } else if (var0 == ScriptOpcodes.CC_SETONINVTRANSMIT) { + var3.onInvTransmit = var8; + var3.invTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONSTATTRANSMIT) { + var3.onStatTransmit = var8; + var3.statTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONTARGETENTER) { + var3.onTargetEnter = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSCROLLWHEEL) { + var3.onScroll = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCHATTRANSMIT) { + var3.onChatTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONKEY) { + var3.onKey = var8; + } else if (var0 == ScriptOpcodes.CC_SETONFRIENDTRANSMIT) { + var3.onFriendTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLANTRANSMIT) { + var3.onClanTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMISCTRANSMIT) { + var3.onMiscTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDIALOGABORT) { + var3.onDialogAbort = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSUBCHANGE) { + var3.onSubChange = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSTOCKTRANSMIT) { + var3.onStockTransmit = var8; + } else if (var0 == 1426) { + var3.field2662 = var8; + } else { + if (var0 != ScriptOpcodes.CC_SETONRESIZE) { + return 2; + } + + var3.onResize = var8; + } + + var3.hasListener = true; + return 1; + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(ILcu;ZB)I", + garbageValue = "59" + ) + static int method1156(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.publicChatMode; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { + Interpreter.Interpreter_intStackSize -= 3; + Client.publicChatMode = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + class219.privateChatMode = Fonts.method5258(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + if (class219.privateChatMode == null) { + class219.privateChatMode = PrivateChatMode.field3791; + } + + Client.tradeChatMode = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + PacketBufferNode var18 = InterfaceParent.getPacketBufferNode(ClientPacket.field2233, Client.packetWriter.isaacCipher); + var18.packetBuffer.writeByte(Client.publicChatMode); + var18.packetBuffer.writeByte(class219.privateChatMode.field3793); + var18.packetBuffer.writeByte(Client.tradeChatMode); + Client.packetWriter.addNode(var18); + return 1; + } else { + String var3; + int var4; + if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + PacketBufferNode var6 = InterfaceParent.getPacketBufferNode(ClientPacket.field2276, Client.packetWriter.isaacCipher); + var6.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var3) + 2); + var6.packetBuffer.writeStringCp1252NullTerminated(var3); + var6.packetBuffer.writeByte(var4 - 1); + var6.packetBuffer.writeByte(var5); + Client.packetWriter.addNode(var6); + return 1; + } else { + int var10; + if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { + Interpreter.Interpreter_intStackSize -= 2; + var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Message var15 = HealthBarUpdate.Messages_getByChannelAndID(var10, var4); + if (var15 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var15.count; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var15.cycle; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var15.sender != null ? var15.sender : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var15.prefix != null ? var15.prefix : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var15.text != null ? var15.text : ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var15.isFromFriend() ? 1 : (var15.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Message var16 = GrandExchangeOfferOwnWorldComparator.Messages_getMessage(var10); + if (var16 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var16.type; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var16.cycle; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.sender != null ? var16.sender : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.prefix != null ? var16.prefix : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.text != null ? var16.text : ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var16.isFromFriend() ? 1 : (var16.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { + if (class219.privateChatMode == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class219.privateChatMode.field3793; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + String var14 = var3.toLowerCase(); + byte var17 = 0; + if (var14.startsWith("yellow:")) { + var17 = 0; + var3 = var3.substring("yellow:".length()); + } else if (var14.startsWith("red:")) { + var17 = 1; + var3 = var3.substring("red:".length()); + } else if (var14.startsWith("green:")) { + var17 = 2; + var3 = var3.substring("green:".length()); + } else if (var14.startsWith("cyan:")) { + var17 = 3; + var3 = var3.substring("cyan:".length()); + } else if (var14.startsWith("purple:")) { + var17 = 4; + var3 = var3.substring("purple:".length()); + } else if (var14.startsWith("white:")) { + var17 = 5; + var3 = var3.substring("white:".length()); + } else if (var14.startsWith("flash1:")) { + var17 = 6; + var3 = var3.substring("flash1:".length()); + } else if (var14.startsWith("flash2:")) { + var17 = 7; + var3 = var3.substring("flash2:".length()); + } else if (var14.startsWith("flash3:")) { + var17 = 8; + var3 = var3.substring("flash3:".length()); + } else if (var14.startsWith("glow1:")) { + var17 = 9; + var3 = var3.substring("glow1:".length()); + } else if (var14.startsWith("glow2:")) { + var17 = 10; + var3 = var3.substring("glow2:".length()); + } else if (var14.startsWith("glow3:")) { + var17 = 11; + var3 = var3.substring("glow3:".length()); + } else if (WorldMapLabelSize.clientLanguage != Language.Language_EN) { + if (var14.startsWith("yellow:")) { + var17 = 0; + var3 = var3.substring("yellow:".length()); + } else if (var14.startsWith("red:")) { + var17 = 1; + var3 = var3.substring("red:".length()); + } else if (var14.startsWith("green:")) { + var17 = 2; + var3 = var3.substring("green:".length()); + } else if (var14.startsWith("cyan:")) { + var17 = 3; + var3 = var3.substring("cyan:".length()); + } else if (var14.startsWith("purple:")) { + var17 = 4; + var3 = var3.substring("purple:".length()); + } else if (var14.startsWith("white:")) { + var17 = 5; + var3 = var3.substring("white:".length()); + } else if (var14.startsWith("flash1:")) { + var17 = 6; + var3 = var3.substring("flash1:".length()); + } else if (var14.startsWith("flash2:")) { + var17 = 7; + var3 = var3.substring("flash2:".length()); + } else if (var14.startsWith("flash3:")) { + var17 = 8; + var3 = var3.substring("flash3:".length()); + } else if (var14.startsWith("glow1:")) { + var17 = 9; + var3 = var3.substring("glow1:".length()); + } else if (var14.startsWith("glow2:")) { + var17 = 10; + var3 = var3.substring("glow2:".length()); + } else if (var14.startsWith("glow3:")) { + var17 = 11; + var3 = var3.substring("glow3:".length()); + } + } + + var14 = var3.toLowerCase(); + byte var7 = 0; + if (var14.startsWith("wave:")) { + var7 = 1; + var3 = var3.substring("wave:".length()); + } else if (var14.startsWith("wave2:")) { + var7 = 2; + var3 = var3.substring("wave2:".length()); + } else if (var14.startsWith("shake:")) { + var7 = 3; + var3 = var3.substring("shake:".length()); + } else if (var14.startsWith("scroll:")) { + var7 = 4; + var3 = var3.substring("scroll:".length()); + } else if (var14.startsWith("slide:")) { + var7 = 5; + var3 = var3.substring("slide:".length()); + } else if (Language.Language_EN != WorldMapLabelSize.clientLanguage) { + if (var14.startsWith("wave:")) { + var7 = 1; + var3 = var3.substring("wave:".length()); + } else if (var14.startsWith("wave2:")) { + var7 = 2; + var3 = var3.substring("wave2:".length()); + } else if (var14.startsWith("shake:")) { + var7 = 3; + var3 = var3.substring("shake:".length()); + } else if (var14.startsWith("scroll:")) { + var7 = 4; + var3 = var3.substring("scroll:".length()); + } else if (var14.startsWith("slide:")) { + var7 = 5; + var3 = var3.substring("slide:".length()); + } + } + + PacketBufferNode var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2216, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(0); + int var9 = var8.packetBuffer.offset; + var8.packetBuffer.writeByte(var4); + var8.packetBuffer.writeByte(var17); + var8.packetBuffer.writeByte(var7); + ArchiveDisk.method5779(var8.packetBuffer, var3); + var8.packetBuffer.writeLengthByte(var8.packetBuffer.offset - var9); + Client.packetWriter.addNode(var8); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + String var12 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + PacketBufferNode var11 = InterfaceParent.getPacketBufferNode(ClientPacket.field2193, Client.packetWriter.isaacCipher); + var11.packetBuffer.writeShort(0); + int var13 = var11.packetBuffer.offset; + var11.packetBuffer.writeStringCp1252NullTerminated(var3); + ArchiveDisk.method5779(var11.packetBuffer, var12); + var11.packetBuffer.writeLengthShort(var11.packetBuffer.offset - var13); + Client.packetWriter.addNode(var11); + return 1; + } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.tradeChatMode; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Projectile.Messages_getHistorySize(var10); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class13.Messages_getNextChatID(var10); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Clock.Messages_getLastChatID(var10); + return 1; + } else if (var0 == ScriptOpcodes.DOCHEAT) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + WorldMapSection0.doCheat(var3); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { + Client.field907 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize].toLowerCase().trim(); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Client.field907; + return 1; + } else if (var0 == ScriptOpcodes.DEBUGMES) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + System.out.println(var3); + return 1; + } else { + return 2; + } + } else { + if (class223.localPlayer != null && class223.localPlayer.username != null) { + var3 = class223.localPlayer.username.getName(); + } else { + var3 = ""; + } + + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; + return 1; + } + } + } + } +} diff --git a/runescape-client/src/main/java/Timer.java b/runescape-client/src/main/java/Timer.java index 9de9fa640e..4daa962552 100644 --- a/runescape-client/src/main/java/Timer.java +++ b/runescape-client/src/main/java/Timer.java @@ -1,174 +1,191 @@ -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("jg") -@Implements("Timer") -public class Timer { - @ObfuscatedName("dw") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive5") - static Archive archive5; - @ObfuscatedName("c") - @ObfuscatedGetter( - longValue = -9171903714968866551L - ) - long field3554; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = -5435914068902999871L - ) - long field3550; - @ObfuscatedName("t") - public boolean field3549; - @ObfuscatedName("g") - @ObfuscatedGetter( - longValue = -1599166802350177409L - ) - long field3547; - @ObfuscatedName("l") - @ObfuscatedGetter( - longValue = 4372389580861267497L - ) - long field3551; - @ObfuscatedName("u") - @ObfuscatedGetter( - longValue = 5316590132412911643L - ) - long field3552; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1679669669 - ) - int field3553; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1804275999 - ) - int field3548; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 899354811 - ) - int field3555; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1638408903 - ) - int field3557; - - public Timer() { - this.field3554 = -1L; - this.field3550 = -1L; - this.field3549 = false; - this.field3547 = 0L; - this.field3551 = 0L; - this.field3552 = 0L; - this.field3553 = 0; - this.field3548 = 0; - this.field3555 = 0; - this.field3557 = 0; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1784177265" - ) - public void method4969() { - this.field3554 = SoundCache.method2480(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - public void method4985() { - if (this.field3554 != -1L) { - this.field3551 = SoundCache.method2480() - this.field3554; - this.field3554 = -1L; - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1453810338" - ) - public void method4971(int var1) { - this.field3550 = SoundCache.method2480(); - this.field3553 = var1; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-81603528" - ) - public void method4972() { - if (-1L != this.field3550) { - this.field3547 = SoundCache.method2480() - this.field3550; - this.field3550 = -1L; - } - - ++this.field3555; - this.field3549 = true; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "934380433" - ) - public void method4973() { - this.field3549 = false; - this.field3548 = 0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "122" - ) - public void method4982() { - this.method4972(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1973767266" - ) - @Export("write") - public void write(Buffer var1) { - long var2 = this.field3551; - var2 /= 10L; - if (var2 < 0L) { - var2 = 0L; - } else if (var2 > 65535L) { - var2 = 65535L; - } - - var1.writeShort((int)var2); - VertexNormal.method2958(var1, this.field3547); - long var4 = this.field3552; - var4 /= 10L; - if (var4 < 0L) { - var4 = 0L; - } else if (var4 > 65535L) { - var4 = 65535L; - } - - var1.writeShort((int)var4); - var1.writeShort(this.field3553); - var1.writeShort(this.field3548); - var1.writeShort(this.field3555); - var1.writeShort(this.field3557); - } -} +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("jd") +@Implements("Timer") +public class Timer { + @ObfuscatedName("z") + @ObfuscatedGetter( + longValue = 4462782034314037381L + ) + long field3561; + @ObfuscatedName("n") + @ObfuscatedGetter( + longValue = 6292636731397039659L + ) + long field3562; + @ObfuscatedName("v") + public boolean field3563; + @ObfuscatedName("u") + @ObfuscatedGetter( + longValue = 514076061416709505L + ) + long field3564; + @ObfuscatedName("r") + @ObfuscatedGetter( + longValue = 7643347149191032091L + ) + long field3565; + @ObfuscatedName("p") + @ObfuscatedGetter( + longValue = 5130392401661119113L + ) + long field3566; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1178458711 + ) + int field3567; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1318775007 + ) + int field3568; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 808032681 + ) + int field3569; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1068681997 + ) + int field3570; + + public Timer() { + this.field3561 = -1L; + this.field3562 = -1L; + this.field3563 = false; + this.field3564 = 0L; + this.field3565 = 0L; + this.field3566 = 0L; + this.field3567 = 0; + this.field3568 = 0; + this.field3569 = 0; + this.field3570 = 0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-20" + ) + public void method4924() { + this.field3561 = class30.method566(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "1" + ) + public void method4925() { + if (-1L != this.field3561) { + this.field3565 = class30.method566() - this.field3561; + this.field3561 = -1L; + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-1928577406" + ) + public void method4926(int var1) { + this.field3562 = class30.method566(); + this.field3567 = var1; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1202204199" + ) + public void method4927() { + if (-1L != this.field3562) { + this.field3564 = class30.method566() - this.field3562; + this.field3562 = -1L; + } + + ++this.field3569; + this.field3563 = true; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-832320221" + ) + public void method4928() { + this.field3563 = false; + this.field3568 = 0; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1318451763" + ) + public void method4929() { + this.method4927(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-1798294121" + ) + @Export("write") + public void write(Buffer var1) { + long var2 = this.field3565; + var2 /= 10L; + if (var2 < 0L) { + var2 = 0L; + } else if (var2 > 65535L) { + var2 = 65535L; + } + + var1.writeShort((int)var2); + long var4 = this.field3564; + var4 /= 10L; + if (var4 < 0L) { + var4 = 0L; + } else if (var4 > 65535L) { + var4 = 65535L; + } + + var1.writeShort((int)var4); + long var6 = this.field3566; + var6 /= 10L; + if (var6 < 0L) { + var6 = 0L; + } else if (var6 > 65535L) { + var6 = 65535L; + } + + var1.writeShort((int)var6); + var1.writeShort(this.field3567); + var1.writeShort(this.field3568); + var1.writeShort(this.field3569); + var1.writeShort(this.field3570); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "7" + ) + public static int method4923(int var0) { + --var0; + var0 |= var0 >>> 1; + var0 |= var0 >>> 2; + var0 |= var0 >>> 4; + var0 |= var0 >>> 8; + var0 |= var0 >>> 16; + return var0 + 1; + } +} diff --git a/runescape-client/src/main/java/TriBool.java b/runescape-client/src/main/java/TriBool.java index 843bb43685..721363f174 100644 --- a/runescape-client/src/main/java/TriBool.java +++ b/runescape-client/src/main/java/TriBool.java @@ -1,36 +1,36 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jb") -@Implements("TriBool") -public class TriBool { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("TriBool_unknown") - public static final TriBool TriBool_unknown; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("TriBool_true") - public static final TriBool TriBool_true; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Ljb;" - ) - @Export("TriBool_false") - public static final TriBool TriBool_false; - - static { - TriBool_unknown = new TriBool(); - TriBool_true = new TriBool(); - TriBool_false = new TriBool(); - } - - TriBool() { - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jm") +@Implements("TriBool") +public class TriBool { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("TriBool_unknown") + public static final TriBool TriBool_unknown; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("TriBool_true") + public static final TriBool TriBool_true; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ljm;" + ) + @Export("TriBool_false") + public static final TriBool TriBool_false; + + static { + TriBool_unknown = new TriBool(); + TriBool_true = new TriBool(); + TriBool_false = new TriBool(); + } + + TriBool() { + } +} diff --git a/runescape-client/src/main/java/UrlRequest.java b/runescape-client/src/main/java/UrlRequest.java index e91ca6d826..c2962b35e2 100644 --- a/runescape-client/src/main/java/UrlRequest.java +++ b/runescape-client/src/main/java/UrlRequest.java @@ -1,67 +1,331 @@ -import java.net.URL; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("eq") -@Implements("UrlRequest") -public class UrlRequest { - @ObfuscatedName("dk") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive19") - static Archive archive19; - @ObfuscatedName("gv") - @ObfuscatedSignature( - signature = "Lli;" - ) - @Export("compass") - static Sprite compass; - @ObfuscatedName("c") - @Export("url") - final URL url; - @ObfuscatedName("x") - @Export("isDone0") - volatile boolean isDone0; - @ObfuscatedName("t") - @Export("response0") - volatile byte[] response0; - - UrlRequest(URL var1) { - this.url = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "18901995" - ) - @Export("isDone") - public boolean isDone() { - return this.isDone0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)[B", - garbageValue = "-1475340215" - ) - @Export("getResponse") - public byte[] getResponse() { - return this.response0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1057408025" - ) - static void method3276(int var0) { - ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var1 != null) { - var1.remove(); - } - } -} +import java.net.URL; +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("eh") +@Implements("UrlRequest") +public class UrlRequest { + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -535227307 + ) + @Export("PcmPlayer_sampleRate") + public static int PcmPlayer_sampleRate; + @ObfuscatedName("gq") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("crossSprites") + static Sprite[] crossSprites; + @ObfuscatedName("z") + @Export("url") + final URL url; + @ObfuscatedName("n") + @Export("isDone0") + volatile boolean isDone0; + @ObfuscatedName("v") + @Export("response0") + volatile byte[] response0; + + UrlRequest(URL var1) { + this.url = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "737522726" + ) + @Export("isDone") + public boolean isDone() { + return this.isDone0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)[B", + garbageValue = "-213988486" + ) + @Export("getResponse") + public byte[] getResponse() { + return this.response0; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "142413926" + ) + public static void method3265() { + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3127 != 0) { + ArchiveDiskActionHandler.field3127 = 1; + + try { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait(); + } catch (InterruptedException var3) { + } + } + + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkf;II)V", + garbageValue = "-1347303356" + ) + @Export("readPlayerUpdate") + static void readPlayerUpdate(PacketBuffer var0, int var1) { + boolean var2 = var0.readBits(1) == 1; + if (var2) { + Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; + } + + int var3 = var0.readBits(2); + Player var4 = Client.players[var1]; + if (var3 == 0) { + if (var2) { + var4.field621 = false; + } else if (Client.localPlayerIndex == var1) { + throw new RuntimeException(); + } else { + Players.Players_regions[var1] = (var4.plane << 28) + (class223.baseX * 64 + var4.pathX[0] >> 13 << 14) + (class286.baseY * 64 + var4.pathY[0] >> 13); + if (var4.field957 != -1) { + Players.Players_orientations[var1] = var4.field957; + } else { + Players.Players_orientations[var1] = var4.orientation; + } + + Players.Players_targetIndices[var1] = var4.targetIndex; + Client.players[var1] = null; + if (var0.readBits(1) != 0) { + class290.updateExternalPlayer(var0, var1); + } + + } + } else { + int var5; + int var6; + int var7; + if (var3 == 1) { + var5 = var0.readBits(3); + var6 = var4.pathX[0]; + var7 = var4.pathY[0]; + if (var5 == 0) { + --var6; + --var7; + } else if (var5 == 1) { + --var7; + } else if (var5 == 2) { + ++var6; + --var7; + } else if (var5 == 3) { + --var6; + } else if (var5 == 4) { + ++var6; + } else if (var5 == 5) { + --var6; + ++var7; + } else if (var5 == 6) { + ++var7; + } else if (var5 == 7) { + ++var6; + ++var7; + } + + if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y * 682054857 >= 1536 && var4.x < 11776 && var4.y * 682054857 < 11776) { + if (var2) { + var4.field621 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field621 = false; + var4.method1274(var6, var7, Players.field1235[var1]); + } + } else { + var4.resetPath(var6, var7); + var4.field621 = false; + } + + } else if (var3 == 2) { + var5 = var0.readBits(4); + var6 = var4.pathX[0]; + var7 = var4.pathY[0]; + if (var5 == 0) { + var6 -= 2; + var7 -= 2; + } else if (var5 == 1) { + --var6; + var7 -= 2; + } else if (var5 == 2) { + var7 -= 2; + } else if (var5 == 3) { + ++var6; + var7 -= 2; + } else if (var5 == 4) { + var6 += 2; + var7 -= 2; + } else if (var5 == 5) { + var6 -= 2; + --var7; + } else if (var5 == 6) { + var6 += 2; + --var7; + } else if (var5 == 7) { + var6 -= 2; + } else if (var5 == 8) { + var6 += 2; + } else if (var5 == 9) { + var6 -= 2; + ++var7; + } else if (var5 == 10) { + var6 += 2; + ++var7; + } else if (var5 == 11) { + var6 -= 2; + var7 += 2; + } else if (var5 == 12) { + --var6; + var7 += 2; + } else if (var5 == 13) { + var7 += 2; + } else if (var5 == 14) { + ++var6; + var7 += 2; + } else if (var5 == 15) { + var6 += 2; + var7 += 2; + } + + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y * 682054857 < 1536 || var4.x >= 11776 || var4.y * 682054857 >= 11776)) { + var4.resetPath(var6, var7); + var4.field621 = false; + } else if (var2) { + var4.field621 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field621 = false; + var4.method1274(var6, var7, Players.field1235[var1]); + } + + } else { + var5 = var0.readBits(1); + int var8; + int var9; + int var10; + int var11; + if (var5 == 0) { + var6 = var0.readBits(12); + var7 = var6 >> 10; + var8 = var6 >> 5 & 31; + if (var8 > 15) { + var8 -= 32; + } + + var9 = var6 & 31; + if (var9 > 15) { + var9 -= 32; + } + + var10 = var8 + var4.pathX[0]; + var11 = var9 + var4.pathY[0]; + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y * 682054857 < 1536 || var4.x >= 11776 || var4.y * 682054857 >= 11776)) { + var4.resetPath(var10, var11); + var4.field621 = false; + } else if (var2) { + var4.field621 = true; + var4.tileX = var10; + var4.tileY = var11; + } else { + var4.field621 = false; + var4.method1274(var10, var11, Players.field1235[var1]); + } + + var4.plane = (byte)(var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + WorldMapRectangle.plane = var4.plane; + } + + } else { + var6 = var0.readBits(30); + var7 = var6 >> 28; + var8 = var6 >> 14 & 16383; + var9 = var6 & 16383; + var10 = (class223.baseX * 64 + var8 + var4.pathX[0] & 16383) - class223.baseX * 64; + var11 = (class286.baseY * 64 + var9 + var4.pathY[0] & 16383) - class286.baseY * 64; + if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y * 682054857 >= 1536 && var4.x < 11776 && var4.y * 682054857 < 11776) { + if (var2) { + var4.field621 = true; + var4.tileX = var10; + var4.tileY = var11; + } else { + var4.field621 = false; + var4.method1274(var10, var11, Players.field1235[var1]); + } + } else { + var4.resetPath(var10, var11); + var4.field621 = false; + } + + var4.plane = (byte)(var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + WorldMapRectangle.plane = var4.plane; + } + + } + } + } + } + + @ObfuscatedName("gy") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "1" + ) + static void method3275() { + if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { + Players.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); + } + + } + + @ObfuscatedName("iv") + @ObfuscatedSignature( + signature = "(Lho;Lit;IIZI)V", + garbageValue = "-1977494158" + ) + @Export("addWidgetItemMenuItem") + static final void addWidgetItemMenuItem(Widget var0, ItemDefinition var1, int var2, int var3, boolean var4) { + String[] var5 = var1.inventoryActions; + byte var6 = -1; + String var7 = null; + if (var5 != null && var5[var3] != null) { + if (var3 == 0) { + var6 = 33; + } else if (var3 == 1) { + var6 = 34; + } else if (var3 == 2) { + var6 = 35; + } else if (var3 == 3) { + var6 = 36; + } else { + var6 = 37; + } + + var7 = var5[var3]; + } else if (var3 == 4) { + var6 = 37; + var7 = "Drop"; + } + + if (var6 != -1 && var7 != null) { + AttackOption.insertMenuItem(var7, World.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); + } + + } +} diff --git a/runescape-client/src/main/java/UrlRequester.java b/runescape-client/src/main/java/UrlRequester.java index 6e32823ba5..5c69745b02 100644 --- a/runescape-client/src/main/java/UrlRequester.java +++ b/runescape-client/src/main/java/UrlRequester.java @@ -1,128 +1,138 @@ -import java.io.DataInputStream; -import java.io.IOException; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLConnection; -import java.util.LinkedList; -import java.util.Queue; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ed") -@Implements("UrlRequester") -public class UrlRequester implements Runnable { - @ObfuscatedName("c") - @Export("thread") - final Thread thread; - @ObfuscatedName("x") - @Export("isClosed") - volatile boolean isClosed; - @ObfuscatedName("t") - @Export("requests") - Queue requests; - - public UrlRequester() { - this.requests = new LinkedList(); - this.thread = new Thread(this); - this.thread.setPriority(1); - this.thread.start(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/net/URL;I)Leq;", - garbageValue = "1332012444" - ) - @Export("request") - public UrlRequest request(URL var1) { - UrlRequest var2 = new UrlRequest(var1); - synchronized(this) { - this.requests.add(var2); - this.notify(); - return var2; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1487923235" - ) - @Export("close") - public void close() { - this.isClosed = true; - - try { - synchronized(this) { - this.notify(); - } - - this.thread.join(); - } catch (InterruptedException var4) { - } - - } - - public void run() { - while (!this.isClosed) { - try { - UrlRequest var1; - synchronized(this) { - var1 = (UrlRequest)this.requests.poll(); - if (var1 == null) { - try { - this.wait(); - } catch (InterruptedException var13) { - } - continue; - } - } - - DataInputStream var2 = null; - URLConnection var3 = null; - - try { - var3 = var1.url.openConnection(); - var3.setConnectTimeout(5000); - var3.setReadTimeout(5000); - var3.setUseCaches(false); - var3.setRequestProperty("Connection", "close"); - int var7 = var3.getContentLength(); - if (var7 >= 0) { - byte[] var5 = new byte[var7]; - var2 = new DataInputStream(var3.getInputStream()); - var2.readFully(var5); - var1.response0 = var5; - } - - var1.isDone0 = true; - } catch (IOException var14) { - var1.isDone0 = true; - } finally { - if (var2 != null) { - var2.close(); - } - - if (var3 != null && var3 instanceof HttpURLConnection) { - ((HttpURLConnection)var3).disconnect(); - } - - } - } catch (Exception var17) { - class188.RunException_sendStackTrace((String)null, var17); - } - } - - } - - @ObfuscatedName("ge") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "6" - ) - static boolean method3273() { - return (Client.drawPlayerNames & 8) != 0; - } -} +import java.io.DataInputStream; +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.URL; +import java.net.URLConnection; +import java.util.LinkedList; +import java.util.Queue; +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("en") +@Implements("UrlRequester") +public class UrlRequester implements Runnable { + @ObfuscatedName("u") + @Export("Interpreter_stringLocals") + static String[] Interpreter_stringLocals; + @ObfuscatedName("kx") + @ObfuscatedGetter( + intValue = 1912035221 + ) + @Export("menuX") + static int menuX; + @ObfuscatedName("z") + @Export("thread") + final Thread thread; + @ObfuscatedName("n") + @Export("isClosed") + volatile boolean isClosed; + @ObfuscatedName("v") + @Export("requests") + Queue requests; + + public UrlRequester() { + this.requests = new LinkedList(); + this.thread = new Thread(this); + this.thread.setPriority(1); + this.thread.start(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/net/URL;I)Leh;", + garbageValue = "1658949504" + ) + @Export("request") + public UrlRequest request(URL var1) { + UrlRequest var2 = new UrlRequest(var1); + synchronized(this) { + this.requests.add(var2); + this.notify(); + return var2; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1861698120" + ) + @Export("close") + public void close() { + this.isClosed = true; + + try { + synchronized(this) { + this.notify(); + } + + this.thread.join(); + } catch (InterruptedException var4) { + } + + } + + public void run() { + while (!this.isClosed) { + try { + UrlRequest var1; + synchronized(this) { + var1 = (UrlRequest)this.requests.poll(); + if (var1 == null) { + try { + this.wait(); + } catch (InterruptedException var13) { + } + continue; + } + } + + DataInputStream var2 = null; + URLConnection var3 = null; + + try { + var3 = var1.url.openConnection(); + var3.setConnectTimeout(5000); + var3.setReadTimeout(5000); + var3.setUseCaches(false); + var3.setRequestProperty("Connection", "close"); + int var7 = var3.getContentLength(); + if (var7 >= 0) { + byte[] var5 = new byte[var7]; + var2 = new DataInputStream(var3.getInputStream()); + var2.readFully(var5); + var1.response0 = var5; + } + + var1.isDone0 = true; + } catch (IOException var14) { + var1.isDone0 = true; + } finally { + if (var2 != null) { + var2.close(); + } + + if (var3 != null && var3 instanceof HttpURLConnection) { + ((HttpURLConnection)var3).disconnect(); + } + + } + } catch (Exception var17) { + class32.RunException_sendStackTrace((String)null, var17); + } + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(CI)C", + garbageValue = "1748894504" + ) + static char method3256(char var0) { + return var0 != 181 && var0 != 402 ? Character.toTitleCase(var0) : var0; + } +} diff --git a/runescape-client/src/main/java/User.java b/runescape-client/src/main/java/User.java index 3d8a7f22af..3c2739d619 100644 --- a/runescape-client/src/main/java/User.java +++ b/runescape-client/src/main/java/User.java @@ -1,83 +1,83 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jw") -@Implements("User") -public class User implements Comparable { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Ljt;" - ) - @Export("username") - Username username; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Ljt;" - ) - @Export("previousUsername") - Username previousUsername; - - User() { - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(I)Ljt;", - garbageValue = "1555546597" - ) - @Export("getUsername") - public Username getUsername() { - return this.username; - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "1766346006" - ) - @Export("getName") - public String getName() { - return this.username == null ? "" : this.username.getName(); - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "1018058811" - ) - @Export("getPreviousName") - public String getPreviousName() { - return this.previousUsername == null ? "" : this.previousUsername.getName(); - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Ljt;Ljt;I)V", - garbageValue = "2051055931" - ) - @Export("set") - void set(Username var1, Username var2) { - if (var1 == null) { - throw new NullPointerException(); - } else { - this.username = var1; - this.previousUsername = var2; - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(Ljw;B)I", - garbageValue = "-92" - ) - @Export("compareTo_user") - public int compareTo_user(User var1) { - return this.username.compareToTyped(var1.username); - } - - public int compareTo(Object var1) { - return this.compareTo_user((User)var1); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jh") +@Implements("User") +public class User implements Comparable { + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ljq;" + ) + @Export("username") + Username username; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Ljq;" + ) + @Export("previousUsername") + Username previousUsername; + + User() { + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(I)Ljq;", + garbageValue = "827230801" + ) + @Export("getUsername") + public Username getUsername() { + return this.username; + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "-835299696" + ) + @Export("getName") + public String getName() { + return this.username == null ? "" : this.username.getName(); + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(B)Ljava/lang/String;", + garbageValue = "116" + ) + @Export("getPreviousName") + public String getPreviousName() { + return this.previousUsername == null ? "" : this.previousUsername.getName(); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(Ljq;Ljq;I)V", + garbageValue = "-1357976341" + ) + @Export("set") + void set(Username var1, Username var2) { + if (var1 == null) { + throw new NullPointerException(); + } else { + this.username = var1; + this.previousUsername = var2; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Ljh;I)I", + garbageValue = "-531306911" + ) + @Export("compareTo_user") + public int compareTo_user(User var1) { + return this.username.compareToTyped(var1.username); + } + + public int compareTo(Object var1) { + return this.compareTo_user((User)var1); + } +} diff --git a/runescape-client/src/main/java/UserComparator1.java b/runescape-client/src/main/java/UserComparator1.java index a489e0d4ae..c86bf77907 100644 --- a/runescape-client/src/main/java/UserComparator1.java +++ b/runescape-client/src/main/java/UserComparator1.java @@ -1,35 +1,44 @@ -import java.util.Comparator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lx") -@Implements("UserComparator1") -public class UserComparator1 implements Comparator { - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator1(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljw;Ljw;B)I", - garbageValue = "-97" - ) - @Export("compare_bridged") - int compare_bridged(User var1, User var2) { - return this.reversed ? var1.compareTo_user(var2) : var2.compareTo_user(var1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((User)var1, (User)var2); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } -} +import java.util.Comparator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lw") +@Implements("UserComparator1") +public class UserComparator1 implements Comparator { + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator1(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljh;Ljh;I)I", + garbageValue = "-67354255" + ) + @Export("compare_bridged") + int compare_bridged(User var1, User var2) { + return this.reversed ? var1.compareTo_user(var2) : var2.compareTo_user(var1); + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((User)var1, (User)var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "456557125" + ) + public static void method5827() { + PlayerAppearance.PlayerAppearance_cachedModels.clear(); + } +} diff --git a/runescape-client/src/main/java/UserComparator10.java b/runescape-client/src/main/java/UserComparator10.java index 7f643c33ce..e0e066ceec 100644 --- a/runescape-client/src/main/java/UserComparator10.java +++ b/runescape-client/src/main/java/UserComparator10.java @@ -1,82 +1,64 @@ -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("ew") -@Implements("UserComparator10") -public class UserComparator10 extends AbstractUserComparator { - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("runesSprite") - static IndexedSprite[] runesSprite; - @ObfuscatedName("dn") - @ObfuscatedGetter( - longValue = -5864527508821093591L - ) - static long field1946; - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator10(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;I)I", - garbageValue = "1179427520" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (Client.worldId == var1.world && var2.world == Client.worldId) { - return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; - } else { - return this.compareUser(var1, var2); - } - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "-52" - ) - @Export("iLog") - public static int iLog(int var0) { - int var1 = 0; - if (var0 < 0 || var0 >= 65536) { - var0 >>>= 16; - var1 += 16; - } - - if (var0 >= 256) { - var0 >>>= 8; - var1 += 8; - } - - if (var0 >= 16) { - var0 >>>= 4; - var1 += 4; - } - - if (var0 >= 4) { - var0 >>>= 2; - var1 += 2; - } - - if (var0 >= 1) { - var0 >>>= 1; - ++var1; - } - - return var0 + var1; - } -} +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("et") +@Implements("UserComparator10") +public class UserComparator10 extends AbstractUserComparator { + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 406517207 + ) + static int field1956; + @ObfuscatedName("o") + static boolean field1957; + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator10(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "-1576408369" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (Client.worldId == var1.world && var2.world == Client.worldId) { + return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; + } else { + return this.compareUser(var1, var2); + } + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Lia;", + garbageValue = "12340961" + ) + @Export("getEnum") + public static EnumDefinition getEnum(int var0) { + EnumDefinition var1 = (EnumDefinition)EnumDefinition.EnumDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = EnumDefinition.EnumDefinition_archive.takeFile(8, var0); + var1 = new EnumDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + EnumDefinition.EnumDefinition_cached.put(var1, (long)var0); + return var1; + } + } +} diff --git a/runescape-client/src/main/java/UserComparator2.java b/runescape-client/src/main/java/UserComparator2.java index 10db55a931..c3587682b7 100644 --- a/runescape-client/src/main/java/UserComparator2.java +++ b/runescape-client/src/main/java/UserComparator2.java @@ -1,41 +1,35 @@ -import java.util.Comparator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("le") -@Implements("UserComparator2") -public class UserComparator2 implements Comparator { - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator2(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljw;Ljw;I)I", - garbageValue = "-1462037203" - ) - @Export("compare_bridged") - int compare_bridged(User var1, User var2) { - return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((User)var1, (User)var2); - } - - @ObfuscatedName("t") - @Export("ViewportMouse_unpackY") - public static int ViewportMouse_unpackY(long var0) { - return (int)(var0 >>> 14 & 3L); - } -} +import java.util.Comparator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ld") +@Implements("UserComparator2") +public class UserComparator2 implements Comparator { + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator2(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljh;Ljh;I)I", + garbageValue = "1965280999" + ) + @Export("compare_bridged") + int compare_bridged(User var1, User var2) { + return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((User)var1, (User)var2); + } +} diff --git a/runescape-client/src/main/java/UserComparator3.java b/runescape-client/src/main/java/UserComparator3.java index b693a6a67a..690781a80e 100644 --- a/runescape-client/src/main/java/UserComparator3.java +++ b/runescape-client/src/main/java/UserComparator3.java @@ -1,64 +1,115 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ff") -@Implements("UserComparator3") -public class UserComparator3 extends AbstractUserComparator { - @ObfuscatedName("v") - @Export("Widget_loadedInterfaces") - static boolean[] Widget_loadedInterfaces; - @ObfuscatedName("p") - static int[][][] field1961; - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator3(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;I)I", - garbageValue = "-434078847" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var2.world != var1.world) { - return this.reversed ? var1.world - var2.world : var2.world - var1.world; - } else { - return this.compareUser(var1, var2); - } - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1668063844" - ) - @Export("HealthBarDefinition_clearCached") - public static void HealthBarDefinition_clearCached() { - HealthBarDefinition.HealthBarDefinition_cached.clear(); - HealthBarDefinition.HealthBarDefinition_cachedSprites.clear(); - } - - @ObfuscatedName("jk") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1258062289" - ) - static void method3399(int var0) { - SoundCache.tempMenuAction = new MenuAction(); - SoundCache.tempMenuAction.argument1 = Client.menuArguments1[var0]; - SoundCache.tempMenuAction.argument2 = Client.menuArguments2[var0]; - SoundCache.tempMenuAction.opcode = Client.menuOpcodes[var0]; - SoundCache.tempMenuAction.argument0 = Client.menuIdentifiers[var0]; - SoundCache.tempMenuAction.action = Client.menuActions[var0]; - } -} +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("fe") +@Implements("UserComparator3") +public class UserComparator3 extends AbstractUserComparator { + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -2030399033 + ) + static int field1971; + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator3(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "-1163251881" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var2.world != var1.world) { + return this.reversed ? var1.world - var2.world : var2.world - var1.world; + } else { + return this.compareUser(var1, var2); + } + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)[B", + garbageValue = "-772174627" + ) + public static byte[] method3390(CharSequence var0) { + int var1 = var0.length(); + byte[] var2 = new byte[var1]; + + for (int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if (var4 > 0 && var4 < 128 || var4 >= 160 && var4 <= 255) { + var2[var3] = (byte)var4; + } else if (var4 == 8364) { + var2[var3] = -128; + } else if (var4 == 8218) { + var2[var3] = -126; + } else if (var4 == 402) { + var2[var3] = -125; + } else if (var4 == 8222) { + var2[var3] = -124; + } else if (var4 == 8230) { + var2[var3] = -123; + } else if (var4 == 8224) { + var2[var3] = -122; + } else if (var4 == 8225) { + var2[var3] = -121; + } else if (var4 == 710) { + var2[var3] = -120; + } else if (var4 == 8240) { + var2[var3] = -119; + } else if (var4 == 352) { + var2[var3] = -118; + } else if (var4 == 8249) { + var2[var3] = -117; + } else if (var4 == 338) { + var2[var3] = -116; + } else if (var4 == 381) { + var2[var3] = -114; + } else if (var4 == 8216) { + var2[var3] = -111; + } else if (var4 == 8217) { + var2[var3] = -110; + } else if (var4 == 8220) { + var2[var3] = -109; + } else if (var4 == 8221) { + var2[var3] = -108; + } else if (var4 == 8226) { + var2[var3] = -107; + } else if (var4 == 8211) { + var2[var3] = -106; + } else if (var4 == 8212) { + var2[var3] = -105; + } else if (var4 == 732) { + var2[var3] = -104; + } else if (var4 == 8482) { + var2[var3] = -103; + } else if (var4 == 353) { + var2[var3] = -102; + } else if (var4 == 8250) { + var2[var3] = -101; + } else if (var4 == 339) { + var2[var3] = -100; + } else if (var4 == 382) { + var2[var3] = -98; + } else if (var4 == 376) { + var2[var3] = -97; + } else { + var2[var3] = 63; + } + } + + return var2; + } +} diff --git a/runescape-client/src/main/java/UserComparator4.java b/runescape-client/src/main/java/UserComparator4.java index 2d4d262644..315d980f06 100644 --- a/runescape-client/src/main/java/UserComparator4.java +++ b/runescape-client/src/main/java/UserComparator4.java @@ -1,35 +1,60 @@ -import java.util.Comparator; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("er") -@Implements("UserComparator4") -public class UserComparator4 implements Comparator { - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator4(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;B)I", - garbageValue = "-78" - ) - @Export("compare_bridged") - int compare_bridged(Buddy var1, Buddy var2) { - return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; - } - - public int compare(Object var1, Object var2) { - return this.compare_bridged((Buddy)var1, (Buddy)var2); - } - - public boolean equals(Object var1) { - return super.equals(var1); - } -} +import java.util.Comparator; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ey") +@Implements("UserComparator4") +public class UserComparator4 implements Comparator { + @ObfuscatedName("t") + public static String[] field1948; + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator4(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "-1358641411" + ) + @Export("compare_bridged") + int compare_bridged(Buddy var1, Buddy var2) { + return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; + } + + public int compare(Object var1, Object var2) { + return this.compare_bridged((Buddy)var1, (Buddy)var2); + } + + public boolean equals(Object var1) { + return super.equals(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Ljava/lang/String;Ljava/lang/String;IZI)V", + garbageValue = "-1960498787" + ) + public static void method3345(AbstractArchive var0, String var1, String var2, int var3, boolean var4) { + int var5 = var0.getGroupId(var1); + int var6 = var0.getFileId(var5, var2); + class83.method2064(var0, var5, var6, var3, var4); + } + + @ObfuscatedName("ka") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2110753861" + ) + static void method3346() { + if (Client.oculusOrbState == 1) { + Client.field879 = true; + } + + } +} diff --git a/runescape-client/src/main/java/UserComparator5.java b/runescape-client/src/main/java/UserComparator5.java index bbeb076e5c..dfb25cb40b 100644 --- a/runescape-client/src/main/java/UserComparator5.java +++ b/runescape-client/src/main/java/UserComparator5.java @@ -1,72 +1,86 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ft") -@Implements("UserComparator5") -public class UserComparator5 extends AbstractUserComparator { - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lba;" - ) - @Export("loginScreenRunesAnimation") - static LoginScreenAnimation loginScreenRunesAnimation; - @ObfuscatedName("ez") - static int[] field1958; - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator5(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;I)I", - garbageValue = "-234199662" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var1.world != 0) { - if (var2.world == 0) { - return this.reversed ? -1 : 1; - } - } else if (var2.world != 0) { - return this.reversed ? 1 : -1; - } - - return this.compareUser(var1, var2); - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "([BI)V", - garbageValue = "303313970" - ) - @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 (WorldMapEvent.ByteArrayPool_arrays != null) { - for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) { - if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && Login.ByteArrayPool_altSizeArrayCounts[var1] < WorldMapEvent.ByteArrayPool_arrays[var1].length) { - WorldMapEvent.ByteArrayPool_arrays[var1][Login.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; - return; - } - } - } - - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fb") +@Implements("UserComparator5") +public class UserComparator5 extends AbstractUserComparator { + @ObfuscatedName("r") + @Export("ArchiveDiskActionHandler_thread") + static Thread ArchiveDiskActionHandler_thread; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "[[Lho;" + ) + @Export("Widget_interfaceComponents") + public static Widget[][] Widget_interfaceComponents; + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator5(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "-1400201048" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var1.world != 0) { + if (var2.world == 0) { + return this.reversed ? -1 : 1; + } + } else if (var2.world != 0) { + return this.reversed ? 1 : -1; + } + + return this.compareUser(var1, var2); + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;Llb;I)Llb;", + garbageValue = "1757701513" + ) + @Export("readStringIntParameters") + static final IterableNodeHashTable readStringIntParameters(Buffer var0, IterableNodeHashTable var1) { + int var2 = var0.readUnsignedByte(); + int var3; + if (var1 == null) { + var3 = Timer.method4923(var2); + var1 = new IterableNodeHashTable(var3); + } + + for (var3 = 0; var3 < var2; ++var3) { + boolean var4 = var0.readUnsignedByte() == 1; + int var5 = var0.readMedium(); + Object var6; + if (var4) { + var6 = new ObjectNode(var0.readStringCp1252NullTerminated()); + } else { + var6 = new IntegerNode(var0.readInt()); + } + + var1.put((Node)var6, (long)var5); + } + + return var1; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)I", + garbageValue = "103" + ) + public static int method3383(String var0) { + return var0.length() + 2; + } +} diff --git a/runescape-client/src/main/java/UserComparator6.java b/runescape-client/src/main/java/UserComparator6.java index 274c453195..d95ac303e6 100644 --- a/runescape-client/src/main/java/UserComparator6.java +++ b/runescape-client/src/main/java/UserComparator6.java @@ -1,58 +1,589 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fm") -@Implements("UserComparator6") -public class UserComparator6 extends AbstractUserComparator { - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator6(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;I)I", - garbageValue = "1603380777" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var1.world != 0 && var2.world != 0) { - return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); - } else { - return this.compareUser(var1, var2); - } - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)Lfk;", - garbageValue = "542497386" - ) - @Export("newClock") - public static Clock newClock() { - try { - return new NanoClock(); - } catch (Throwable var1) { - return new MilliClock(); - } - } - - @ObfuscatedName("kw") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - static void method3417() { - Client.packetWriter.addNode(MenuAction.getPacketBufferNode(ClientPacket.field2254, Client.packetWriter.isaacCipher)); - Client.oculusOrbState = 0; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("fy") +@Implements("UserComparator6") +public class UserComparator6 extends AbstractUserComparator { + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator6(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "-1158182029" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var1.world != 0 && var2.world != 0) { + return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); + } else { + return this.compareUser(var1, var2); + } + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "([BIII)Ljava/lang/String;", + garbageValue = "1774248129" + ) + public static String method3404(byte[] var0, int var1, int var2) { + char[] var3 = new char[var2]; + int var4 = 0; + int var5 = var1; + + int var8; + for (int var6 = var2 + var1; var5 < var6; var3[var4++] = (char)var8) { + int var7 = var0[var5++] & 255; + if (var7 < 128) { + if (var7 == 0) { + var8 = 65533; + } else { + var8 = var7; + } + } else if (var7 < 192) { + var8 = 65533; + } else if (var7 < 224) { + if (var5 < var6 && (var0[var5] & 192) == 128) { + var8 = (var7 & 31) << 6 | var0[var5++] & 63; + if (var8 < 128) { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else if (var7 < 240) { + if (var5 + 1 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128) { + var8 = (var7 & 15) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; + if (var8 < 2048) { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else if (var7 < 248) { + if (var5 + 2 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128 && (var0[var5 + 2] & 192) == 128) { + var8 = (var7 & 7) << 18 | (var0[var5++] & 63) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; + if (var8 >= 65536 && var8 <= 1114111) { + var8 = 65533; + } else { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else { + var8 = 65533; + } + } + + return new String(var3, 0, var4); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1182264787" + ) + static int method3403(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + if (var0 == ScriptOpcodes.CC_GETSCROLLX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTEXT) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTRANSTOP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTRANSBOT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETFILLMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(ILcu;ZB)I", + garbageValue = "126" + ) + static int method3407(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { + var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemId; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { + var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var3.itemId != -1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemQuantity; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.IF_HASSUB) { + int var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var5); + if (var4 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTOP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.rootInterface; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "600807723" + ) + static int method3398(int var0, Script var1, boolean var2) { + int var3; + if (var0 == 6600) { + var3 = WorldMapRectangle.plane; + int var9 = class223.baseX * 64 + (class223.localPlayer.x >> 7); + int var5 = class286.baseY * 64 + (class223.localPlayer.y * 682054857 >> 7); + Decimator.getWorldMap().method6249(var3, var9, var5, true); + return 1; + } else { + WorldMapArea var11; + if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + String var16 = ""; + var11 = Decimator.getWorldMap().getMapArea(var3); + if (var11 != null) { + var16 = var11.getExternalName(); + } + + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Decimator.getWorldMap().setCurrentMapAreaId(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().getZoomLevel(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Decimator.getWorldMap().setZoomPercentage(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().isCacheLoaded() ? 1 : 0; + return 1; + } else { + Coord var15; + if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { + var15 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + Decimator.getWorldMap().setWorldMapPositionTarget(var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { + var15 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + Decimator.getWorldMap().setWorldMapPositionTargetInstant(var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { + var15 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + Decimator.getWorldMap().jumpToSourceCoord(var15.plane, var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { + var15 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + Decimator.getWorldMap().jumpToSourceCoordInstant(var15.plane, var15.x, var15.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().getDisplayX(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().getDisplayY(); + return 1; + } else { + WorldMapArea var13; + if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Decimator.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13.getOrigin().packed(); + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Decimator.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var13.getRegionHighX() - var13.getRegionLowX() + 1) * 64; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var13.getRegionHighY() - var13.getRegionLowY() + 1) * 64; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Decimator.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13.getRegionLowX() * 64; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13.getRegionLowY() * 64; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13.getRegionHighX() * 64 + 64 - 1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13.getRegionHighY() * 64 + 64 - 1; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Decimator.getWorldMap().getMapArea(var3); + if (var13 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13.getZoom(); + } + + return 1; + } else if (var0 == 6615) { + var15 = Decimator.getWorldMap().getDisplayCoord(); + if (var15 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var15.x; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var15.y; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().currentMapAreaId(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { + var15 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var13 = Decimator.getWorldMap().getCurrentMapArea(); + if (var13 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + int[] var14 = var13.position(var15.plane, var15.x, var15.y); + if (var14 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14[0]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14[1]; + } + + return 1; + } + } else { + Coord var7; + if (var0 == 6618) { + var15 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var13 = Decimator.getWorldMap().getCurrentMapArea(); + if (var13 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + var7 = var13.coord(var15.x, var15.y); + if (var7 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.packed(); + } + + return 1; + } + } else { + Coord var12; + if (var0 == 6619) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + WorldMapLabel.method439(var3, var12, false); + return 1; + } else if (var0 == 6620) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + WorldMapLabel.method439(var3, var12, true); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + var11 = Decimator.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.containsCoord(var12.plane, var12.x, var12.y) ? 1 : 0; + return 1; + } + } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().getDisplayWith(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().getDisplayHeight(); + return 1; + } else if (var0 == 6623) { + var15 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var13 = Decimator.getWorldMap().mapAreaAtCoord(var15.plane, var15.x, var15.y); + if (var13 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13.getId(); + } + + return 1; + } else if (var0 == 6624) { + Decimator.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6625) { + Decimator.getWorldMap().resetMaxFlashCount(); + return 1; + } else if (var0 == 6626) { + Decimator.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6627) { + Decimator.getWorldMap().resetCyclesPerFlash(); + return 1; + } else { + boolean var10; + if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Decimator.getWorldMap().setPerpetualFlash(var10); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Decimator.getWorldMap().flashElement(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Decimator.getWorldMap().flashCategory(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { + Decimator.getWorldMap().stopCurrentFlashes(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Decimator.getWorldMap().setElementsDisabled(var10); + return 1; + } else { + boolean var4; + if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + Decimator.getWorldMap().disableElement(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + Decimator.getWorldMap().setCategoryDisabled(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().getElementsDisabled() ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().isElementDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Decimator.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == 6638) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var12 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + var7 = Decimator.getWorldMap().method6293(var3, var12); + if (var7 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.packed(); + } + + return 1; + } else { + AbstractWorldMapIcon var8; + if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { + var8 = Decimator.getWorldMap().iconStart(); + if (var8 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var8.getElement(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var8.coord2.packed(); + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { + var8 = Decimator.getWorldMap().iconNext(); + if (var8 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var8.getElement(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var8.coord2.packed(); + } + + return 1; + } else { + WorldMapElement var6; + if (var0 == ScriptOpcodes.MEC_TEXT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Decimator.WorldMapElement_get(var3); + if (var6.name == null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.name; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Decimator.WorldMapElement_get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.textSize; + return 1; + } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Decimator.WorldMapElement_get(var3); + if (var6 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.category; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_SPRITE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Decimator.WorldMapElement_get(var3); + if (var6 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.sprite1; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = EnumDefinition.worldMapEvent.mapElement; + return 1; + } else if (var0 == 6698) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = EnumDefinition.worldMapEvent.coord1.packed(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = EnumDefinition.worldMapEvent.coord2.packed(); + return 1; + } else { + return 2; + } + } + } + } + } + } + } + } + } + } + } + + @ObfuscatedName("hv") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "2147289809" + ) + @Export("calculateMenuBounds") + static void calculateMenuBounds(int var0, int var1) { + int var2 = class173.fontBold12.stringWidth("Choose Option"); + + int var3; + int var4; + for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { + var4 = class173.fontBold12.stringWidth(class40.method799(var3)); + if (var4 > var2) { + var2 = var4; + } + } + + var2 += 8; + var3 = Client.menuOptionsCount * 15 + 22; + var4 = var0 - var2 / 2; + if (var4 + var2 > FloorDecoration.canvasWidth) { + var4 = FloorDecoration.canvasWidth - var2; + } + + if (var4 < 0) { + var4 = 0; + } + + int var5 = var1; + if (var1 + var3 > WallDecoration.canvasHeight) { + var5 = WallDecoration.canvasHeight - var3; + } + + if (var5 < 0) { + var5 = 0; + } + + UrlRequester.menuX = var4; + class51.menuY = var5; + FriendSystem.menuWidth = var2; + WorldMapDecoration.menuHeight = Client.menuOptionsCount * 15 + 22; + } +} diff --git a/runescape-client/src/main/java/UserComparator7.java b/runescape-client/src/main/java/UserComparator7.java index a3a34dc4c4..bd7262ec56 100644 --- a/runescape-client/src/main/java/UserComparator7.java +++ b/runescape-client/src/main/java/UserComparator7.java @@ -1,87 +1,104 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ex") -@Implements("UserComparator7") -public class UserComparator7 extends AbstractUserComparator { - @ObfuscatedName("z") - @Export("Tiles_hue") - static int[] Tiles_hue; - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator7(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;I)I", - garbageValue = "955067035" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var1.world != 0 && var2.world != 0) { - return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; - } else { - return this.compareUser(var1, var2); - } - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "1115745838" - ) - static int method3382(int var0, int var1) { - if (var0 == -2) { - return 12345678; - } else if (var0 == -1) { - if (var1 < 0) { - var1 = 0; - } else if (var1 > 127) { - var1 = 127; - } - - var1 = 127 - var1; - return var1; - } else { - var1 = (var0 & 127) * var1 / 128; - if (var1 < 2) { - var1 = 2; - } else if (var1 > 126) { - var1 = 126; - } - - return (var0 & 65408) + var1; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "2041476927" - ) - @Export("colorStartTag") - static String colorStartTag(int var0) { - return ""; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lhz;Ljava/lang/String;Ljava/lang/String;IZB)V", - garbageValue = "-11" - ) - public static void method3376(AbstractArchive var0, String var1, String var2, int var3, boolean var4) { - int var5 = var0.getGroupId(var1); - int var6 = var0.getFileId(var5, var2); - class49.method826(var0, var5, var6, var3, var4); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("eb") +@Implements("UserComparator7") +public class UserComparator7 extends AbstractUserComparator { + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("title_muteSprite") + static IndexedSprite[] title_muteSprite; + @ObfuscatedName("ft") + @ObfuscatedSignature( + signature = "Lkr;" + ) + @Export("WorldMapElement_fonts") + static Fonts WorldMapElement_fonts; + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator7(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "1477313663" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var1.world != 0 && var2.world != 0) { + return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; + } else { + return this.compareUser(var1, var2); + } + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lbo;Lbo;IZI)I", + garbageValue = "-147225017" + ) + @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; + } + } + + 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.method1774() ? (var1.method1774() ? 0 : 1) : (var1.method1774() ? -1 : 0); + } else if (var2 == 5) { + return var0.method1802() ? (var1.method1802() ? 0 : 1) : (var1.method1802() ? -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; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(CB)Z", + garbageValue = "1" + ) + @Export("isCharAlphabetic") + public static boolean isCharAlphabetic(char var0) { + return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; + } +} diff --git a/runescape-client/src/main/java/UserComparator8.java b/runescape-client/src/main/java/UserComparator8.java index 5ed68160f3..9d38907c92 100644 --- a/runescape-client/src/main/java/UserComparator8.java +++ b/runescape-client/src/main/java/UserComparator8.java @@ -1,57 +1,116 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("eu") -@Implements("UserComparator8") -public class UserComparator8 extends AbstractUserComparator { - @ObfuscatedName("j") - public static short[] field1944; - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator8(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;I)I", - garbageValue = "1986954422" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (Client.worldId == var1.world) { - if (var2.world != Client.worldId) { - return this.reversed ? -1 : 1; - } - } else if (var2.world == Client.worldId) { - return this.reversed ? 1 : -1; - } - - return this.compareUser(var1, var2); - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([BZB)Ljava/lang/Object;", - garbageValue = "-87" - ) - public static Object method3365(byte[] var0, boolean var1) { - if (var0 == null) { - return null; - } else if (var0.length > 136) { - DirectByteArrayCopier var2 = new DirectByteArrayCopier(); - var2.set(var0); - return var2; - } else { - return var0; - } - } -} +import java.io.File; +import java.io.RandomAccessFile; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ea") +@Implements("UserComparator8") +public class UserComparator8 extends AbstractUserComparator { + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator8(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;I)I", + garbageValue = "-2001610603" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (Client.worldId == var1.world) { + if (var2.world != Client.worldId) { + return this.reversed ? -1 : 1; + } + } else if (var2.world == Client.worldId) { + return this.reversed ? 1 : -1; + } + + return this.compareUser(var1, var2); + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/io/File;", + garbageValue = "-1561719392" + ) + @Export("getFile") + public static File getFile(String var0) { + if (!FileSystem.FileSystem_hasPermissions) { + throw new RuntimeException(""); + } else { + File var1 = (File)FileSystem.FileSystem_cacheFiles.get(var0); + if (var1 != null) { + return var1; + } else { + File var2 = new File(FileSystem.FileSystem_cacheDir, var0); + RandomAccessFile var3 = null; + + try { + File var4 = new File(var2.getParent()); + if (!var4.exists()) { + throw new RuntimeException(""); + } else { + var3 = new RandomAccessFile(var2, "rw"); + int var5 = var3.read(); + var3.seek(0L); + var3.write(var5); + var3.seek(0L); + var3.close(); + FileSystem.FileSystem_cacheFiles.put(var0, var2); + return var2; + } + } catch (Exception var8) { + try { + if (var3 != null) { + var3.close(); + var3 = null; + } + } catch (Exception var7) { + } + + throw new RuntimeException(); + } + } + } + } + + @ObfuscatedName("fn") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "11" + ) + @Export("setWindowedMode") + static void setWindowedMode(int var0) { + Client.field754 = 0L; + if (var0 >= 2) { + Client.isResizable = true; + } else { + Client.isResizable = false; + } + + if (class247.getWindowedMode() == 1) { + ViewportMouse.client.setMaxCanvasSize(765, 503); + } else { + ViewportMouse.client.setMaxCanvasSize(7680, 2160); + } + + if (Client.gameState >= 25) { + PacketBufferNode var1 = InterfaceParent.getPacketBufferNode(ClientPacket.field2256, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class247.getWindowedMode()); + var1.packetBuffer.writeShort(FloorDecoration.canvasWidth); + var1.packetBuffer.writeShort(WallDecoration.canvasHeight); + Client.packetWriter.addNode(var1); + } + + } +} diff --git a/runescape-client/src/main/java/UserComparator9.java b/runescape-client/src/main/java/UserComparator9.java index 279fae828e..ff7b21a6ea 100644 --- a/runescape-client/src/main/java/UserComparator9.java +++ b/runescape-client/src/main/java/UserComparator9.java @@ -1,98 +1,66 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("eh") -@Implements("UserComparator9") -public class UserComparator9 extends AbstractUserComparator { - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lhy;" - ) - static Widget field1941; - @ObfuscatedName("k") - public static String field1940; - @ObfuscatedName("c") - @Export("reversed") - final boolean reversed; - - public UserComparator9(boolean var1) { - this.reversed = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lje;Lje;I)I", - garbageValue = "1325435162" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (Client.worldId == var1.world && var2.world == Client.worldId) { - return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); - } else { - return this.compareUser(var1, var2); - } - } - - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "([Ljava/lang/String;[SIIB)V", - garbageValue = "1" - ) - @Export("sortItemsByName") - static void sortItemsByName(String[] var0, short[] var1, int var2, int var3) { - if (var2 < var3) { - int var4 = (var3 + var2) / 2; - int var5 = var2; - String var6 = var0[var4]; - var0[var4] = var0[var3]; - var0[var3] = var6; - short var7 = var1[var4]; - var1[var4] = var1[var3]; - var1[var3] = var7; - - for (int var8 = var2; var8 < var3; ++var8) { - if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { - String var9 = var0[var8]; - var0[var8] = var0[var5]; - var0[var5] = var9; - short var10 = var1[var8]; - var1[var8] = var1[var5]; - var1[var5++] = var10; - } - } - - var0[var3] = var0[var5]; - var0[var5] = var6; - var1[var3] = var1[var5]; - var1[var5] = var7; - sortItemsByName(var0, var1, var2, var5 - 1); - sortItemsByName(var0, var1, var5 + 1, var3); - } - - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "-2074784616" - ) - @Export("addChatMessage") - static void addChatMessage(int var0, String var1, String var2, String var3) { - ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0); - if (var4 == null) { - var4 = new ChatChannel(); - Messages.Messages_channels.put(var0, var4); - } - - Message var5 = var4.addMessage(var0, var1, var2, var3); - Messages.Messages_hashTable.put(var5, (long)var5.count); - Messages.Messages_queue.add(var5); - Client.chatCycle = Client.cycleCntr; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("el") +@Implements("UserComparator9") +public class UserComparator9 extends AbstractUserComparator { + @ObfuscatedName("z") + @Export("reversed") + final boolean reversed; + + public UserComparator9(boolean var1) { + this.reversed = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljl;Ljl;B)I", + garbageValue = "35" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (Client.worldId == var1.world && var2.world == Client.worldId) { + return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); + } else { + return this.compareUser(var1, var2); + } + } + + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)Liu;", + garbageValue = "46" + ) + @Export("FloorUnderlayDefinition_get") + public static FloorUnderlayDefinition FloorUnderlayDefinition_get(int var0) { + FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var0); + var1 = new FloorUnderlayDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2), var0); + } + + var1.postDecode(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IS)I", + garbageValue = "-18305" + ) + public static int method3355(int var0) { + return var0 >> 17 & 7; + } +} diff --git a/runescape-client/src/main/java/UserList.java b/runescape-client/src/main/java/UserList.java index 91616f4748..50aa491350 100644 --- a/runescape-client/src/main/java/UserList.java +++ b/runescape-client/src/main/java/UserList.java @@ -1,341 +1,341 @@ -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -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("jm") -@Implements("UserList") -public abstract class UserList { - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1621791481 - ) - @Export("capacity") - final int capacity; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1144199685 - ) - @Export("size") - int size; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[Ljw;" - ) - @Export("array") - User[] array; - @ObfuscatedName("j") - @Export("usernamesMap") - HashMap usernamesMap; - @ObfuscatedName("v") - @Export("previousUsernamesMap") - HashMap previousUsernamesMap; - @ObfuscatedName("d") - @Export("comparator") - Comparator comparator; - - UserList(int var1) { - this.size = 0; - this.comparator = null; - this.capacity = var1; - this.array = this.newTypedArray(var1); - this.usernamesMap = new HashMap(var1 / 8); - this.previousUsernamesMap = new HashMap(var1 / 8); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Ljw;", - garbageValue = "-734254876" - ) - @Export("newInstance") - abstract User newInstance(); - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)[Ljw;", - garbageValue = "1353779565" - ) - @Export("newTypedArray") - abstract User[] newTypedArray(int var1); - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-68" - ) - @Export("clear") - public void clear() { - this.size = 0; - Arrays.fill(this.array, (Object)null); - this.usernamesMap.clear(); - this.previousUsernamesMap.clear(); - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1829026437" - ) - @Export("getSize") - public int getSize() { - return this.size; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "90" - ) - @Export("isFull") - public boolean isFull() { - return this.size == this.capacity; - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(Ljt;B)Z", - garbageValue = "9" - ) - @Export("contains") - public boolean contains(Username var1) { - if (!var1.hasCleanName()) { - return false; - } else { - return this.usernamesMap.containsKey(var1) ? true : this.previousUsernamesMap.containsKey(var1); - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(Ljt;I)Ljw;", - garbageValue = "-920906156" - ) - @Export("getByUsername") - public User getByUsername(Username var1) { - User var2 = this.getByCurrentUsername(var1); - return var2 != null ? var2 : this.getByPreviousUsername(var1); - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(Ljt;I)Ljw;", - garbageValue = "-1425311413" - ) - @Export("getByCurrentUsername") - User getByCurrentUsername(Username var1) { - return !var1.hasCleanName() ? null : (User)this.usernamesMap.get(var1); - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(Ljt;B)Ljw;", - garbageValue = "-21" - ) - @Export("getByPreviousUsername") - User getByPreviousUsername(Username var1) { - return !var1.hasCleanName() ? null : (User)this.previousUsernamesMap.get(var1); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Ljt;I)Z", - garbageValue = "1391401816" - ) - @Export("removeByUsername") - public final boolean removeByUsername(Username var1) { - User var2 = this.getByCurrentUsername(var1); - if (var2 == null) { - return false; - } else { - this.remove(var2); - return true; - } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(Ljw;B)V", - garbageValue = "72" - ) - @Export("remove") - final void remove(User var1) { - int var2 = this.indexOf(var1); - if (var2 != -1) { - this.arrayRemove(var2); - this.mapRemove(var1); - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(Ljt;S)Ljw;", - garbageValue = "-26020" - ) - @Export("addLastNoPreviousUsername") - User addLastNoPreviousUsername(Username var1) { - return this.addLast(var1, (Username)null); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(Ljt;Ljt;B)Ljw;", - garbageValue = "-33" - ) - @Export("addLast") - User addLast(Username var1, Username var2) { - if (this.getByCurrentUsername(var1) != null) { - throw new IllegalStateException(); - } else { - User var3 = this.newInstance(); - var3.set(var1, var2); - this.arrayAddLast(var3); - this.mapPut(var3); - return var3; - } - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(II)Ljw;", - garbageValue = "669795741" - ) - @Export("get") - public final User get(int var1) { - if (var1 >= 0 && var1 < this.size) { - return this.array[var1]; - } else { - throw new ArrayIndexOutOfBoundsException(var1); - } - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1292834798" - ) - @Export("sort") - public final void sort() { - if (this.comparator == null) { - Arrays.sort(this.array, 0, this.size); - } else { - Arrays.sort(this.array, 0, this.size, this.comparator); - } - - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(Ljw;Ljt;Ljt;B)V", - garbageValue = "60" - ) - @Export("changeName") - final void changeName(User var1, Username var2, Username var3) { - this.mapRemove(var1); - var1.set(var2, var3); - this.mapPut(var1); - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(Ljw;S)I", - garbageValue = "27337" - ) - @Export("indexOf") - final int indexOf(User var1) { - for (int var2 = 0; var2 < this.size; ++var2) { - if (this.array[var2] == var1) { - return var2; - } - } - - return -1; - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Ljw;B)V", - garbageValue = "113" - ) - @Export("mapRemove") - final void mapRemove(User var1) { - if (this.usernamesMap.remove(var1.username) == null) { - throw new IllegalStateException(); - } else { - if (var1.previousUsername != null) { - this.previousUsernamesMap.remove(var1.previousUsername); - } - - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(Ljw;I)V", - garbageValue = "356769932" - ) - @Export("arrayAddLast") - final void arrayAddLast(User var1) { - this.array[++this.size - 1] = var1; - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(Ljw;I)V", - garbageValue = "-1802134549" - ) - @Export("mapPut") - final void mapPut(User var1) { - this.usernamesMap.put(var1.username, var1); - if (var1.previousUsername != null) { - User var2 = (User)this.previousUsernamesMap.put(var1.previousUsername, var1); - if (var2 != null && var2 != var1) { - var2.previousUsername = null; - } - } - - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "6" - ) - @Export("arrayRemove") - final void arrayRemove(int var1) { - --this.size; - if (var1 < this.size) { - System.arraycopy(this.array, var1 + 1, this.array, var1, this.size - var1); - } - - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "2144429485" - ) - @Export("removeComparator") - public final void removeComparator() { - this.comparator = null; - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(Ljava/util/Comparator;B)V", - garbageValue = "1" - ) - @Export("addComparator") - public final void addComparator(Comparator var1) { - if (this.comparator == null) { - this.comparator = var1; - } else if (this.comparator instanceof AbstractUserComparator) { - ((AbstractUserComparator)this.comparator).addComparator(var1); - } - - } -} +import java.util.Arrays; +import java.util.Comparator; +import java.util.HashMap; +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("jb") +@Implements("UserList") +public abstract class UserList { + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 2041615959 + ) + @Export("capacity") + final int capacity; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1842381401 + ) + @Export("size") + int size; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "[Ljh;" + ) + @Export("array") + User[] array; + @ObfuscatedName("q") + @Export("usernamesMap") + HashMap usernamesMap; + @ObfuscatedName("m") + @Export("previousUsernamesMap") + HashMap previousUsernamesMap; + @ObfuscatedName("y") + @Export("comparator") + Comparator comparator; + + UserList(int var1) { + this.size = 0; + this.comparator = null; + this.capacity = var1; + this.array = this.newTypedArray(var1); + this.usernamesMap = new HashMap(var1 / 8); + this.previousUsernamesMap = new HashMap(var1 / 8); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)Ljh;", + garbageValue = "2" + ) + @Export("newInstance") + abstract User newInstance(); + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)[Ljh;", + garbageValue = "951526901" + ) + @Export("newTypedArray") + abstract User[] newTypedArray(int var1); + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1173231376" + ) + @Export("clear") + public void clear() { + this.size = 0; + Arrays.fill(this.array, (Object)null); + this.usernamesMap.clear(); + this.previousUsernamesMap.clear(); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "377492255" + ) + @Export("getSize") + public int getSize() { + return this.size; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "905555090" + ) + @Export("isFull") + public boolean isFull() { + return this.capacity == this.size; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(Ljq;I)Z", + garbageValue = "154884591" + ) + @Export("contains") + public boolean contains(Username var1) { + if (!var1.hasCleanName()) { + return false; + } else { + return this.usernamesMap.containsKey(var1) ? true : this.previousUsernamesMap.containsKey(var1); + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Ljq;I)Ljh;", + garbageValue = "1786549701" + ) + @Export("getByUsername") + public User getByUsername(Username var1) { + User var2 = this.getByCurrentUsername(var1); + return var2 != null ? var2 : this.getByPreviousUsername(var1); + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Ljq;B)Ljh;", + garbageValue = "-117" + ) + @Export("getByCurrentUsername") + User getByCurrentUsername(Username var1) { + return !var1.hasCleanName() ? null : (User)this.usernamesMap.get(var1); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(Ljq;I)Ljh;", + garbageValue = "-105614622" + ) + @Export("getByPreviousUsername") + User getByPreviousUsername(Username var1) { + return !var1.hasCleanName() ? null : (User)this.previousUsernamesMap.get(var1); + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(Ljq;I)Z", + garbageValue = "396177459" + ) + @Export("removeByUsername") + public final boolean removeByUsername(Username var1) { + User var2 = this.getByCurrentUsername(var1); + if (var2 == null) { + return false; + } else { + this.remove(var2); + return true; + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(Ljh;I)V", + garbageValue = "-1534400390" + ) + @Export("remove") + final void remove(User var1) { + int var2 = this.indexOf(var1); + if (var2 != -1) { + this.arrayRemove(var2); + this.mapRemove(var1); + } + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(Ljq;I)Ljh;", + garbageValue = "1185457515" + ) + @Export("addLastNoPreviousUsername") + User addLastNoPreviousUsername(Username var1) { + return this.addLast(var1, (Username)null); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(Ljq;Ljq;S)Ljh;", + garbageValue = "255" + ) + @Export("addLast") + User addLast(Username var1, Username var2) { + if (this.getByCurrentUsername(var1) != null) { + throw new IllegalStateException(); + } else { + User var3 = this.newInstance(); + var3.set(var1, var2); + this.arrayAddLast(var3); + this.mapPut(var3); + return var3; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(II)Ljh;", + garbageValue = "2063225233" + ) + @Export("get") + public final User get(int var1) { + if (var1 >= 0 && var1 < this.size) { + return this.array[var1]; + } else { + throw new ArrayIndexOutOfBoundsException(var1); + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2147144826" + ) + @Export("sort") + public final void sort() { + if (this.comparator == null) { + Arrays.sort(this.array, 0, this.size); + } else { + Arrays.sort(this.array, 0, this.size, this.comparator); + } + + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(Ljh;Ljq;Ljq;B)V", + garbageValue = "24" + ) + @Export("changeName") + final void changeName(User var1, Username var2, Username var3) { + this.mapRemove(var1); + var1.set(var2, var3); + this.mapPut(var1); + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(Ljh;B)I", + garbageValue = "4" + ) + @Export("indexOf") + final int indexOf(User var1) { + for (int var2 = 0; var2 < this.size; ++var2) { + if (this.array[var2] == var1) { + return var2; + } + } + + return -1; + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(Ljh;I)V", + garbageValue = "-1535395374" + ) + @Export("mapRemove") + final void mapRemove(User var1) { + if (this.usernamesMap.remove(var1.username) == null) { + throw new IllegalStateException(); + } else { + if (var1.previousUsername != null) { + this.previousUsernamesMap.remove(var1.previousUsername); + } + + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(Ljh;B)V", + garbageValue = "3" + ) + @Export("arrayAddLast") + final void arrayAddLast(User var1) { + this.array[++this.size - 1] = var1; + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(Ljh;I)V", + garbageValue = "-1752297517" + ) + @Export("mapPut") + final void mapPut(User var1) { + this.usernamesMap.put(var1.username, var1); + if (var1.previousUsername != null) { + User var2 = (User)this.previousUsernamesMap.put(var1.previousUsername, var1); + if (var2 != null && var2 != var1) { + var2.previousUsername = null; + } + } + + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "36" + ) + @Export("arrayRemove") + final void arrayRemove(int var1) { + --this.size; + if (var1 < this.size) { + System.arraycopy(this.array, var1 + 1, this.array, var1, this.size - var1); + } + + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "2" + ) + @Export("removeComparator") + public final void removeComparator() { + this.comparator = null; + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(Ljava/util/Comparator;B)V", + garbageValue = "59" + ) + @Export("addComparator") + public final void addComparator(Comparator var1) { + if (this.comparator == null) { + this.comparator = var1; + } else if (this.comparator instanceof AbstractUserComparator) { + ((AbstractUserComparator)this.comparator).addComparator(var1); + } + + } +} diff --git a/runescape-client/src/main/java/Username.java b/runescape-client/src/main/java/Username.java index 0ae53e1da6..b6634f69d1 100644 --- a/runescape-client/src/main/java/Username.java +++ b/runescape-client/src/main/java/Username.java @@ -1,273 +1,105 @@ -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("jt") -@Implements("Username") -public class Username implements Comparable { - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1583830617 - ) - static int field3594; - @ObfuscatedName("c") - @Export("name") - String name; - @ObfuscatedName("x") - @Export("cleanName") - String cleanName; - - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lll;)V" - ) - public Username(String var1, LoginType var2) { - this.name = var1; - String var4; - if (var1 == null) { - var4 = null; - } else { - int var5 = 0; - - int var6; - boolean var7; - char var8; - for (var6 = var1.length(); var5 < var6; ++var5) { - var8 = var1.charAt(var5); - var7 = var8 == 160 || var8 == ' ' || var8 == '_' || var8 == '-'; - if (!var7) { - break; - } - } - - while (var6 > var5) { - var8 = var1.charAt(var6 - 1); - var7 = var8 == 160 || var8 == ' ' || var8 == '_' || var8 == '-'; - if (!var7) { - break; - } - - --var6; - } - - int var17 = var6 - var5; - if (var17 >= 1 && var17 <= TaskHandler.method3464(var2)) { - StringBuilder var15 = new StringBuilder(var17); - - for (int var9 = var5; var9 < var6; ++var9) { - char var10 = var1.charAt(var9); - boolean var11; - if (Character.isISOControl(var10)) { - var11 = false; - } else if (HealthBar.isAlphaNumeric(var10)) { - var11 = true; - } else { - char[] var16 = class338.field4037; - int var13 = 0; - - label95: - while (true) { - char var14; - if (var13 >= var16.length) { - var16 = class338.field4038; - - for (var13 = 0; var13 < var16.length; ++var13) { - var14 = var16[var13]; - if (var14 == var10) { - var11 = true; - break label95; - } - } - - var11 = false; - break; - } - - var14 = var16[var13]; - if (var10 == var14) { - var11 = true; - break; - } - - ++var13; - } - } - - if (var11) { - char var12; - switch(var10) { - case ' ': - case '-': - case '_': - case ' ': - var12 = '_'; - break; - case '#': - case '[': - case ']': - var12 = var10; - break; - case 'À': - case 'Á': - case 'Â': - case 'Ã': - case 'Ä': - case 'à': - case 'á': - case 'â': - case 'ã': - case 'ä': - var12 = 'a'; - break; - case 'Ç': - case 'ç': - var12 = 'c'; - break; - case 'È': - case 'É': - case 'Ê': - case 'Ë': - case 'è': - case 'é': - case 'ê': - case 'ë': - var12 = 'e'; - break; - case 'Í': - case 'Î': - case 'Ï': - case 'í': - case 'î': - case 'ï': - var12 = 'i'; - break; - case 'Ñ': - case 'ñ': - var12 = 'n'; - break; - case 'Ò': - case 'Ó': - case 'Ô': - case 'Õ': - case 'Ö': - case 'ò': - case 'ó': - case 'ô': - case 'õ': - case 'ö': - var12 = 'o'; - break; - case 'Ù': - case 'Ú': - case 'Û': - case 'Ü': - case 'ù': - case 'ú': - case 'û': - case 'ü': - var12 = 'u'; - break; - case 'ß': - var12 = 'b'; - break; - case 'ÿ': - case 'Ÿ': - var12 = 'y'; - break; - default: - var12 = Character.toLowerCase(var10); - } - - if (var12 != 0) { - var15.append(var12); - } - } - } - - if (var15.length() == 0) { - var4 = null; - } else { - var4 = var15.toString(); - } - } else { - var4 = null; - } - } - - this.cleanName = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-1478069507" - ) - @Export("getName") - public String getName() { - return this.name; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1276407986" - ) - @Export("hasCleanName") - public boolean hasCleanName() { - return this.cleanName != null; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljt;I)I", - garbageValue = "1717930485" - ) - @Export("compareToTyped") - public int compareToTyped(Username var1) { - if (this.cleanName == null) { - return var1.cleanName == null ? 0 : 1; - } else { - return var1.cleanName == null ? -1 : this.cleanName.compareTo(var1.cleanName); - } - } - - public boolean equals(Object var1) { - if (var1 instanceof Username) { - Username var2 = (Username)var1; - if (this.cleanName == null) { - return var2.cleanName == null; - } else if (var2.cleanName == null) { - return false; - } else { - return this.hashCode() != var2.hashCode() ? false : this.cleanName.equals(var2.cleanName); - } - } else { - return false; - } - } - - public int hashCode() { - return this.cleanName == null ? 0 : this.cleanName.hashCode(); - } - - public int compareTo(Object var1) { - return this.compareToTyped((Username)var1); - } - - public String toString() { - return this.getName(); - } - - public String aai() { - return this.getName(); - } - - public String aan() { - return this.getName(); - } - - public String aar() { - return this.getName(); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jq") +@Implements("Username") +public class Username implements Comparable { + @ObfuscatedName("z") + @Export("name") + String name; + @ObfuscatedName("n") + @Export("cleanName") + String cleanName; + + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Lli;)V" + ) + public Username(String var1, LoginType var2) { + this.name = var1; + this.cleanName = ScriptEvent.method1198(var1, var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)Ljava/lang/String;", + garbageValue = "1788579750" + ) + @Export("getName") + public String getName() { + return this.name; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "415071897" + ) + @Export("hasCleanName") + public boolean hasCleanName() { + return this.cleanName != null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljq;I)I", + garbageValue = "432116697" + ) + @Export("compareToTyped") + public int compareToTyped(Username var1) { + if (this.cleanName == null) { + return var1.cleanName == null ? 0 : 1; + } else { + return var1.cleanName == null ? -1 : this.cleanName.compareTo(var1.cleanName); + } + } + + public boolean equals(Object var1) { + if (var1 instanceof Username) { + Username var2 = (Username)var1; + if (this.cleanName == null) { + return var2.cleanName == null; + } else if (var2.cleanName == null) { + return false; + } else { + return this.hashCode() != var2.hashCode() ? false : this.cleanName.equals(var2.cleanName); + } + } else { + return false; + } + } + + public int hashCode() { + return this.cleanName == null ? 0 : this.cleanName.hashCode(); + } + + public String toString() { + return this.getName(); + } + + public int compareTo(Object var1) { + return this.compareToTyped((Username)var1); + } + + public String aah() { + return this.getName(); + } + + public String aae() { + return this.getName(); + } + + public String aak() { + return this.getName(); + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "([BII)I", + garbageValue = "-42849866" + ) + public static int method5132(byte[] var0, int var1) { + return LoginScreenAnimation.method1844(var0, 0, var1); + } +} diff --git a/runescape-client/src/main/java/Usernamed.java b/runescape-client/src/main/java/Usernamed.java index d2fc0733b9..03719b8442 100644 --- a/runescape-client/src/main/java/Usernamed.java +++ b/runescape-client/src/main/java/Usernamed.java @@ -1,36 +1,16 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jj") -@Implements("Usernamed") -public interface Usernamed { - @ObfuscatedSignature( - signature = "()Ljt;" - ) - Username aaa(); - - @ObfuscatedSignature( - signature = "()Ljt;" - ) - Username aak(); - - @ObfuscatedSignature( - signature = "()Ljt;" - ) - Username aap(); - - @ObfuscatedSignature( - signature = "()Ljt;" - ) - Username aac(); - - @ObfuscatedName("kp") - @ObfuscatedSignature( - signature = "(B)Ljt;", - garbageValue = "1" - ) - @Export("username") - Username username(); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ju") +@Implements("Usernamed") +public interface Usernamed { + @ObfuscatedName("kz") + @ObfuscatedSignature( + signature = "(S)Ljq;", + garbageValue = "9955" + ) + @Export("username") + Username username(); +} diff --git a/runescape-client/src/main/java/VarbitDefinition.java b/runescape-client/src/main/java/VarbitDefinition.java index 1f64c40df7..da8eeb7a93 100644 --- a/runescape-client/src/main/java/VarbitDefinition.java +++ b/runescape-client/src/main/java/VarbitDefinition.java @@ -1,117 +1,734 @@ -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("it") -@Implements("VarbitDefinition") -public class VarbitDefinition extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("VarbitDefinition_archive") - public static AbstractArchive VarbitDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("VarbitDefinition_cached") - public static EvictingDualNodeHashTable VarbitDefinition_cached; - @ObfuscatedName("a") - @Export("BZip2Decompressor_block") - static int[] BZip2Decompressor_block; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1892165457 - ) - @Export("baseVar") - public int baseVar; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 810805195 - ) - @Export("startBit") - public int startBit; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1776174069 - ) - @Export("endBit") - public int endBit; - - static { - VarbitDefinition_cached = new EvictingDualNodeHashTable(64); - } - - VarbitDefinition() { - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1056617467" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "26" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.baseVar = var1.readUnsignedShort(); - this.startBit = var1.readUnsignedByte(); - this.endBit = var1.readUnsignedByte(); - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "944071832" - ) - static final void method4499(int var0, int var1, int var2) { - int var3; - for (var3 = 0; var3 < 8; ++var3) { - for (int var4 = 0; var4 < 8; ++var4) { - Tiles.Tiles_heights[var0][var3 + var1][var4 + var2] = 0; - } - } - - if (var1 > 0) { - for (var3 = 1; var3 < 8; ++var3) { - Tiles.Tiles_heights[var0][var1][var3 + var2] = Tiles.Tiles_heights[var0][var1 - 1][var3 + var2]; - } - } - - if (var2 > 0) { - for (var3 = 1; var3 < 8; ++var3) { - Tiles.Tiles_heights[var0][var3 + var1][var2] = Tiles.Tiles_heights[var0][var3 + var1][var2 - 1]; - } - } - - if (var1 > 0 && Tiles.Tiles_heights[var0][var1 - 1][var2] != 0) { - Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1 - 1][var2]; - } else if (var2 > 0 && Tiles.Tiles_heights[var0][var1][var2 - 1] != 0) { - Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1][var2 - 1]; - } else if (var1 > 0 && var2 > 0 && Tiles.Tiles_heights[var0][var1 - 1][var2 - 1] != 0) { - Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1 - 1][var2 - 1]; - } - - } -} +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("id") +@Implements("VarbitDefinition") +public class VarbitDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("VarbitDefinition_archive") + public static AbstractArchive VarbitDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("VarbitDefinition_cached") + public static EvictingDualNodeHashTable VarbitDefinition_cached; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -613999551 + ) + @Export("baseVar") + public int baseVar; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1319012991 + ) + @Export("startBit") + public int startBit; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1338326949 + ) + @Export("endBit") + public int endBit; + + static { + VarbitDefinition_cached = new EvictingDualNodeHashTable(64); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "1106809134" + ) + @Export("decode") + public void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "1640448389" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.baseVar = var1.readUnsignedShort(); + this.startBit = var1.readUnsignedByte(); + this.endBit = var1.readUnsignedByte(); + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkn;Lkn;Lkn;I)V", + garbageValue = "937788655" + ) + @Export("drawTitle") + static void drawTitle(Font var0, Font var1, Font var2) { + Login.xPadding = (FloorDecoration.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + GrandExchangeOfferUnitPriceComparator.loginBoxCenter = Login.loginBoxX + 180; + int var10; + int var12; + int var14; + byte var23; + int var24; + int var28; + int var29; + int var30; + int var31; + int var32; + int var45; + if (Login.worldSelectOpen) { + int var37; + int var39; + if (ArchiveLoader.worldSelectBackSprites == null) { + Archive var36 = GrandExchangeOfferAgeComparator.archive8; + var39 = var36.getGroupId("sl_back"); + var37 = var36.getFileId(var39, ""); + Sprite[] var35 = Canvas.SpriteBuffer_getSpriteArray(var36, var39, var37); + ArchiveLoader.worldSelectBackSprites = var35; + } + + if (Language.worldSelectFlagSprites == null) { + Language.worldSelectFlagSprites = WorldMapIcon_0.method222(GrandExchangeOfferAgeComparator.archive8, "sl_flags", ""); + } + + if (GrandExchangeOfferTotalQuantityComparator.worldSelectArrows == null) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows = WorldMapIcon_0.method222(GrandExchangeOfferAgeComparator.archive8, "sl_arrows", ""); + } + + if (Frames.worldSelectStars == null) { + Frames.worldSelectStars = WorldMapIcon_0.method222(GrandExchangeOfferAgeComparator.archive8, "sl_stars", ""); + } + + if (WorldMapIcon_0.worldSelectLeftSprite == null) { + WorldMapIcon_0.worldSelectLeftSprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(GrandExchangeOfferAgeComparator.archive8, "leftarrow", ""); + } + + if (HealthBar.worldSelectRightSprite == null) { + HealthBar.worldSelectRightSprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(GrandExchangeOfferAgeComparator.archive8, "rightarrow", ""); + } + + Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0); + Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 12425273, 9135624); + Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 5197647, 2697513); + var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); + if (Frames.worldSelectStars != null) { + Frames.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); + var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); + Frames.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); + var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); + } + + if (GrandExchangeOfferTotalQuantityComparator.worldSelectArrows != null) { + var45 = Login.xPadding + 280; + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var45, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[0].drawAt(var45, 4); + } + + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 1) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[3].drawAt(var45 + 15, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var45 + 15, 4); + } + + var0.draw("World", var45 + 32, 17, 16777215, -1); + var24 = Login.xPadding + 390; + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var24, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[0].drawAt(var24, 4); + } + + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 1) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[3].drawAt(var24 + 15, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var24 + 15, 4); + } + + var0.draw("Players", var24 + 32, 17, 16777215, -1); + var39 = Login.xPadding + 500; + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var39, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[0].drawAt(var39, 4); + } + + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 1) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[3].drawAt(var39 + 15, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var39 + 15, 4); + } + + var0.draw("Location", var39 + 32, 17, 16777215, -1); + var37 = Login.xPadding + 610; + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[2].drawAt(var37, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[0].drawAt(var37, 4); + } + + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 1) { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[3].drawAt(var37 + 15, 4); + } else { + GrandExchangeOfferTotalQuantityComparator.worldSelectArrows[1].drawAt(var37 + 15, 4); + } + + var0.draw("Type", var37 + 32, 17, 16777215, -1); + } + + Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); + var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); + Login.hoveredWorldIndex = -1; + if (ArchiveLoader.worldSelectBackSprites != null) { + var23 = 88; + byte var50 = 19; + var39 = 765 / (var23 + 1) - 1; + var37 = 480 / (var50 + 1); + + do { + var28 = var37; + var29 = var39; + if (var37 * (var39 - 1) >= World.World_count) { + --var39; + } + + if (var39 * (var37 - 1) >= World.World_count) { + --var37; + } + + if (var39 * (var37 - 1) >= World.World_count) { + --var37; + } + } while(var28 != var37 || var39 != var29); + + var28 = (765 - var39 * var23) / (var39 + 1); + if (var28 > 5) { + var28 = 5; + } + + var29 = (480 - var50 * var37) / (var37 + 1); + if (var29 > 5) { + var29 = 5; + } + + var30 = (765 - var23 * var39 - var28 * (var39 - 1)) / 2; + var10 = (480 - var37 * var50 - var29 * (var37 - 1)) / 2; + var31 = (var37 + World.World_count - 1) / var37; + Login.worldSelectPagesCount = var31 - var39; + if (WorldMapIcon_0.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { + WorldMapIcon_0.worldSelectLeftSprite.drawAt(8, WallDecoration.canvasHeight / 2 - WorldMapIcon_0.worldSelectLeftSprite.subHeight / 2); + } + + if (HealthBar.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { + HealthBar.worldSelectRightSprite.drawAt(FloorDecoration.canvasWidth - HealthBar.worldSelectRightSprite.subWidth - 8, WallDecoration.canvasHeight / 2 - HealthBar.worldSelectRightSprite.subHeight / 2); + } + + var12 = var10 + 23; + var32 = var30 + Login.xPadding; + var14 = 0; + boolean var15 = false; + int var16 = Login.worldSelectPage; + + int var17; + for (var17 = var37 * var16; var17 < World.World_count && var16 - Login.worldSelectPage < var39; ++var17) { + World var33 = World.World_worlds[var17]; + boolean var19 = true; + String var20 = Integer.toString(var33.population); + if (var33.population == -1) { + var20 = "OFF"; + var19 = false; + } else if (var33.population > 1980) { + var20 = "FULL"; + var19 = false; + } + + int var22 = 0; + byte var21; + if (var33.isBeta()) { + if (var33.isMembersOnly()) { + var21 = 7; + } else { + var21 = 6; + } + } else if (var33.isDeadman()) { + var22 = 16711680; + if (var33.isMembersOnly()) { + var21 = 5; + } else { + var21 = 4; + } + } else if (var33.isPvp()) { + if (var33.isMembersOnly()) { + var21 = 3; + } else { + var21 = 2; + } + } else if (var33.isMembersOnly()) { + var21 = 1; + } else { + var21 = 0; + } + + if (MouseHandler.MouseHandler_x >= var32 && MouseHandler.MouseHandler_y >= var12 && MouseHandler.MouseHandler_x < var23 + var32 && MouseHandler.MouseHandler_y < var50 + var12 && var19) { + Login.hoveredWorldIndex = var17; + ArchiveLoader.worldSelectBackSprites[var21].drawTransOverlayAt(var32, var12, 128, 16777215); + var15 = true; + } else { + ArchiveLoader.worldSelectBackSprites[var21].drawAt(var32, var12); + } + + if (Language.worldSelectFlagSprites != null) { + Language.worldSelectFlagSprites[(var33.isMembersOnly() ? 8 : 0) + var33.location].drawAt(var32 + 29, var12); + } + + var0.drawCentered(Integer.toString(var33.id), var32 + 15, var50 / 2 + var12 + 5, var22, -1); + var1.drawCentered(var20, var32 + 60, var50 / 2 + var12 + 5, 268435455, -1); + var12 = var12 + var29 + var50; + ++var14; + if (var14 >= var37) { + var12 = var10 + 23; + var32 = var32 + var23 + var28; + var14 = 0; + ++var16; + } + } + + if (var15) { + var17 = var1.stringWidth(World.World_worlds[Login.hoveredWorldIndex].activity) + 6; + int var18 = var1.ascent + 8; + int var43 = MouseHandler.MouseHandler_y + 25; + if (var18 + var43 > 480) { + var43 = MouseHandler.MouseHandler_y - 25 - var18; + } + + Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var17 / 2, var43, var17, var18, 16777120); + Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var17 / 2, var43, var17, var18, 0); + var1.drawCentered(World.World_worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var43 + var1.ascent + 4, 0, -1); + } + } + + class42.rasterProvider.drawFull(0, 0); + } else { + WorldMapID.leftTitleSprite.drawAt(Login.xPadding, 0); + class51.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + FontName.logoSprite.drawAt(Login.xPadding + 382 - FontName.logoSprite.subWidth / 2, 18); + if (Client.gameState == 0 || Client.gameState == 5) { + var23 = 20; + var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var23, 16777215, -1); + var24 = 253 - var23; + Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var24, 304, 34, 9179409); + Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var24 + 1, 302, 32, 0); + Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var24 + 2, Login.Login_loadingPercent * 3, 30, 9179409); + Rasterizer2D.Rasterizer2D_fillRectangle(Login.Login_loadingPercent * 3 + (Login.loginBoxX + 180 - 150), var24 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0); + var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var23, 16777215, -1); + } + + String var8; + String var9; + char[] var11; + char[] var13; + String var25; + String var27; + String var40; + short var44; + short var46; + if (Client.gameState == 20) { + class32.titleboxSprite.drawAt(Login.loginBoxX + 180 - class32.titleboxSprite.subWidth / 2, 271 - class32.titleboxSprite.subHeight / 2); + var44 = 201; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var45 += 7; + if (Login.loginIndex != 4) { + var0.draw("Login: ", Login.loginBoxX + 180 - 110, var45, 16777215, 0); + var46 = 200; + if (!AbstractArchive.clientPreferences.hideUsername) { + var25 = Login.Login_username; + } else { + var8 = Login.Login_username; + var10 = var8.length(); + var11 = new char[var10]; + + for (var12 = 0; var12 < var10; ++var12) { + var11[var12] = '*'; + } + + var9 = new String(var11); + var25 = var9; + } + + for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(0, var25.length() - 1)) { + } + + var0.draw(AbstractFont.escapeBrackets(var25), Login.loginBoxX + 180 - 70, var45, 16777215, 0); + var45 += 15; + var8 = "Password: "; + var27 = Login.Login_password; + var12 = var27.length(); + var13 = new char[var12]; + + for (var14 = 0; var14 < var12; ++var14) { + var13[var14] = '*'; + } + + var40 = new String(var13); + var0.draw(var8 + var40, Login.loginBoxX + 180 - 108, var45, 16777215, 0); + var45 += 15; + } + } + + if (Client.gameState == 10 || Client.gameState == 11) { + class32.titleboxSprite.drawAt(Login.loginBoxX, 171); + short var5; + if (Login.loginIndex == 0) { + var44 = 251; + var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 30; + var24 = Login.loginBoxX + 180 - 80; + var5 = 291; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawLines("New User", var24 - 73, var5 - 20, 144, 40, 16777215, 0, 1, 1, 0); + var24 = Login.loginBoxX + 180 + 80; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawLines("Existing User", var24 - 73, var5 - 20, 144, 40, 16777215, 0, 1, 1, 0); + } else if (Login.loginIndex == 1) { + var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0); + var44 = 236; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16777215, 0); + var45 = var44 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16777215, 0); + var45 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16777215, 0); + var45 += 15; + var24 = Login.loginBoxX + 180 - 80; + var5 = 321; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Continue", var24, var5 + 5, 16777215, 0); + var24 = Login.loginBoxX + 180 + 80; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Cancel", var24, var5 + 5, 16777215, 0); + } else if (Login.loginIndex == 2) { + var44 = 201; + var0.drawCentered(Login.Login_response1, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, 16776960, 0); + var45 = var44 + 15; + var0.drawCentered(Login.Login_response2, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var45, 16776960, 0); + var45 += 15; + var0.drawCentered(Login.Login_response3, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var45, 16776960, 0); + var45 += 15; + var45 += 7; + var0.draw("Login: ", GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 110, var45, 16777215, 0); + var46 = 200; + if (!AbstractArchive.clientPreferences.hideUsername) { + var25 = Login.Login_username; + } else { + var8 = Login.Login_username; + var10 = var8.length(); + var11 = new char[var10]; + + for (var12 = 0; var12 < var10; ++var12) { + var11[var12] = '*'; + } + + var9 = new String(var11); + var25 = var9; + } + + for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(1)) { + } + + var0.draw(AbstractFont.escapeBrackets(var25) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 70, var45, 16777215, 0); + var45 += 15; + var8 = "Password: "; + var27 = Login.Login_password; + var12 = var27.length(); + var13 = new char[var12]; + + for (var14 = 0; var14 < var12; ++var14) { + var13[var14] = '*'; + } + + var40 = new String(var13); + var0.draw(var8 + var40 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 108, var45, 16777215, 0); + var45 += 15; + var44 = 277; + var31 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + -117; + IndexedSprite var34 = ClientPacket.method3572(Client.Login_isUsernameRemembered, Login.field1176); + var34.drawAt(var31, var44); + var31 = var31 + var34.subWidth + 5; + var1.draw("Remember username", var31, var44 + 13, 16776960, 0); + var31 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 24; + var34 = ClientPacket.method3572(AbstractArchive.clientPreferences.hideUsername, Login.field1192); + var34.drawAt(var31, var44); + var31 = var31 + var34.subWidth + 5; + var1.draw("Hide username", var31, var44 + 13, 16776960, 0); + var45 = var44 + 15; + var32 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter - 80; + short var42 = 321; + AbstractRasterProvider.titlebuttonSprite.drawAt(var32 - 73, var42 - 20); + var0.drawCentered("Login", var32, var42 + 5, 16777215, 0); + var32 = GrandExchangeOfferUnitPriceComparator.loginBoxCenter + 80; + AbstractRasterProvider.titlebuttonSprite.drawAt(var32 - 73, var42 - 20); + var0.drawCentered("Cancel", var32, var42 + 5, 16777215, 0); + var44 = 357; + switch(Login.field1171) { + case 2: + class3.field18 = "Having trouble logging in?"; + break; + default: + class3.field18 = "Can't login? Click here."; + } + + LoginScreenAnimation.field1032 = new Bounds(GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, var1.stringWidth(class3.field18), 11); + class162.field1988 = new Bounds(GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, var1.stringWidth("Still having trouble logging in?"), 11); + var1.drawCentered(class3.field18, GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var44, 16777215, 0); + } else if (Login.loginIndex == 3) { + var44 = 201; + var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 20; + var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var24 = Login.loginBoxX + 180; + var5 = 276; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var2.drawCentered("Try again", var24, var5 + 5, 16777215, 0); + var24 = Login.loginBoxX + 180; + var5 = 326; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var2.drawCentered("Forgotten password?", var24, var5 + 5, 16777215, 0); + } else { + String var26; + if (Login.loginIndex == 4) { + var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0); + var44 = 236; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16777215, 0); + var45 = var44 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16777215, 0); + var45 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16777215, 0); + var45 += 15; + var26 = "PIN: "; + String var7 = DesktopPlatformInfoProvider.otp; + var30 = var7.length(); + char[] var47 = new char[var30]; + + for (var31 = 0; var31 < var30; ++var31) { + var47[var31] = '*'; + } + + var8 = new String(var47); + var0.draw(var26 + var8 + (Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var45, 16777215, 0); + var45 -= 8; + var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var45, 16776960, 0); + var45 += 15; + var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var45, 16776960, 0); + var29 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15; + var30 = var45 - var0.ascent; + IndexedSprite var48; + if (Login.field1183) { + var48 = class42.options_buttons_2Sprite; + } else { + var48 = class195.options_buttons_0Sprite; + } + + var48.drawAt(var29, var30); + var45 += 15; + var31 = Login.loginBoxX + 180 - 80; + short var41 = 321; + AbstractRasterProvider.titlebuttonSprite.drawAt(var31 - 73, var41 - 20); + var0.drawCentered("Continue", var31, var41 + 5, 16777215, 0); + var31 = Login.loginBoxX + 180 + 80; + AbstractRasterProvider.titlebuttonSprite.drawAt(var31 - 73, var41 - 20); + var0.drawCentered("Cancel", var31, var41 + 5, 16777215, 0); + var1.drawCentered("Can't Log In?", Login.loginBoxX + 180, var41 + 36, 255, 0); + } else { + short var49; + if (Login.loginIndex == 5) { + var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0); + var44 = 221; + var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 15; + var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var45 += 14; + var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var45, 16777215, 0); + var46 = 174; + if (!AbstractArchive.clientPreferences.hideUsername) { + var25 = Login.Login_username; + } else { + var8 = Login.Login_username; + var10 = var8.length(); + var11 = new char[var10]; + + for (var12 = 0; var12 < var10; ++var12) { + var11[var12] = '*'; + } + + var9 = new String(var11); + var25 = var9; + } + + for (var25 = var25; var0.stringWidth(var25) > var46; var25 = var25.substring(1)) { + } + + var0.draw(AbstractFont.escapeBrackets(var25) + (Client.cycle % 40 < 20 ? World.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var45, 16777215, 0); + var45 += 15; + var28 = Login.loginBoxX + 180 - 80; + var49 = 321; + AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20); + var0.drawCentered("Recover", var28, var49 + 5, 16777215, 0); + var28 = Login.loginBoxX + 180 + 80; + AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20); + var0.drawCentered("Back", var28, var49 + 5, 16777215, 0); + var49 = 356; + var1.drawCentered("Still having trouble logging in?", GrandExchangeOfferUnitPriceComparator.loginBoxCenter, var49, 268435455, 0); + } else if (Login.loginIndex == 6) { + var44 = 201; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var24 = Login.loginBoxX + 180; + var5 = 321; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Back", var24, var5 + 5, 16777215, 0); + } else if (Login.loginIndex == 7) { + var44 = 216; + var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 15; + var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var24 = Login.loginBoxX + 180 - 80; + var5 = 321; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Set Date of Birth", var24, var5 + 5, 16777215, 0); + var24 = Login.loginBoxX + 180 + 80; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Back", var24, var5 + 5, 16777215, 0); + } else if (Login.loginIndex == 8) { + var44 = 216; + var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 15; + var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var24 = Login.loginBoxX + 180 - 80; + var5 = 321; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Privacy Policy", var24, var5 + 5, 16777215, 0); + var24 = Login.loginBoxX + 180 + 80; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Back", var24, var5 + 5, 16777215, 0); + } else if (Login.loginIndex == 12) { + var44 = 201; + String var4 = ""; + var26 = ""; + var25 = ""; + switch(Login.field1174) { + case 0: + var4 = "Your account has been disabled."; + var26 = Strings.field2793; + var25 = ""; + break; + case 1: + var4 = "Account locked as we suspect it has been stolen."; + var26 = Strings.field2783; + var25 = ""; + break; + default: + TilePaint.method3039(false); + } + + var0.drawCentered(var4, Login.loginBoxX + 180, var44, 16776960, 0); + var45 = var44 + 15; + var2.drawCentered(var26, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var2.drawCentered(var25, Login.loginBoxX + 180, var45, 16776960, 0); + var45 += 15; + var28 = Login.loginBoxX + 180; + var49 = 276; + AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20); + var0.drawCentered("Support Page", var28, var49 + 5, 16777215, 0); + var28 = Login.loginBoxX + 180; + var49 = 326; + AbstractRasterProvider.titlebuttonSprite.drawAt(var28 - 73, var49 - 20); + var0.drawCentered("Back", var28, var49 + 5, 16777215, 0); + } else if (Login.loginIndex == 24) { + var44 = 221; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var44, 16777215, 0); + var45 = var44 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var45, 16777215, 0); + var45 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var45, 16777215, 0); + var45 += 15; + var24 = Login.loginBoxX + 180; + var5 = 301; + AbstractRasterProvider.titlebuttonSprite.drawAt(var24 - 73, var5 - 20); + var0.drawCentered("Ok", var24, var5 + 5, 16777215, 0); + } + } + } + } + + if (Client.gameState >= 10) { + int[] var3 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var3); + Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, WallDecoration.canvasHeight); + BufferedSink.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle); + BufferedSink.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle); + Rasterizer2D.Rasterizer2D_setClipArray(var3); + } + + UserComparator7.title_muteSprite[AbstractArchive.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463); + if (Client.gameState > 5 && Language.Language_EN == WorldMapLabelSize.clientLanguage) { + if (Skeleton.field1767 != null) { + var45 = Login.xPadding + 5; + var46 = 463; + byte var38 = 100; + byte var6 = 35; + Skeleton.field1767.drawAt(var45, var46); + var0.drawCentered("World" + " " + Client.worldId, var38 / 2 + var45, var6 / 2 + var46 - 2, 16777215, 0); + if (class51.World_request != null) { + var1.drawCentered("Loading...", var38 / 2 + var45, var6 / 2 + var46 + 12, 16777215, 0); + } else { + var1.drawCentered("Click to switch", var38 / 2 + var45, var6 / 2 + var46 + 12, 16777215, 0); + } + } else { + Skeleton.field1767 = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(GrandExchangeOfferAgeComparator.archive8, "sl_button", ""); + } + } + + } + } +} diff --git a/runescape-client/src/main/java/VarcInt.java b/runescape-client/src/main/java/VarcInt.java index 7f937f0bfa..f91f8b3860 100644 --- a/runescape-client/src/main/java/VarcInt.java +++ b/runescape-client/src/main/java/VarcInt.java @@ -1,85 +1,66 @@ -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("ih") -@Implements("VarcInt") -public class VarcInt extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("VarcInt_archive") - static AbstractArchive VarcInt_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("VarcInt_cached") - static EvictingDualNodeHashTable VarcInt_cached; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -59845961 - ) - @Export("loginBoxCenter") - static int loginBoxCenter; - @ObfuscatedName("t") - @Export("persist") - public boolean persist; - - static { - VarcInt_cached = new EvictingDualNodeHashTable(64); - } - - VarcInt() { - this.persist = false; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;B)V", - garbageValue = "9" - ) - void method4394(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.method4395(var1, var2); - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "-46" - ) - void method4395(Buffer var1, int var2) { - if (var2 == 2) { - this.persist = true; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;I)V", - garbageValue = "-1900079219" - ) - public static void method4407(AbstractArchive var0) { - ParamDefinition.ParamDefinition_archive = var0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)[Lie;", - garbageValue = "-105" - ) - static HorizontalAlignment[] method4396() { - return new HorizontalAlignment[]{HorizontalAlignment.field3430, HorizontalAlignment.HorizontalAlignment_centered, HorizontalAlignment.field3428}; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("is") +@Implements("VarcInt") +public class VarcInt extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("VarcInt_archive") + public static AbstractArchive VarcInt_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("VarcInt_cached") + public static EvictingDualNodeHashTable VarcInt_cached; + @ObfuscatedName("dp") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive18") + static Archive archive18; + @ObfuscatedName("v") + @Export("persist") + public boolean persist; + + static { + VarcInt_cached = new EvictingDualNodeHashTable(64); + } + + public VarcInt() { + this.persist = false; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "32" + ) + public void method4360(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.method4363(var1, var2); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-773678840" + ) + void method4363(Buffer var1, int var2) { + if (var2 == 2) { + this.persist = true; + } + + } +} diff --git a/runescape-client/src/main/java/Varcs.java b/runescape-client/src/main/java/Varcs.java index dd81c55e2c..60dc64be4f 100644 --- a/runescape-client/src/main/java/Varcs.java +++ b/runescape-client/src/main/java/Varcs.java @@ -1,409 +1,357 @@ -import java.io.EOFException; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.Map.Entry; -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("cj") -@Implements("Varcs") -public class Varcs { - @ObfuscatedName("rm") - @ObfuscatedGetter( - intValue = -2086820043 - ) - static int field1242; - @ObfuscatedName("t") - @Export("intsPersistence") - boolean[] intsPersistence; - @ObfuscatedName("g") - @Export("map") - Map map; - @ObfuscatedName("l") - @Export("strings") - String[] strings; - @ObfuscatedName("u") - @Export("unwrittenChanges") - boolean unwrittenChanges; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = -2615226300908847259L - ) - long field1239; - - Varcs() { - this.unwrittenChanges = false; - int var1 = class173.archive2.getGroupFileCount(19); - this.map = new HashMap(); - this.intsPersistence = new boolean[var1]; - - int var2; - for (var2 = 0; var2 < var1; ++var2) { - VarcInt var3 = class186.method3609(var2); - this.intsPersistence[var2] = var3.persist; - } - - var2 = 0; - if (class173.archive2.method4261(15)) { - var2 = class173.archive2.getGroupFileCount(15); - } - - this.strings = new String[var2]; - this.read(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIS)V", - garbageValue = "-1109" - ) - @Export("setInt") - void setInt(int var1, int var2) { - this.map.put(var1, var2); - if (this.intsPersistence[var1]) { - this.unwrittenChanges = true; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1810097692" - ) - @Export("getInt") - int getInt(int var1) { - Object var2 = this.map.get(var1); - return var2 instanceof Integer ? (Integer)var2 : -1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", - garbageValue = "-1074130602" - ) - @Export("setString") - void setString(int var1, String var2) { - this.map.put(var1, var2); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IB)Ljava/lang/String;", - garbageValue = "68" - ) - @Export("getString") - String getString(int var1) { - Object var2 = this.map.get(var1); - return var2 instanceof String ? (String)var2 : ""; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", - garbageValue = "-1450087250" - ) - @Export("setStringOld") - void setStringOld(int var1, String var2) { - this.strings[var1] = var2; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "-1157824262" - ) - @Export("getStringOld") - String getStringOld(int var1) { - return this.strings[var1]; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "844512682" - ) - @Export("clearTransient") - void clearTransient() { - int var1; - for (var1 = 0; var1 < this.intsPersistence.length; ++var1) { - if (!this.intsPersistence[var1]) { - this.map.remove(var1); - } - } - - for (var1 = 0; var1 < this.strings.length; ++var1) { - this.strings[var1] = null; - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(ZI)Lmr;", - garbageValue = "-1276722644" - ) - @Export("getPreferencesFile") - AccessFile getPreferencesFile(boolean var1) { - return GrandExchangeOfferUnitPriceComparator.getPreferencesFile("2", class43.field359.name, var1); - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "51" - ) - @Export("write") - void write() { - AccessFile var1 = this.getPreferencesFile(true); - - try { - int var2 = 3; - int var3 = 0; - Iterator var4 = this.map.entrySet().iterator(); - - while (var4.hasNext()) { - Entry var5 = (Entry)var4.next(); - int var6 = (Integer)var5.getKey(); - if (this.intsPersistence[var6]) { - Object var7 = var5.getValue(); - var2 += 3; - if (var7 instanceof Integer) { - var2 += 4; - } else if (var7 instanceof String) { - var2 += stringCp1252NullTerminatedByteSize((String)var7); - } - - ++var3; - } - } - - Buffer var33 = new Buffer(var2); - var33.writeByte(2); - var33.writeShort(var3); - Iterator var34 = this.map.entrySet().iterator(); - - label187: - while (true) { - Entry var21; - int var22; - do { - if (!var34.hasNext()) { - var1.write(var33.array, 0, var33.offset); - break label187; - } - - var21 = (Entry)var34.next(); - var22 = (Integer)var21.getKey(); - } while(!this.intsPersistence[var22]); - - var33.writeShort(var22); - Object var8 = var21.getValue(); - Class var10 = var8.getClass(); - class3[] var11 = new class3[]{class3.field10, class3.field13, class3.field7}; - class3[] var12 = var11; - int var13 = 0; - - class3 var9; - class3 var14; - while (true) { - if (var13 >= var12.length) { - var9 = null; - break; - } - - var14 = var12[var13]; - if (var10 == var14.field11) { - var9 = var14; - break; - } - - ++var13; - } - - var33.writeByte(var9.field12); - Class var23 = var8.getClass(); - class3[] var15 = new class3[]{class3.field10, class3.field13, class3.field7}; - class3[] var16 = var15; - int var17 = 0; - - while (true) { - if (var17 >= var16.length) { - var14 = null; - break; - } - - class3 var18 = var16[var17]; - if (var23 == var18.field11) { - var14 = var18; - break; - } - - ++var17; - } - - if (var14 == null) { - throw new IllegalArgumentException(); - } - - class0 var35 = var14.field8; - var35.vmethod42(var8, var33); - } - } catch (Exception var31) { - } finally { - try { - var1.close(); - } catch (Exception var30) { - } - - } - - this.unwrittenChanges = false; - this.field1239 = SoundCache.method2480(); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "97" - ) - @Export("read") - void read() { - AccessFile var1 = this.getPreferencesFile(false); - - label215: { - try { - byte[] var2 = new byte[(int)var1.length()]; - - int var4; - for (int var3 = 0; var3 < var2.length; var3 += var4) { - var4 = var1.read(var2, var3, var2.length - var3); - if (var4 == -1) { - throw new EOFException(); - } - } - - Buffer var15 = new Buffer(var2); - if (var15.array.length - var15.offset < 1) { - return; - } - - int var16 = var15.readUnsignedByte(); - if (var16 >= 0 && var16 <= 2) { - int var7; - int var8; - int var9; - int var17; - if (var16 >= 2) { - var17 = var15.readUnsignedShort(); - var7 = 0; - - while (true) { - if (var7 >= var17) { - break label215; - } - - var8 = var15.readUnsignedShort(); - var9 = var15.readUnsignedByte(); - class3[] var10 = new class3[]{class3.field10, class3.field13, class3.field7}; - class3 var11 = (class3)ServerPacket.findEnumerated(var10, var9); - Object var12 = var11.method37(var15); - if (this.intsPersistence[var8]) { - this.map.put(var8, var12); - } - - ++var7; - } - } else { - var17 = var15.readUnsignedShort(); - - for (var7 = 0; var7 < var17; ++var7) { - var8 = var15.readUnsignedShort(); - var9 = var15.readInt(); - if (this.intsPersistence[var8]) { - this.map.put(var8, var9); - } - } - - var7 = var15.readUnsignedShort(); - var8 = 0; - - while (true) { - if (var8 >= var7) { - break label215; - } - - var15.readUnsignedShort(); - var15.readStringCp1252NullTerminated(); - ++var8; - } - } - } - } catch (Exception var26) { - break label215; - } finally { - try { - var1.close(); - } catch (Exception var25) { - } - - } - - return; - } - - this.unwrittenChanges = false; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1574159447" - ) - @Export("tryWrite") - void tryWrite() { - if (this.unwrittenChanges && this.field1239 < SoundCache.method2480() - 60000L) { - this.write(); - } - - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "53" - ) - @Export("hasUnwrittenChanges") - boolean hasUnwrittenChanges() { - return this.unwrittenChanges; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-2082115344" - ) - @Export("ItemContainer_getCount") - static int ItemContainer_getCount(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var2 == null) { - return 0; - } else { - return var1 >= 0 && var1 < var2.quantities.length ? var2.quantities[var1] : 0; - } - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)I", - garbageValue = "0" - ) - @Export("stringCp1252NullTerminatedByteSize") - public static int stringCp1252NullTerminatedByteSize(String var0) { - return var0.length() + 1; - } -} +import java.io.EOFException; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Map.Entry; +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("ct") +@Implements("Varcs") +public class Varcs { + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1292567711 + ) + static int field1255; + @ObfuscatedName("ho") + @ObfuscatedGetter( + intValue = -2002882325 + ) + @Export("cameraY") + static int cameraY; + @ObfuscatedName("v") + @Export("intsPersistence") + boolean[] intsPersistence; + @ObfuscatedName("u") + @Export("map") + Map map; + @ObfuscatedName("r") + @Export("strings") + String[] strings; + @ObfuscatedName("p") + @Export("unwrittenChanges") + boolean unwrittenChanges; + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = 457115256589346479L + ) + long field1253; + + Varcs() { + this.unwrittenChanges = false; + int var1 = FaceNormal.archive2.getGroupFileCount(19); + this.map = new HashMap(); + this.intsPersistence = new boolean[var1]; + + int var2; + for (var2 = 0; var2 < var1; ++var2) { + VarcInt var4 = (VarcInt)VarcInt.VarcInt_cached.get((long)var2); + VarcInt var3; + if (var4 != null) { + var3 = var4; + } else { + byte[] var5 = VarcInt.VarcInt_archive.takeFile(19, var2); + var4 = new VarcInt(); + if (var5 != null) { + var4.method4360(new Buffer(var5)); + } + + VarcInt.VarcInt_cached.put(var4, (long)var2); + var3 = var4; + } + + this.intsPersistence[var2] = var3.persist; + } + + var2 = 0; + if (FaceNormal.archive2.method4232(15)) { + var2 = FaceNormal.archive2.getGroupFileCount(15); + } + + this.strings = new String[var2]; + this.read(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1021423877" + ) + @Export("setInt") + void setInt(int var1, int var2) { + this.map.put(var1, var2); + if (this.intsPersistence[var1]) { + this.unwrittenChanges = true; + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "104" + ) + @Export("getInt") + int getInt(int var1) { + Object var2 = this.map.get(var1); + return var2 instanceof Integer ? (Integer)var2 : -1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;B)V", + garbageValue = "-65" + ) + @Export("setString") + void setString(int var1, String var2) { + this.map.put(var1, var2); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IB)Ljava/lang/String;", + garbageValue = "-74" + ) + @Export("getString") + String getString(int var1) { + Object var2 = this.map.get(var1); + return var2 instanceof String ? (String)var2 : ""; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)V", + garbageValue = "2089409644" + ) + @Export("setStringOld") + void setStringOld(int var1, String var2) { + this.strings[var1] = var2; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IB)Ljava/lang/String;", + garbageValue = "1" + ) + @Export("getStringOld") + String getStringOld(int var1) { + return this.strings[var1]; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "29" + ) + @Export("clearTransient") + void clearTransient() { + int var1; + for (var1 = 0; var1 < this.intsPersistence.length; ++var1) { + if (!this.intsPersistence[var1]) { + this.map.remove(var1); + } + } + + for (var1 = 0; var1 < this.strings.length; ++var1) { + this.strings[var1] = null; + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(ZI)Lmh;", + garbageValue = "1415923729" + ) + @Export("getPreferencesFile") + AccessFile getPreferencesFile(boolean var1) { + return class185.getPreferencesFile("2", class16.field101.name, var1); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-54" + ) + @Export("write") + void write() { + AccessFile var1 = this.getPreferencesFile(true); + + try { + int var2 = 3; + int var3 = 0; + Iterator var4 = this.map.entrySet().iterator(); + + while (var4.hasNext()) { + Entry var5 = (Entry)var4.next(); + int var6 = (Integer)var5.getKey(); + if (this.intsPersistence[var6]) { + Object var7 = var5.getValue(); + var2 += 3; + if (var7 instanceof Integer) { + var2 += 4; + } else if (var7 instanceof String) { + var2 += class268.stringCp1252NullTerminatedByteSize((String)var7); + } + + ++var3; + } + } + + Buffer var26 = new Buffer(var2); + var26.writeByte(2); + var26.writeShort(var3); + Iterator var27 = this.map.entrySet().iterator(); + + while (var27.hasNext()) { + Entry var15 = (Entry)var27.next(); + int var16 = (Integer)var15.getKey(); + if (this.intsPersistence[var16]) { + var26.writeShort(var16); + Object var8 = var15.getValue(); + class3 var9 = class3.method33(var8.getClass()); + var26.writeByte(var9.field9); + Class var11 = var8.getClass(); + class3 var12 = class3.method33(var11); + if (var12 == null) { + throw new IllegalArgumentException(); + } + + class0 var10 = var12.field13; + var10.vmethod64(var8, var26); + } + } + + var1.write(var26.array, 0, var26.offset); + } catch (Exception var24) { + } finally { + try { + var1.close(); + } catch (Exception var23) { + } + + } + + this.unwrittenChanges = false; + this.field1253 = class30.method566(); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-71" + ) + @Export("read") + void read() { + AccessFile var1 = this.getPreferencesFile(false); + + label230: { + try { + byte[] var2 = new byte[(int)var1.length()]; + + int var4; + for (int var3 = 0; var3 < var2.length; var3 += var4) { + var4 = var1.read(var2, var3, var2.length - var3); + if (var4 == -1) { + throw new EOFException(); + } + } + + Buffer var14 = new Buffer(var2); + if (var14.array.length - var14.offset >= 1) { + int var15 = var14.readUnsignedByte(); + if (var15 >= 0 && var15 <= 2) { + int var7; + int var8; + int var9; + int var16; + if (var15 >= 2) { + var16 = var14.readUnsignedShort(); + var7 = 0; + + while (true) { + if (var7 >= var16) { + break label230; + } + + var8 = var14.readUnsignedShort(); + var9 = var14.readUnsignedByte(); + class3 var10 = (class3)NetSocket.findEnumerated(class3.method41(), var9); + Object var11 = var10.method35(var14); + if (this.intsPersistence[var8]) { + this.map.put(var8, var11); + } + + ++var7; + } + } else { + var16 = var14.readUnsignedShort(); + + for (var7 = 0; var7 < var16; ++var7) { + var8 = var14.readUnsignedShort(); + var9 = var14.readInt(); + if (this.intsPersistence[var8]) { + this.map.put(var8, var9); + } + } + + var7 = var14.readUnsignedShort(); + var8 = 0; + + while (true) { + if (var8 >= var7) { + break label230; + } + + var14.readUnsignedShort(); + var14.readStringCp1252NullTerminated(); + ++var8; + } + } + } + + return; + } + } catch (Exception var25) { + break label230; + } finally { + try { + var1.close(); + } catch (Exception var24) { + } + + } + + return; + } + + this.unwrittenChanges = false; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-71" + ) + @Export("tryWrite") + void tryWrite() { + if (this.unwrittenChanges && this.field1253 < class30.method566() - 60000L) { + this.write(); + } + + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1985614095" + ) + @Export("hasUnwrittenChanges") + boolean hasUnwrittenChanges() { + return this.unwrittenChanges; + } +} diff --git a/runescape-client/src/main/java/VarpDefinition.java b/runescape-client/src/main/java/VarpDefinition.java index 8fdb154360..a04631ffbf 100644 --- a/runescape-client/src/main/java/VarpDefinition.java +++ b/runescape-client/src/main/java/VarpDefinition.java @@ -1,120 +1,99 @@ -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("is") -@Implements("VarpDefinition") -public class VarpDefinition extends DualNode { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("VarpDefinition_cached") - static EvictingDualNodeHashTable VarpDefinition_cached; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1682787017 - ) - @Export("type") - public int type; - - static { - VarpDefinition_cached = new EvictingDualNodeHashTable(64); - } - - VarpDefinition() { - this.type = 0; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;B)V", - garbageValue = "76" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "86" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 5) { - this.type = var1.readUnsignedShort(); - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;ZIS)V", - garbageValue = "-8911" - ) - static void method4354(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { - if (Login.field1181) { - if (var3 == 4) { - Login.loginIndex = 4; - } - - } else { - Login.loginIndex = var3; - Rasterizer2D.Rasterizer2D_clear(); - byte[] var4 = var0.takeFileByNames("title.jpg", ""); - Login.leftTitleSprite = class16.convertJpgToSprite(var4); - class191.rightTitleSprite = Login.leftTitleSprite.mirrorHorizontally(); - if ((Client.worldProperties & 536870912) != 0) { - HealthBar.logoSprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); - } else { - HealthBar.logoSprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); - } - - Login.titleboxSprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); - class191.titlebuttonSprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); - UserComparator10.runesSprite = GrandExchangeOfferNameComparator.method122(var1, "runes", ""); - FileSystem.title_muteSprite = GrandExchangeOfferNameComparator.method122(var1, "title_mute", ""); - GrandExchangeOfferWorldComparator.options_buttons_0Sprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); - Login.field1153 = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); - Login.options_buttons_2Sprite = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); - WorldMapDecoration.field202 = Interpreter.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); - class4.field17 = GrandExchangeOfferWorldComparator.options_buttons_0Sprite.subWidth; - class267.field3524 = GrandExchangeOfferWorldComparator.options_buttons_0Sprite.subHeight; - UserComparator5.loginScreenRunesAnimation = new LoginScreenAnimation(UserComparator10.runesSprite); - if (var2) { - Login.Login_username = ""; - Login.Login_password = ""; - } - - class222.field2729 = 0; - class81.otp = ""; - Login.field1183 = true; - Login.worldSelectOpen = false; - if (!Actor.clientPreferences.titleMusicDisabled) { - PendingSpawn.method1681(2, WorldMapDecoration.archive6, "scape main", "", 255, false); - } else { - WallDecoration.method3256(2); - } - - class173.method3575(false); - Login.field1181 = true; - Login.xPadding = (GraphicsDefaults.canvasWidth - 765) / 2; - Login.loginBoxX = Login.xPadding + 202; - VarcInt.loginBoxCenter = Login.loginBoxX + 180; - Login.leftTitleSprite.drawAt(Login.xPadding, 0); - class191.rightTitleSprite.drawAt(Login.xPadding + 382, 0); - HealthBar.logoSprite.drawAt(Login.xPadding + 382 - HealthBar.logoSprite.subWidth / 2, 18); - } - } -} +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.ScriptOpcodes; + +@ObfuscatedName("iq") +@Implements("VarpDefinition") +public class VarpDefinition extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("VarpDefinition_archive") + public static AbstractArchive VarpDefinition_archive; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1786777659 + ) + @Export("VarpDefinition_fileCount") + public static int VarpDefinition_fileCount; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("VarpDefinition_cached") + static EvictingDualNodeHashTable VarpDefinition_cached; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 223624365 + ) + @Export("type") + public int type; + + static { + VarpDefinition_cached = new EvictingDualNodeHashTable(64); + } + + VarpDefinition() { + this.type = 0; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "769888015" + ) + @Export("decode") + void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "217607439" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 5) { + this.type = var1.readUnsignedShort(); + } + + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1744608160" + ) + static int method4335(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + if (var0 == ScriptOpcodes.CC_GETINVOBJECT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemId; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) { + if (var3.itemId != -1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemQuantity; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_GETID) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.childIndex; + return 1; + } else { + return 2; + } + } +} diff --git a/runescape-client/src/main/java/Varps.java b/runescape-client/src/main/java/Varps.java index a25cd1f195..1eb30bcccf 100644 --- a/runescape-client/src/main/java/Varps.java +++ b/runescape-client/src/main/java/Varps.java @@ -1,84 +1,37 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hc") -@Implements("Varps") -public class Varps { - @ObfuscatedName("c") - @Export("Varps_masks") - static int[] Varps_masks; - @ObfuscatedName("x") - @Export("Varps_temp") - public static int[] Varps_temp; - @ObfuscatedName("t") - @Export("Varps_main") - public static int[] Varps_main; - @ObfuscatedName("jz") - @ObfuscatedSignature( - signature = "Lby;" - ) - @Export("localPlayer") - static Player localPlayer; - - static { - Varps_masks = new int[32]; - int var0 = 2; - - for (int var1 = 0; var1 < 32; ++var1) { - Varps_masks[var1] = var0 - 1; - var0 += var0; - } - - Varps_temp = new int[4000]; - Varps_main = new int[4000]; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lio;IIIBZI)V", - garbageValue = "-902896741" - ) - @Export("requestNetFile") - static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) { - long var6 = (long)((var1 << 16) + var2); - NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6); - if (var8 == null) { - var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); - if (var8 == null) { - var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); - if (var8 != null) { - if (var5) { - var8.removeDual(); - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingPriorityWritesCount; - } - - } else { - if (!var5) { - var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); - if (var8 != null) { - return; - } - } - - var8 = new NetFileRequest(); - var8.archive = var0; - var8.crc = var3; - var8.padding = var4; - if (var5) { - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - ++NetCache.NetCache_pendingPriorityWritesCount; - } else { - NetCache.NetCache_pendingWritesQueue.addFirst(var8); - NetCache.NetCache_pendingWrites.put(var8, var6); - ++NetCache.NetCache_pendingWritesCount; - } - - } - } - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hl") +@Implements("Varps") +public class Varps { + @ObfuscatedName("pb") + @ObfuscatedSignature( + signature = "Ljk;" + ) + @Export("clanChat") + static ClanChat clanChat; + @ObfuscatedName("z") + @Export("Varps_masks") + static int[] Varps_masks; + @ObfuscatedName("n") + @Export("Varps_temp") + public static int[] Varps_temp; + @ObfuscatedName("v") + @Export("Varps_main") + public static int[] Varps_main; + + static { + Varps_masks = new int[32]; + int var0 = 2; + + for (int var1 = 0; var1 < 32; ++var1) { + Varps_masks[var1] = var0 - 1; + var0 += var0; + } + + Varps_temp = new int[4000]; + Varps_main = new int[4000]; + } +} diff --git a/runescape-client/src/main/java/VertexNormal.java b/runescape-client/src/main/java/VertexNormal.java index 1324a9a411..cc2f2585ba 100644 --- a/runescape-client/src/main/java/VertexNormal.java +++ b/runescape-client/src/main/java/VertexNormal.java @@ -1,127 +1,134 @@ -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("df") -@Implements("VertexNormal") -public class VertexNormal { - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 717279929 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 933713205 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -190922053 - ) - @Export("z") - int z; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 906423943 - ) - @Export("magnitude") - int magnitude; - - VertexNormal() { - } - - @ObfuscatedSignature( - signature = "(Ldf;)V" - ) - VertexNormal(VertexNormal var1) { - this.x = var1.x; - this.y = var1.y; - this.z = var1.z; - this.magnitude = var1.magnitude; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIIZIZI)V", - garbageValue = "-1345116753" - ) - @Export("doWorldSorting") - static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) { - if (var0 < var1) { - int var6 = (var0 + var1) / 2; - int var7 = var0; - World var8 = World.World_worlds[var6]; - World.World_worlds[var6] = World.World_worlds[var1]; - World.World_worlds[var1] = var8; - - for (int var9 = var0; var9 < var1; ++var9) { - World var11 = World.World_worlds[var9]; - int var12 = VerticalAlignment.compareWorlds(var11, var8, var2, var3); - int var10; - if (var12 != 0) { - if (var3) { - var10 = -var12; - } else { - var10 = var12; - } - } else if (var4 == -1) { - var10 = 0; - } else { - int var13 = VerticalAlignment.compareWorlds(var11, var8, var4, var5); - if (var5) { - var10 = -var13; - } else { - var10 = var13; - } - } - - if (var10 <= 0) { - World var14 = World.World_worlds[var9]; - World.World_worlds[var9] = World.World_worlds[var7]; - World.World_worlds[var7++] = var14; - } - } - - World.World_worlds[var1] = World.World_worlds[var7]; - World.World_worlds[var7] = var8; - doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); - doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Lkz;J)V" - ) - static void method2958(Buffer var0, long var1) { - var1 /= 10L; - if (var1 < 0L) { - var1 = 0L; - } else if (var1 > 65535L) { - var1 = 65535L; - } - - var0.writeShort((int)var1); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-214641711" - ) - public static void method2960(boolean var0) { - if (var0 != ItemDefinition.ItemDefinition_inMembersWorld) { - ItemDefinition.ItemDefinition_cached.clear(); - ItemDefinition.ItemDefinition_cachedModels.clear(); - ItemDefinition.ItemDefinition_cachedSprites.clear(); - ItemDefinition.ItemDefinition_inMembersWorld = var0; - } - - } -} +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("dp") +@Implements("VertexNormal") +public class VertexNormal { + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "Lhs;" + ) + static ServerBuild field1726; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 511779629 + ) + @Export("magnitude") + int magnitude; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 162355823 + ) + @Export("x") + int x; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 669484941 + ) + @Export("y") + int y; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1691554905 + ) + @Export("z") + int z; + + VertexNormal() { + } + + @ObfuscatedSignature( + signature = "(Ldp;)V" + ) + VertexNormal(VertexNormal var1) { + this.x = var1.x; + this.y = var1.y; + this.z = var1.z; + this.magnitude = var1.magnitude; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", + garbageValue = "-1499927610" + ) + public static String method2957(CharSequence var0) { + long var3 = 0L; + int var5 = var0.length(); + + for (int var6 = 0; var6 < var5; ++var6) { + var3 *= 37L; + char var7 = var0.charAt(var6); + if (var7 >= 'A' && var7 <= 'Z') { + var3 += (long)(var7 + 1 - 65); + } else if (var7 >= 'a' && var7 <= 'z') { + var3 += (long)(var7 + 1 - 97); + } else if (var7 >= '0' && var7 <= '9') { + var3 += (long)(var7 + 27 - 48); + } + + if (var3 >= 177917621779460413L) { + break; + } + } + + while (var3 % 37L == 0L && 0L != var3) { + var3 /= 37L; + } + + String var8 = World.base37DecodeLong(var3); + if (var8 == null) { + var8 = ""; + } + + return var8; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1992175982" + ) + public static void method2956() { + class49.midiPcmStream.clear(); + class197.field2386 = 1; + class197.musicTrackArchive = null; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "11" + ) + public static void method2955() { + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile; + MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile; + MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile; + MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile; + MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile; + MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile; + MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile; + MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile; + MouseHandler.MouseHandler_lastButtonVolatile = 0; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(Lhp;IIS)Z", + garbageValue = "18259" + ) + static boolean method2958(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + if (var3 == null) { + return false; + } else { + Tiles.SpriteBuffer_decode(var3); + return true; + } + } +} diff --git a/runescape-client/src/main/java/VerticalAlignment.java b/runescape-client/src/main/java/VerticalAlignment.java index 597347df11..23387c062f 100644 --- a/runescape-client/src/main/java/VerticalAlignment.java +++ b/runescape-client/src/main/java/VerticalAlignment.java @@ -1,812 +1,72 @@ -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("ii") -@Implements("VerticalAlignment") -public enum VerticalAlignment implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lii;" - ) - field3172(1, 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lii;" - ) - @Export("VerticalAlignment_centered") - VerticalAlignment_centered(2, 1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lii;" - ) - field3170(0, 2); - - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1133132541 - ) - @Export("value") - public final int value; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 544602367 - ) - @Export("id") - final int id; - - VerticalAlignment(int var3, int var4) { - this.value = var3; - this.id = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "441666520" - ) - static String method4328() { - String var0; - if (Actor.clientPreferences.hideUsername) { - String var2 = Login.Login_username; - String var1 = HealthBarDefinition.method4481('*', var2.length()); - var0 = var1; - } else { - var0 = Login.Login_username; - } - - return var0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lbb;Lbb;IZS)I", - garbageValue = "-22293" - ) - @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; - } - } - - 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.method1753() ? (var1.method1753() ? 0 : 1) : (var1.method1753() ? -1 : 0); - } else if (var2 == 5) { - return var0.method1713() ? (var1.method1713() ? 0 : 1) : (var1.method1713() ? -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; - } - } - - @ObfuscatedName("fm") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1636025700" - ) - static final void method4329() { - for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) { - int var10002 = Client.queuedSoundEffectDelays[var0]--; - if (Client.queuedSoundEffectDelays[var0] >= -10) { - SoundEffect var9 = Client.soundEffects[var0]; - if (var9 == null) { - Object var10000 = null; - var9 = SoundEffect.readSoundEffect(class13.archive4, Client.soundEffectIds[var0], 0); - if (var9 == null) { - continue; - } - - int[] var13 = Client.queuedSoundEffectDelays; - var13[var0] += var9.calculateDelay(); - Client.soundEffects[var0] = var9; - } - - if (Client.queuedSoundEffectDelays[var0] < 0) { - int var2; - if (Client.soundLocations[var0] != 0) { - int var3 = (Client.soundLocations[var0] & 255) * 128; - int var4 = Client.soundLocations[var0] >> 16 & 255; - int var5 = var4 * 128 + 64 - Varps.localPlayer.x * -78439701; - if (var5 < 0) { - var5 = -var5; - } - - int var6 = Client.soundLocations[var0] >> 8 & 255; - int var7 = var6 * 128 + 64 - Varps.localPlayer.y; - if (var7 < 0) { - var7 = -var7; - } - - int var8 = var5 + var7 - 128; - if (var8 > var3) { - Client.queuedSoundEffectDelays[var0] = -100; - continue; - } - - if (var8 < 0) { - var8 = 0; - } - - var2 = (var3 - var8) * Client.field860 / var3; - } else { - var2 = Client.soundEffectVolume; - } - - if (var2 > 0) { - RawSound var10 = var9.toRawSound().resample(class81.decimator); - RawPcmStream var11 = RawPcmStream.createRawPcmStream(var10, 100, var2); - var11.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); - class51.pcmStreamMixer.addSubStream(var11); - } - - Client.queuedSoundEffectDelays[var0] = -100; - } - } else { - --Client.soundEffectCount; - - for (int var1 = var0; var1 < Client.soundEffectCount; ++var1) { - Client.soundEffectIds[var1] = Client.soundEffectIds[var1 + 1]; - Client.soundEffects[var1] = Client.soundEffects[var1 + 1]; - Client.queuedSoundEffectLoops[var1] = Client.queuedSoundEffectLoops[var1 + 1]; - Client.queuedSoundEffectDelays[var1] = Client.queuedSoundEffectDelays[var1 + 1]; - Client.soundLocations[var1] = Client.soundLocations[var1 + 1]; - } - - --var0; - } - } - - if (Client.field746) { - boolean var12; - if (class197.field2376 != 0) { - var12 = true; - } else { - var12 = class197.midiPcmStream.isReady(); - } - - if (!var12) { - if (Client.field638 != 0 && Client.field857 != -1) { - class49.method826(WorldMapDecoration.archive6, Client.field857, 0, Client.field638, false); - } - - Client.field746 = false; - } - } - - } - - @ObfuscatedName("gq") - @ObfuscatedSignature( - signature = "(Lbe;IIIIII)V", - garbageValue = "2021063760" - ) - @Export("drawActor2d") - static final void drawActor2d(Actor var0, int var1, int var2, int var3, int var4, int var5) { - if (var0 != null && var0.isVisible()) { - if (var0 instanceof NPC) { - NPCDefinition var6 = ((NPC)var0).definition; - if (var6.transforms != null) { - var6 = var6.transform(); - } - - if (var6 == null) { - return; - } - } - - int var75 = Players.Players_count; - int[] var7 = Players.Players_indices; - byte var8 = 0; - if (var1 < var75 && var0.playerCycle == Client.cycle && NetSocket.method3531((Player)var0)) { - Player var9 = (Player)var0; - if (var1 < var75) { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight + 15); - AbstractFont var10 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); - byte var11 = 9; - var10.drawCentered(var9.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var11, 16777215, 0); - var8 = 18; - } - } - - int var76 = -2; - int var15; - int var22; - int var23; - if (!var0.healthBars.method4874()) { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight + 15); - - for (HealthBar var87 = (HealthBar)var0.healthBars.last(); var87 != null; var87 = (HealthBar)var0.healthBars.previous()) { - HealthBarUpdate var77 = var87.get(Client.cycle); - if (var77 == null) { - if (var87.isEmpty()) { - var87.remove(); - } - } else { - HealthBarDefinition var12 = var87.definition; - Sprite var13 = var12.getBackSprite(); - Sprite var14 = var12.getFrontSprite(); - int var16 = 0; - if (var13 != null && var14 != null) { - if (var12.widthPadding * 2 < var14.subWidth) { - var16 = var12.widthPadding; - } - - var15 = var14.subWidth - var16 * 2; - } else { - var15 = var12.width; - } - - int var17 = 255; - boolean var18 = true; - int var19 = Client.cycle - var77.cycle; - int var20 = var15 * var77.health2 / var12.width; - int var21; - int var92; - if (var77.cycleOffset > var19) { - var21 = var12.int4 == 0 ? 0 : var12.int4 * (var19 / var12.int4); - var22 = var15 * var77.health / var12.width; - var92 = var21 * (var20 - var22) / var77.cycleOffset + var22; - } else { - var92 = var20; - var21 = var77.cycleOffset + var12.int5 - var19; - if (var12.int3 >= 0) { - var17 = (var21 << 8) / (var12.int5 - var12.int3); - } - } - - if (var77.health2 > 0 && var92 < 1) { - var92 = 1; - } - - if (var13 != null && var14 != null) { - if (var92 == var15) { - var92 += var16 * 2; - } else { - var92 += var16; - } - - var21 = var13.subHeight; - var76 += var21; - var22 = var2 + Client.viewportTempX - (var15 >> 1); - var23 = var3 + Client.viewportTempY - var76; - var22 -= var16; - if (var17 >= 0 && var17 < 255) { - var13.drawTransAt(var22, var23, var17); - Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var92 + var22, var23 + var21); - var14.drawTransAt(var22, var23, var17); - } else { - var13.drawTransBgAt(var22, var23); - Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var92 + var22, var23 + var21); - var14.drawTransBgAt(var22, var23); - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); - var76 += 2; - } else { - var76 += 5; - if (Client.viewportTempX > -1) { - var21 = var2 + Client.viewportTempX - (var15 >> 1); - var22 = var3 + Client.viewportTempY - var76; - Rasterizer2D.Rasterizer2D_fillRectangle(var21, var22, var92, 5, 65280); - Rasterizer2D.Rasterizer2D_fillRectangle(var92 + var21, var22, var15 - var92, 5, 16711680); - } - - var76 += 2; - } - } - } - } - - if (var76 == -2) { - var76 += 7; - } - - var76 += var8; - if (var1 < var75) { - Player var88 = (Player)var0; - if (var88.isHidden) { - return; - } - - if (var88.headIconPk != -1 || var88.headIconPrayer != -1) { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - if (var88.headIconPk != -1) { - var76 += 25; - PlatformInfo.headIconPkSprites[var88.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); - } - - if (var88.headIconPrayer != -1) { - var76 += 25; - RouteStrategy.headIconPrayerSprites[var88.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); - } - } - } - - if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - var76 += GrandExchangeEvents.headIconHintSprites[1].subHeight; - GrandExchangeEvents.headIconHintSprites[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); - } - } - } else { - NPCDefinition var89 = ((NPC)var0).definition; - if (var89.transforms != null) { - var89 = var89.transform(); - } - - if (var89.headIconPrayer >= 0 && var89.headIconPrayer < RouteStrategy.headIconPrayerSprites.length) { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - RouteStrategy.headIconPrayerSprites[var89.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); - } - } - - if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight + 15); - if (Client.viewportTempX > -1) { - GrandExchangeEvents.headIconHintSprites[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); - } - } - } - - if (var0.overheadText != null && (var1 >= var75 || !var0.field956 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight); - if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { - Client.overheadTextXOffsets[Client.overheadTextCount] = HealthBar.fontBold12.stringWidth(var0.overheadText) / 2; - Client.overheadTextAscents[Client.overheadTextCount] = HealthBar.fontBold12.ascent; - Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX; - Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY; - Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor; - Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect; - Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining; - Client.overheadText[Client.overheadTextCount] = var0.overheadText; - ++Client.overheadTextCount; - } - } - - for (int var78 = 0; var78 < 4; ++var78) { - int var90 = var0.hitSplatCycles[var78]; - int var79 = var0.hitSplatTypes[var78]; - HitSplatDefinition var91 = null; - int var80 = 0; - if (var79 >= 0) { - if (var90 <= Client.cycle) { - continue; - } - - var91 = Interpreter.HitSplatDefinition_get(var0.hitSplatTypes[var78]); - var80 = var91.field3306; - if (var91 != null && var91.transforms != null) { - var91 = var91.transform(); - if (var91 == null) { - var0.hitSplatCycles[var78] = -1; - continue; - } - } - } else if (var90 < 0) { - continue; - } - - var15 = var0.hitSplatTypes2[var78]; - HitSplatDefinition var81 = null; - if (var15 >= 0) { - var81 = Interpreter.HitSplatDefinition_get(var15); - if (var81 != null && var81.transforms != null) { - var81 = var81.transform(); - } - } - - if (var90 - var80 <= Client.cycle) { - if (var91 == null) { - var0.hitSplatCycles[var78] = -1; - } else { - AttackOption.getActorScreenLocation(var0, var0.defaultHeight / 2); - if (Client.viewportTempX > -1) { - if (var78 == 1) { - Client.viewportTempY -= 20; - } - - if (var78 == 2) { - Client.viewportTempX -= 15; - Client.viewportTempY -= 10; - } - - if (var78 == 3) { - Client.viewportTempX += 15; - Client.viewportTempY -= 10; - } - - Sprite var82 = null; - Sprite var83 = null; - Sprite var84 = null; - Sprite var85 = null; - var22 = 0; - var23 = 0; - int var24 = 0; - int var25 = 0; - int var26 = 0; - int var27 = 0; - int var28 = 0; - int var29 = 0; - Sprite var30 = null; - Sprite var31 = null; - Sprite var32 = null; - Sprite var33 = null; - int var34 = 0; - int var35 = 0; - int var36 = 0; - int var37 = 0; - int var38 = 0; - int var39 = 0; - int var40 = 0; - int var41 = 0; - int var42 = 0; - var82 = var91.method4568(); - int var43; - if (var82 != null) { - var22 = var82.subWidth; - var43 = var82.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var26 = var82.xOffset; - } - - var83 = var91.method4581(); - if (var83 != null) { - var23 = var83.subWidth; - var43 = var83.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var27 = var83.xOffset; - } - - var84 = var91.method4570(); - if (var84 != null) { - var24 = var84.subWidth; - var43 = var84.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var28 = var84.xOffset; - } - - var85 = var91.method4561(); - if (var85 != null) { - var25 = var85.subWidth; - var43 = var85.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var29 = var85.xOffset; - } - - if (var81 != null) { - var30 = var81.method4568(); - if (var30 != null) { - var34 = var30.subWidth; - var43 = var30.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var38 = var30.xOffset; - } - - var31 = var81.method4581(); - if (var31 != null) { - var35 = var31.subWidth; - var43 = var31.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var39 = var31.xOffset; - } - - var32 = var81.method4570(); - if (var32 != null) { - var36 = var32.subWidth; - var43 = var32.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var40 = var32.xOffset; - } - - var33 = var81.method4561(); - if (var33 != null) { - var37 = var33.subWidth; - var43 = var33.subHeight; - if (var43 > var42) { - var42 = var43; - } - - var41 = var33.xOffset; - } - } - - Font var86 = var91.getFont(); - if (var86 == null) { - var86 = GrandExchangeEvent.fontPlain11; - } - - Font var44; - if (var81 != null) { - var44 = var81.getFont(); - if (var44 == null) { - var44 = GrandExchangeEvent.fontPlain11; - } - } else { - var44 = GrandExchangeEvent.fontPlain11; - } - - String var45 = null; - String var46 = null; - boolean var47 = false; - int var48 = 0; - var45 = var91.getString(var0.hitSplatValues[var78]); - int var93 = var86.stringWidth(var45); - if (var81 != null) { - var46 = var81.getString(var0.hitSplatValues2[var78]); - var48 = var44.stringWidth(var46); - } - - int var49 = 0; - int var50 = 0; - if (var23 > 0) { - if (var84 == null && var85 == null) { - var49 = 1; - } else { - var49 = var93 / var23 + 1; - } - } - - if (var81 != null && var35 > 0) { - if (var32 == null && var33 == null) { - var50 = 1; - } else { - var50 = var48 / var35 + 1; - } - } - - int var51 = 0; - int var52 = var51; - if (var22 > 0) { - var51 += var22; - } - - var51 += 2; - int var53 = var51; - if (var24 > 0) { - var51 += var24; - } - - int var54 = var51; - int var55 = var51; - int var56; - if (var23 > 0) { - var56 = var23 * var49; - var51 += var56; - var55 += (var56 - var93) / 2; - } else { - var51 += var93; - } - - var56 = var51; - if (var25 > 0) { - var51 += var25; - } - - int var57 = 0; - int var58 = 0; - int var59 = 0; - int var60 = 0; - int var61 = 0; - int var62; - if (var81 != null) { - var51 += 2; - var57 = var51; - if (var34 > 0) { - var51 += var34; - } - - var51 += 2; - var58 = var51; - if (var36 > 0) { - var51 += var36; - } - - var59 = var51; - var61 = var51; - if (var35 > 0) { - var62 = var35 * var50; - var51 += var62; - var61 += (var62 - var48) / 2; - } else { - var51 += var48; - } - - var60 = var51; - if (var37 > 0) { - var51 += var37; - } - } - - var62 = var0.hitSplatCycles[var78] - Client.cycle; - int var63 = var91.field3311 - var62 * var91.field3311 / var91.field3306; - int var64 = var62 * var91.field3310 / var91.field3306 + -var91.field3310; - int var65 = var63 + (var2 + Client.viewportTempX - (var51 >> 1)); - int var66 = var3 + Client.viewportTempY - 12 + var64; - int var67 = var66; - int var68 = var42 + var66; - int var69 = var66 + var91.field3316 + 15; - int var70 = var69 - var86.maxAscent; - int var71 = var69 + var86.maxDescent; - if (var70 < var66) { - var67 = var70; - } - - if (var71 > var68) { - var68 = var71; - } - - int var72 = 0; - int var73; - int var74; - if (var81 != null) { - var72 = var66 + var81.field3316 + 15; - var73 = var72 - var44.maxAscent; - var74 = var72 + var44.maxDescent; - if (var73 < var67) { - ; - } - - if (var74 > var68) { - ; - } - } - - var73 = 255; - if (var91.field3307 >= 0) { - var73 = (var62 << 8) / (var91.field3306 - var91.field3307); - } - - if (var73 >= 0 && var73 < 255) { - if (var82 != null) { - var82.drawTransAt(var52 + var65 - var26, var66, var73); - } - - if (var84 != null) { - var84.drawTransAt(var65 + var53 - var28, var66, var73); - } - - if (var83 != null) { - for (var74 = 0; var74 < var49; ++var74) { - var83.drawTransAt(var74 * var23 + (var65 + var54 - var27), var66, var73); - } - } - - if (var85 != null) { - var85.drawTransAt(var56 + var65 - var29, var66, var73); - } - - var86.drawAlpha(var45, var65 + var55, var69, var91.textColor, 0, var73); - if (var81 != null) { - if (var30 != null) { - var30.drawTransAt(var65 + var57 - var38, var66, var73); - } - - if (var32 != null) { - var32.drawTransAt(var58 + var65 - var40, var66, var73); - } - - if (var31 != null) { - for (var74 = 0; var74 < var50; ++var74) { - var31.drawTransAt(var35 * var74 + (var59 + var65 - var39), var66, var73); - } - } - - if (var33 != null) { - var33.drawTransAt(var60 + var65 - var41, var66, var73); - } - - var44.drawAlpha(var46, var65 + var61, var72, var81.textColor, 0, var73); - } - } else { - if (var82 != null) { - var82.drawTransBgAt(var65 + var52 - var26, var66); - } - - if (var84 != null) { - var84.drawTransBgAt(var53 + var65 - var28, var66); - } - - if (var83 != null) { - for (var74 = 0; var74 < var49; ++var74) { - var83.drawTransBgAt(var74 * var23 + (var54 + var65 - var27), var66); - } - } - - if (var85 != null) { - var85.drawTransBgAt(var56 + var65 - var29, var66); - } - - var86.draw(var45, var65 + var55, var69, var91.textColor | -16777216, 0); - if (var81 != null) { - if (var30 != null) { - var30.drawTransBgAt(var65 + var57 - var38, var66); - } - - if (var32 != null) { - var32.drawTransBgAt(var65 + var58 - var40, var66); - } - - if (var31 != null) { - for (var74 = 0; var74 < var50; ++var74) { - var31.drawTransBgAt(var74 * var35 + (var65 + var59 - var39), var66); - } - } - - if (var33 != null) { - var33.drawTransBgAt(var65 + var60 - var41, var66); - } - - var44.draw(var46, var65 + var61, var72, var81.textColor | -16777216, 0); - } - } - } - } - } - } - - } - } -} +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("im") +@Implements("VerticalAlignment") +public enum VerticalAlignment implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lim;" + ) + field3172(0, 0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lim;" + ) + @Export("VerticalAlignment_centered") + VerticalAlignment_centered(2, 1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lim;" + ) + field3170(1, 2); + + @ObfuscatedName("df") + @ObfuscatedGetter( + longValue = 8439577585786440307L + ) + static long field3175; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -163994147 + ) + @Export("value") + public final int value; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1741450623 + ) + @Export("id") + final int id; + + VerticalAlignment(int var3, int var4) { + this.value = var3; + this.id = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("ko") + @ObfuscatedSignature( + signature = "(Lho;I)Ljava/lang/String;", + garbageValue = "-2118508660" + ) + static String method4309(Widget var0) { + if (class2.method30(class2.getWidgetClickMask(var0)) == 0) { + return null; + } else { + return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null; + } + } +} diff --git a/runescape-client/src/main/java/ViewportMouse.java b/runescape-client/src/main/java/ViewportMouse.java index 323e7064c3..047233efc9 100644 --- a/runescape-client/src/main/java/ViewportMouse.java +++ b/runescape-client/src/main/java/ViewportMouse.java @@ -1,308 +1,245 @@ -import java.io.IOException; -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("dk") -@Implements("ViewportMouse") -public class ViewportMouse { - @ObfuscatedName("c") - @Export("ViewportMouse_isInViewport") - static boolean ViewportMouse_isInViewport; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1996252149 - ) - @Export("ViewportMouse_x") - static int ViewportMouse_x; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 755947551 - ) - @Export("ViewportMouse_y") - static int ViewportMouse_y; - @ObfuscatedName("g") - @Export("ViewportMouse_false0") - static boolean ViewportMouse_false0; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1736158671 - ) - static int field1711; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1750585749 - ) - static int field1712; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 999378931 - ) - @Export("ViewportMouse_entityCount") - static int ViewportMouse_entityCount; - @ObfuscatedName("p") - @Export("ViewportMouse_entityTags") - public static long[] ViewportMouse_entityTags; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1855998549 - ) - @Export("cacheGamebuild") - static int cacheGamebuild; - - static { - ViewportMouse_isInViewport = false; - ViewportMouse_x = 0; - ViewportMouse_y = 0; - ViewportMouse_false0 = false; - ViewportMouse_entityCount = 0; - ViewportMouse_entityTags = new long[1000]; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "-77" - ) - public static boolean method2957() { - long var0 = SoundCache.method2480(); - int var2 = (int)(var0 - NetCache.field3145); - NetCache.field3145 = var0; - if (var2 > 200) { - var2 = 200; - } - - NetCache.NetCache_loadTime += var2; - if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { - return true; - } else if (NetCache.NetCache_socket == null) { - return false; - } else { - try { - if (NetCache.NetCache_loadTime > 30000) { - throw new IOException(); - } else { - NetFileRequest var3; - Buffer var4; - while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { - var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); - var4 = new Buffer(4); - var4.writeByte(1); - var4.writeMedium((int)var3.key); - NetCache.NetCache_socket.write(var4.array, 0, 4); - NetCache.NetCache_pendingPriorityResponses.put(var3, var3.key); - --NetCache.NetCache_pendingPriorityWritesCount; - ++NetCache.NetCache_pendingPriorityResponsesCount; - } - - while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { - var3 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); - var4 = new Buffer(4); - var4.writeByte(0); - var4.writeMedium((int)var3.key); - NetCache.NetCache_socket.write(var4.array, 0, 4); - var3.removeDual(); - NetCache.NetCache_pendingResponses.put(var3, var3.key); - --NetCache.NetCache_pendingWritesCount; - ++NetCache.NetCache_pendingResponsesCount; - } - - for (int var15 = 0; var15 < 100; ++var15) { - int var16 = NetCache.NetCache_socket.available(); - if (var16 < 0) { - throw new IOException(); - } - - if (var16 == 0) { - break; - } - - NetCache.NetCache_loadTime = 0; - byte var5 = 0; - if (NetCache.NetCache_currentResponse == null) { - var5 = 8; - } else if (NetCache.field3154 == 0) { - var5 = 1; - } - - int var6; - int var7; - int var8; - int var10; - byte[] var10000; - int var10001; - Buffer var22; - if (var5 > 0) { - var6 = var5 - NetCache.NetCache_responseHeaderBuffer.offset; - if (var6 > var16) { - var6 = var16; - } - - NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var6); - if (NetCache.field3158 != 0) { - for (var7 = 0; var7 < var6; ++var7) { - var10000 = NetCache.NetCache_responseHeaderBuffer.array; - var10001 = var7 + NetCache.NetCache_responseHeaderBuffer.offset; - var10000[var10001] ^= NetCache.field3158; - } - } - - var22 = NetCache.NetCache_responseHeaderBuffer; - var22.offset += var6; - if (NetCache.NetCache_responseHeaderBuffer.offset < var5) { - break; - } - - if (NetCache.NetCache_currentResponse == null) { - NetCache.NetCache_responseHeaderBuffer.offset = 0; - var7 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var8 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); - int var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); - var10 = NetCache.NetCache_responseHeaderBuffer.readInt(); - long var11 = (long)(var8 + (var7 << 16)); - NetFileRequest var13 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var11); - NetCache.field3156 = true; - if (var13 == null) { - var13 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var11); - NetCache.field3156 = false; - } - - if (var13 == null) { - throw new IOException(); - } - - int var14 = var9 == 0 ? 5 : 9; - NetCache.NetCache_currentResponse = var13; - class336.NetCache_responseArchiveBuffer = new Buffer(var10 + var14 + NetCache.NetCache_currentResponse.padding); - class336.NetCache_responseArchiveBuffer.writeByte(var9); - class336.NetCache_responseArchiveBuffer.writeInt(var10); - NetCache.field3154 = 8; - NetCache.NetCache_responseHeaderBuffer.offset = 0; - } else if (NetCache.field3154 == 0) { - if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { - NetCache.field3154 = 1; - NetCache.NetCache_responseHeaderBuffer.offset = 0; - } else { - NetCache.NetCache_currentResponse = null; - } - } - } else { - var6 = class336.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding; - var7 = 512 - NetCache.field3154; - if (var7 > var6 - class336.NetCache_responseArchiveBuffer.offset) { - var7 = var6 - class336.NetCache_responseArchiveBuffer.offset; - } - - if (var7 > var16) { - var7 = var16; - } - - NetCache.NetCache_socket.read(class336.NetCache_responseArchiveBuffer.array, class336.NetCache_responseArchiveBuffer.offset, var7); - if (NetCache.field3158 != 0) { - for (var8 = 0; var8 < var7; ++var8) { - var10000 = class336.NetCache_responseArchiveBuffer.array; - var10001 = var8 + class336.NetCache_responseArchiveBuffer.offset; - var10000[var10001] ^= NetCache.field3158; - } - } - - var22 = class336.NetCache_responseArchiveBuffer; - var22.offset += var7; - NetCache.field3154 += var7; - if (var6 == class336.NetCache_responseArchiveBuffer.offset) { - if (NetCache.NetCache_currentResponse.key == 16711935L) { - DevicePcmPlayerProvider.NetCache_reference = class336.NetCache_responseArchiveBuffer; - - for (var8 = 0; var8 < 256; ++var8) { - Archive var17 = NetCache.NetCache_archives[var8]; - if (var17 != null) { - DevicePcmPlayerProvider.NetCache_reference.offset = var8 * 8 + 5; - var10 = DevicePcmPlayerProvider.NetCache_reference.readInt(); - int var18 = DevicePcmPlayerProvider.NetCache_reference.readInt(); - var17.loadIndex(var10, var18); - } - } - } else { - NetCache.NetCache_crc.reset(); - NetCache.NetCache_crc.update(class336.NetCache_responseArchiveBuffer.array, 0, var6); - var8 = (int)NetCache.NetCache_crc.getValue(); - if (var8 != NetCache.NetCache_currentResponse.crc) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var20) { - } - - ++NetCache.NetCache_crcMismatches; - NetCache.NetCache_socket = null; - NetCache.field3158 = (byte)((int)(Math.random() * 255.0D + 1.0D)); - return false; - } - - NetCache.NetCache_crcMismatches = 0; - NetCache.NetCache_ioExceptions = 0; - NetCache.NetCache_currentResponse.archive.write((int)(NetCache.NetCache_currentResponse.key & 65535L), class336.NetCache_responseArchiveBuffer.array, (NetCache.NetCache_currentResponse.key & 16711680L) == 16711680L, NetCache.field3156); - } - - NetCache.NetCache_currentResponse.remove(); - if (NetCache.field3156) { - --NetCache.NetCache_pendingPriorityResponsesCount; - } else { - --NetCache.NetCache_pendingResponsesCount; - } - - NetCache.field3154 = 0; - NetCache.NetCache_currentResponse = null; - class336.NetCache_responseArchiveBuffer = null; - } else { - if (NetCache.field3154 != 512) { - break; - } - - NetCache.field3154 = 0; - } - } - } - - return true; - } - } catch (IOException var21) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var19) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - return false; - } - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([BILjava/lang/CharSequence;I)I", - garbageValue = "-27737666" - ) - public static int method2956(byte[] var0, int var1, CharSequence var2) { - int var3 = var2.length(); - int var4 = var1; - - for (int var5 = 0; var5 < var3; ++var5) { - char var6 = var2.charAt(var5); - if (var6 <= 127) { - var0[var4++] = (byte)var6; - } else if (var6 <= 2047) { - var0[var4++] = (byte)(192 | var6 >> 6); - var0[var4++] = (byte)(128 | var6 & '?'); - } else { - var0[var4++] = (byte)(224 | var6 >> '\f'); - var0[var4++] = (byte)(128 | var6 >> 6 & 63); - var0[var4++] = (byte)(128 | var6 & '?'); - } - } - - return var4 - var1; - } -} +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("db") +@Implements("ViewportMouse") +public class ViewportMouse { + @ObfuscatedName("nr") + @ObfuscatedGetter( + intValue = 69994429 + ) + @Export("widgetDragDuration") + static int widgetDragDuration; + @ObfuscatedName("z") + @Export("ViewportMouse_isInViewport") + static boolean ViewportMouse_isInViewport; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1421874705 + ) + @Export("ViewportMouse_x") + static int ViewportMouse_x; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 197980329 + ) + @Export("ViewportMouse_y") + static int ViewportMouse_y; + @ObfuscatedName("u") + @Export("ViewportMouse_false0") + static boolean ViewportMouse_false0; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1955374903 + ) + static int field1707; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -386992233 + ) + static int field1708; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1018697137 + ) + static int field1714; + @ObfuscatedName("m") + @Export("Widget_loadedInterfaces") + static boolean[] Widget_loadedInterfaces; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -96146427 + ) + static int field1718; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -737509043 + ) + static int field1711; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1620511435 + ) + @Export("ViewportMouse_entityCount") + public static int ViewportMouse_entityCount; + @ObfuscatedName("e") + @Export("ViewportMouse_entityTags") + public static long[] ViewportMouse_entityTags; + @ObfuscatedName("af") + @Export("client") + @ObfuscatedSignature( + signature = "Lclient;" + ) + static Client client; + + static { + ViewportMouse_isInViewport = false; + ViewportMouse_x = 0; + ViewportMouse_y = 0; + ViewportMouse_false0 = false; + ViewportMouse_entityCount = 0; + ViewportMouse_entityTags = new long[1000]; + } + + @ObfuscatedName("gm") + @ObfuscatedSignature( + signature = "(IIIIB)V", + garbageValue = "13" + ) + static final void method2950(int var0, int var1, int var2, int var3) { + Client.overheadTextCount = 0; + boolean var4 = false; + int var5 = -1; + int var6 = -1; + int var7 = Players.Players_count; + int[] var8 = Players.Players_indices; + + int var9; + for (var9 = 0; var9 < var7 + Client.npcCount; ++var9) { + Object var10; + if (var9 < var7) { + var10 = Client.players[var8[var9]]; + if (var8[var9] == Client.combatTargetPlayerIndex) { + var4 = true; + var5 = var9; + continue; + } + + if (var10 == class223.localPlayer) { + var6 = var9; + continue; + } + } else { + var10 = Client.npcs[Client.npcIndices[var9 - var7]]; + } + + class312.drawActor2d((Actor)var10, var9, var0, var1, var2, var3); + } + + if (Client.renderSelf && var6 != -1) { + class312.drawActor2d(class223.localPlayer, var6, var0, var1, var2, var3); + } + + if (var4) { + class312.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var5, var0, var1, var2, var3); + } + + for (var9 = 0; var9 < Client.overheadTextCount; ++var9) { + int var19 = Client.overheadTextXs[var9]; + int var11 = Client.overheadTextYs[var9]; + int var12 = Client.overheadTextXOffsets[var9]; + int var13 = Client.overheadTextAscents[var9]; + boolean var14 = true; + + while (var14) { + var14 = false; + + for (int var15 = 0; var15 < var9; ++var15) { + if (var11 + 2 > Client.overheadTextYs[var15] - Client.overheadTextAscents[var15] && var11 - var13 < Client.overheadTextYs[var15] + 2 && var19 - var12 < Client.overheadTextXOffsets[var15] + Client.overheadTextXs[var15] && var19 + var12 > Client.overheadTextXs[var15] - Client.overheadTextXOffsets[var15] && Client.overheadTextYs[var15] - Client.overheadTextAscents[var15] < var11) { + var11 = Client.overheadTextYs[var15] - Client.overheadTextAscents[var15]; + var14 = true; + } + } + } + + Client.viewportTempX = Client.overheadTextXs[var9]; + Client.viewportTempY = Client.overheadTextYs[var9] = var11; + String var20 = Client.overheadText[var9]; + if (Client.chatEffects == 0) { + int var16 = 16776960; + if (Client.overheadTextColors[var9] < 6) { + var16 = Client.field851[Client.overheadTextColors[var9]]; + } + + if (Client.overheadTextColors[var9] == 6) { + var16 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; + } + + if (Client.overheadTextColors[var9] == 7) { + var16 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; + } + + if (Client.overheadTextColors[var9] == 8) { + var16 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; + } + + int var17; + if (Client.overheadTextColors[var9] == 9) { + var17 = 150 - Client.overheadTextCyclesRemaining[var9]; + if (var17 < 50) { + var16 = var17 * 1280 + 16711680; + } else if (var17 < 100) { + var16 = 16776960 - (var17 - 50) * 327680; + } else if (var17 < 150) { + var16 = (var17 - 100) * 5 + 65280; + } + } + + if (Client.overheadTextColors[var9] == 10) { + var17 = 150 - Client.overheadTextCyclesRemaining[var9]; + if (var17 < 50) { + var16 = var17 * 5 + 16711680; + } else if (var17 < 100) { + var16 = 16711935 - (var17 - 50) * 327680; + } else if (var17 < 150) { + var16 = (var17 - 100) * 327680 + 255 - (var17 - 100) * 5; + } + } + + if (Client.overheadTextColors[var9] == 11) { + var17 = 150 - Client.overheadTextCyclesRemaining[var9]; + if (var17 < 50) { + var16 = 16777215 - var17 * 327685; + } else if (var17 < 100) { + var16 = (var17 - 50) * 327685 + 65280; + } else if (var17 < 150) { + var16 = 16777215 - (var17 - 100) * 327680; + } + } + + if (Client.overheadTextEffects[var9] == 0) { + class173.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0); + } + + if (Client.overheadTextEffects[var9] == 1) { + class173.fontBold12.drawCenteredWave(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var9] == 2) { + class173.fontBold12.drawCenteredWave2(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var9] == 3) { + class173.fontBold12.drawCenteredShake(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, var16, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var9]); + } + + if (Client.overheadTextEffects[var9] == 4) { + var17 = (150 - Client.overheadTextCyclesRemaining[var9]) * (class173.fontBold12.stringWidth(var20) + 100) / 150; + Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); + class173.fontBold12.draw(var20, var0 + Client.viewportTempX + 50 - var17, Client.viewportTempY + var1, var16, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + + if (Client.overheadTextEffects[var9] == 5) { + var17 = 150 - Client.overheadTextCyclesRemaining[var9]; + int var18 = 0; + if (var17 < 25) { + var18 = var17 - 25; + } else if (var17 > 125) { + var18 = var17 - 125; + } + + Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - class173.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); + class173.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, var18 + Client.viewportTempY + var1, var16, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + } else { + class173.fontBold12.drawCentered(var20, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); + } + } + + } +} diff --git a/runescape-client/src/main/java/VorbisCodebook.java b/runescape-client/src/main/java/VorbisCodebook.java index 7ec35d7338..da1994c84e 100644 --- a/runescape-client/src/main/java/VorbisCodebook.java +++ b/runescape-client/src/main/java/VorbisCodebook.java @@ -1,257 +1,234 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("cz") -@Implements("VorbisCodebook") -public class VorbisCodebook { - @ObfuscatedName("c") - @Export("dimensions") - int dimensions; - @ObfuscatedName("x") - @Export("entries") - int entries; - @ObfuscatedName("t") - @Export("lengthMap") - int[] lengthMap; - @ObfuscatedName("g") - int[] field1313; - @ObfuscatedName("l") - float[][] field1314; - @ObfuscatedName("u") - @Export("keys") - int[] keys; - - VorbisCodebook() { - VorbisSample.readBits(24); - this.dimensions = VorbisSample.readBits(16); - this.entries = VorbisSample.readBits(24); - this.lengthMap = new int[this.entries]; - boolean var1 = VorbisSample.readBit() != 0; - int var2; - int var3; - int var5; - if (var1) { - var2 = 0; - - for (var3 = VorbisSample.readBits(5) + 1; var2 < this.entries; ++var3) { - int var4 = VorbisSample.readBits(UserComparator10.iLog(this.entries - var2)); - - for (var5 = 0; var5 < var4; ++var5) { - this.lengthMap[var2++] = var3; - } - } - } else { - boolean var14 = VorbisSample.readBit() != 0; - - for (var3 = 0; var3 < this.entries; ++var3) { - if (var14 && VorbisSample.readBit() == 0) { - this.lengthMap[var3] = 0; - } else { - this.lengthMap[var3] = VorbisSample.readBits(5) + 1; - } - } - } - - this.method2310(); - var2 = VorbisSample.readBits(4); - if (var2 > 0) { - float var15 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); - float var16 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); - var5 = VorbisSample.readBits(4) + 1; - boolean var6 = VorbisSample.readBit() != 0; - int var7; - if (var2 == 1) { - var7 = mapType1QuantValues(this.entries, this.dimensions); - } else { - var7 = this.entries * this.dimensions; - } - - this.field1313 = new int[var7]; - - int var8; - for (var8 = 0; var8 < var7; ++var8) { - this.field1313[var8] = VorbisSample.readBits(var5); - } - - this.field1314 = new float[this.entries][this.dimensions]; - float var9; - int var10; - int var11; - if (var2 == 1) { - for (var8 = 0; var8 < this.entries; ++var8) { - var9 = 0.0F; - var10 = 1; - - for (var11 = 0; var11 < this.dimensions; ++var11) { - int var12 = var8 / var10 % var7; - float var13 = (float)this.field1313[var12] * var16 + var15 + var9; - this.field1314[var8][var11] = var13; - if (var6) { - var9 = var13; - } - - var10 *= var7; - } - } - } else { - for (var8 = 0; var8 < this.entries; ++var8) { - var9 = 0.0F; - var10 = var8 * this.dimensions; - - for (var11 = 0; var11 < this.dimensions; ++var11) { - float var17 = (float)this.field1313[var10] * var16 + var15 + var9; - this.field1314[var8][var11] = var17; - if (var6) { - var9 = var17; - } - - ++var10; - } - } - } - } - - } - - @ObfuscatedName("x") - void method2310() { - int[] var1 = new int[this.entries]; - int[] var2 = new int[33]; - - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - int var10; - for (var3 = 0; var3 < this.entries; ++var3) { - var4 = this.lengthMap[var3]; - if (var4 != 0) { - var5 = 1 << 32 - var4; - var6 = var2[var4]; - var1[var3] = var6; - int var12; - if ((var6 & var5) != 0) { - var7 = var2[var4 - 1]; - } else { - var7 = var6 | var5; - - for (var8 = var4 - 1; var8 >= 1; --var8) { - var12 = var2[var8]; - if (var12 != var6) { - break; - } - - var10 = 1 << 32 - var8; - if ((var12 & var10) != 0) { - var2[var8] = var2[var8 - 1]; - break; - } - - var2[var8] = var12 | var10; - } - } - - var2[var4] = var7; - - for (var8 = var4 + 1; var8 <= 32; ++var8) { - var12 = var2[var8]; - if (var12 == var6) { - var2[var8] = var7; - } - } - } - } - - this.keys = new int[8]; - int var11 = 0; - - for (var3 = 0; var3 < this.entries; ++var3) { - var4 = this.lengthMap[var3]; - if (var4 != 0) { - var5 = var1[var3]; - var6 = 0; - - for (var7 = 0; var7 < var4; ++var7) { - var8 = Integer.MIN_VALUE >>> var7; - if ((var5 & var8) != 0) { - if (this.keys[var6] == 0) { - this.keys[var6] = var11; - } - - var6 = this.keys[var6]; - } else { - ++var6; - } - - if (var6 >= this.keys.length) { - int[] var9 = new int[this.keys.length * 2]; - - for (var10 = 0; var10 < this.keys.length; ++var10) { - var9[var10] = this.keys[var10]; - } - - this.keys = var9; - } - - var8 >>>= 1; - } - - this.keys[var6] = ~var3; - if (var6 >= var11) { - var11 = var6 + 1; - } - } - } - - } - - @ObfuscatedName("t") - int method2307() { - int var1; - for (var1 = 0; this.keys[var1] >= 0; var1 = VorbisSample.readBit() != 0 ? this.keys[var1] : var1 + 1) { - } - - return ~this.keys[var1]; - } - - @ObfuscatedName("g") - float[] method2318() { - return this.field1314[this.method2307()]; - } - - @ObfuscatedName("c") - @Export("mapType1QuantValues") - static int mapType1QuantValues(int var0, int var1) { - int var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; - - while (true) { - int var4 = var2; - int var5 = var1; - - int var6; - for (var6 = 1; var5 > 1; var5 >>= 1) { - if ((var5 & 1) != 0) { - var6 *= var4; - } - - var4 *= var4; - } - - int var3; - if (var5 == 1) { - var3 = var4 * var6; - } else { - var3 = var6; - } - - if (var3 <= var0) { - return var2; - } - - --var2; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("cx") +@Implements("VorbisCodebook") +public class VorbisCodebook { + @ObfuscatedName("z") + @Export("dimensions") + int dimensions; + @ObfuscatedName("n") + @Export("entries") + int entries; + @ObfuscatedName("v") + @Export("lengthMap") + int[] lengthMap; + @ObfuscatedName("u") + int[] field1322; + @ObfuscatedName("r") + float[][] field1325; + @ObfuscatedName("p") + @Export("keys") + int[] keys; + + VorbisCodebook() { + VorbisSample.readBits(24); + this.dimensions = VorbisSample.readBits(16); + this.entries = VorbisSample.readBits(24); + this.lengthMap = new int[this.entries]; + boolean var1 = VorbisSample.readBit() != 0; + int var2; + int var3; + int var5; + if (var1) { + var2 = 0; + + for (var3 = VorbisSample.readBits(5) + 1; var2 < this.entries; ++var3) { + int var4 = VorbisSample.readBits(TileItem.iLog(this.entries - var2)); + + for (var5 = 0; var5 < var4; ++var5) { + this.lengthMap[var2++] = var3; + } + } + } else { + boolean var14 = VorbisSample.readBit() != 0; + + for (var3 = 0; var3 < this.entries; ++var3) { + if (var14 && VorbisSample.readBit() == 0) { + this.lengthMap[var3] = 0; + } else { + this.lengthMap[var3] = VorbisSample.readBits(5) + 1; + } + } + } + + this.method2312(); + var2 = VorbisSample.readBits(4); + if (var2 > 0) { + float var15 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); + float var16 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); + var5 = VorbisSample.readBits(4) + 1; + boolean var6 = VorbisSample.readBit() != 0; + int var7; + if (var2 == 1) { + var7 = mapType1QuantValues(this.entries, this.dimensions); + } else { + var7 = this.entries * this.dimensions; + } + + this.field1322 = new int[var7]; + + int var8; + for (var8 = 0; var8 < var7; ++var8) { + this.field1322[var8] = VorbisSample.readBits(var5); + } + + this.field1325 = new float[this.entries][this.dimensions]; + float var9; + int var10; + int var11; + if (var2 == 1) { + for (var8 = 0; var8 < this.entries; ++var8) { + var9 = 0.0F; + var10 = 1; + + for (var11 = 0; var11 < this.dimensions; ++var11) { + int var12 = var8 / var10 % var7; + float var13 = (float)this.field1322[var12] * var16 + var15 + var9; + this.field1325[var8][var11] = var13; + if (var6) { + var9 = var13; + } + + var10 *= var7; + } + } + } else { + for (var8 = 0; var8 < this.entries; ++var8) { + var9 = 0.0F; + var10 = var8 * this.dimensions; + + for (var11 = 0; var11 < this.dimensions; ++var11) { + float var17 = (float)this.field1322[var10] * var16 + var15 + var9; + this.field1325[var8][var11] = var17; + if (var6) { + var9 = var17; + } + + ++var10; + } + } + } + } + + } + + @ObfuscatedName("n") + void method2312() { + int[] var1 = new int[this.entries]; + int[] var2 = new int[33]; + + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + int var10; + for (var3 = 0; var3 < this.entries; ++var3) { + var4 = this.lengthMap[var3]; + if (var4 != 0) { + var5 = 1 << 32 - var4; + var6 = var2[var4]; + var1[var3] = var6; + int var12; + if ((var6 & var5) != 0) { + var7 = var2[var4 - 1]; + } else { + var7 = var6 | var5; + + for (var8 = var4 - 1; var8 >= 1; --var8) { + var12 = var2[var8]; + if (var12 != var6) { + break; + } + + var10 = 1 << 32 - var8; + if ((var12 & var10) != 0) { + var2[var8] = var2[var8 - 1]; + break; + } + + var2[var8] = var12 | var10; + } + } + + var2[var4] = var7; + + for (var8 = var4 + 1; var8 <= 32; ++var8) { + var12 = var2[var8]; + if (var12 == var6) { + var2[var8] = var7; + } + } + } + } + + this.keys = new int[8]; + int var11 = 0; + + for (var3 = 0; var3 < this.entries; ++var3) { + var4 = this.lengthMap[var3]; + if (var4 != 0) { + var5 = var1[var3]; + var6 = 0; + + for (var7 = 0; var7 < var4; ++var7) { + var8 = Integer.MIN_VALUE >>> var7; + if ((var5 & var8) != 0) { + if (this.keys[var6] == 0) { + this.keys[var6] = var11; + } + + var6 = this.keys[var6]; + } else { + ++var6; + } + + if (var6 >= this.keys.length) { + int[] var9 = new int[this.keys.length * 2]; + + for (var10 = 0; var10 < this.keys.length; ++var10) { + var9[var10] = this.keys[var10]; + } + + this.keys = var9; + } + + var8 >>>= 1; + } + + this.keys[var6] = ~var3; + if (var6 >= var11) { + var11 = var6 + 1; + } + } + } + + } + + @ObfuscatedName("v") + int method2313() { + int var1; + for (var1 = 0; this.keys[var1] >= 0; var1 = VorbisSample.readBit() != 0 ? this.keys[var1] : var1 + 1) { + } + + return ~this.keys[var1]; + } + + @ObfuscatedName("u") + float[] method2314() { + return this.field1325[this.method2313()]; + } + + @ObfuscatedName("z") + @Export("mapType1QuantValues") + static int mapType1QuantValues(int var0, int var1) { + int var2; + for (var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; class30.method563(var2, var1) > var0; --var2) { + } + + return var2; + } +} diff --git a/runescape-client/src/main/java/VorbisFloor.java b/runescape-client/src/main/java/VorbisFloor.java index 2be3b7d555..5790b16303 100644 --- a/runescape-client/src/main/java/VorbisFloor.java +++ b/runescape-client/src/main/java/VorbisFloor.java @@ -1,322 +1,322 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("dj") -@Implements("VorbisFloor") -public class VorbisFloor { - @ObfuscatedName("c") - static final int[] field1370; - @ObfuscatedName("x") - @Export("VorbisFloor_decibelStatics") - static final float[] VorbisFloor_decibelStatics; - @ObfuscatedName("z") - static int[] field1368; - @ObfuscatedName("n") - static int[] field1369; - @ObfuscatedName("h") - static boolean[] field1359; - @ObfuscatedName("t") - int[] field1361; - @ObfuscatedName("g") - @Export("multiplier") - int multiplier; - @ObfuscatedName("l") - @Export("partitionClassList") - int[] partitionClassList; - @ObfuscatedName("u") - @Export("classDimensions") - int[] classDimensions; - @ObfuscatedName("j") - @Export("classSubClasses") - int[] classSubClasses; - @ObfuscatedName("v") - @Export("classMasterbooks") - int[] classMasterbooks; - @ObfuscatedName("d") - @Export("subclassBooks") - int[][] subclassBooks; - - static { - field1370 = new int[]{256, 128, 86, 64}; - VorbisFloor_decibelStatics = new float[]{1.0649863E-7F, 1.1341951E-7F, 1.2079015E-7F, 1.2863978E-7F, 1.369995E-7F, 1.459025E-7F, 1.5538409E-7F, 1.6548181E-7F, 1.7623574E-7F, 1.8768856E-7F, 1.998856E-7F, 2.128753E-7F, 2.2670913E-7F, 2.4144197E-7F, 2.5713223E-7F, 2.7384212E-7F, 2.9163792E-7F, 3.1059022E-7F, 3.307741E-7F, 3.5226967E-7F, 3.7516213E-7F, 3.995423E-7F, 4.255068E-7F, 4.5315863E-7F, 4.8260745E-7F, 5.1397E-7F, 5.4737063E-7F, 5.829419E-7F, 6.208247E-7F, 6.611694E-7F, 7.041359E-7F, 7.4989464E-7F, 7.98627E-7F, 8.505263E-7F, 9.057983E-7F, 9.646621E-7F, 1.0273513E-6F, 1.0941144E-6F, 1.1652161E-6F, 1.2409384E-6F, 1.3215816E-6F, 1.4074654E-6F, 1.4989305E-6F, 1.5963394E-6F, 1.7000785E-6F, 1.8105592E-6F, 1.9282195E-6F, 2.053526E-6F, 2.1869757E-6F, 2.3290977E-6F, 2.4804558E-6F, 2.6416496E-6F, 2.813319E-6F, 2.9961443E-6F, 3.1908505E-6F, 3.39821E-6F, 3.619045E-6F, 3.8542307E-6F, 4.1047006E-6F, 4.371447E-6F, 4.6555283E-6F, 4.958071E-6F, 5.280274E-6F, 5.623416E-6F, 5.988857E-6F, 6.3780467E-6F, 6.7925284E-6F, 7.2339453E-6F, 7.704048E-6F, 8.2047E-6F, 8.737888E-6F, 9.305725E-6F, 9.910464E-6F, 1.0554501E-5F, 1.1240392E-5F, 1.1970856E-5F, 1.2748789E-5F, 1.3577278E-5F, 1.4459606E-5F, 1.5399271E-5F, 1.6400005E-5F, 1.7465769E-5F, 1.8600793E-5F, 1.9809577E-5F, 2.1096914E-5F, 2.2467912E-5F, 2.3928002E-5F, 2.5482977E-5F, 2.7139005E-5F, 2.890265E-5F, 3.078091E-5F, 3.2781227E-5F, 3.4911533E-5F, 3.718028E-5F, 3.9596467E-5F, 4.2169668E-5F, 4.491009E-5F, 4.7828602E-5F, 5.0936775E-5F, 5.424693E-5F, 5.7772202E-5F, 6.152657E-5F, 6.552491E-5F, 6.9783084E-5F, 7.4317984E-5F, 7.914758E-5F, 8.429104E-5F, 8.976875E-5F, 9.560242E-5F, 1.0181521E-4F, 1.0843174E-4F, 1.1547824E-4F, 1.2298267E-4F, 1.3097477E-4F, 1.3948625E-4F, 1.4855085E-4F, 1.5820454E-4F, 1.6848555E-4F, 1.7943469E-4F, 1.9109536E-4F, 2.0351382E-4F, 2.167393E-4F, 2.3082423E-4F, 2.4582449E-4F, 2.6179955E-4F, 2.7881275E-4F, 2.9693157E-4F, 3.1622787E-4F, 3.3677815E-4F, 3.5866388E-4F, 3.8197188E-4F, 4.0679457E-4F, 4.3323037E-4F, 4.613841E-4F, 4.913675E-4F, 5.2329927E-4F, 5.573062E-4F, 5.935231E-4F, 6.320936E-4F, 6.731706E-4F, 7.16917E-4F, 7.635063E-4F, 8.1312325E-4F, 8.6596457E-4F, 9.2223985E-4F, 9.821722E-4F, 0.0010459992F, 0.0011139743F, 0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 0.0019632196F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 0.0025254795F, 0.0026895993F, 0.0028643848F, 0.0030505287F, 0.003248769F, 0.0034598925F, 0.0036847359F, 0.0039241905F, 0.0041792067F, 0.004450795F, 0.004740033F, 0.005048067F, 0.0053761187F, 0.005725489F, 0.0060975635F, 0.0064938175F, 0.0069158226F, 0.0073652514F, 0.007843887F, 0.008353627F, 0.008896492F, 0.009474637F, 0.010090352F, 0.01074608F, 0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 0.014722068F, 0.015678791F, 0.016697686F, 0.017782796F, 0.018938422F, 0.020169148F, 0.021479854F, 0.022875736F, 0.02436233F, 0.025945531F, 0.027631618F, 0.029427277F, 0.031339627F, 0.03337625F, 0.035545226F, 0.037855156F, 0.0403152F, 0.042935107F, 0.045725275F, 0.048696756F, 0.05186135F, 0.05523159F, 0.05882085F, 0.062643364F, 0.06671428F, 0.07104975F, 0.075666964F, 0.08058423F, 0.08582105F, 0.09139818F, 0.097337745F, 0.1036633F, 0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 0.14201812F, 0.15124726F, 0.16107617F, 0.1715438F, 0.18269168F, 0.19456401F, 0.20720787F, 0.22067343F, 0.23501402F, 0.25028655F, 0.26655158F, 0.28387362F, 0.3023213F, 0.32196787F, 0.34289113F, 0.36517414F, 0.3889052F, 0.41417846F, 0.44109413F, 0.4697589F, 0.50028646F, 0.53279793F, 0.5674221F, 0.6042964F, 0.64356697F, 0.6853896F, 0.72993004F, 0.777365F, 0.8278826F, 0.88168305F, 0.9389798F, 1.0F}; - } - - VorbisFloor() { - int var1 = VorbisSample.readBits(16); - if (var1 != 1) { - throw new RuntimeException(); - } else { - int var2 = VorbisSample.readBits(5); - int var3 = 0; - this.partitionClassList = new int[var2]; - - int var4; - int var5; - for (var4 = 0; var4 < var2; ++var4) { - var5 = VorbisSample.readBits(4); - this.partitionClassList[var4] = var5; - if (var5 >= var3) { - var3 = var5 + 1; - } - } - - this.classDimensions = new int[var3]; - this.classSubClasses = new int[var3]; - this.classMasterbooks = new int[var3]; - this.subclassBooks = new int[var3][]; - - int var7; - for (var4 = 0; var4 < var3; ++var4) { - this.classDimensions[var4] = VorbisSample.readBits(3) + 1; - var5 = this.classSubClasses[var4] = VorbisSample.readBits(2); - if (var5 != 0) { - this.classMasterbooks[var4] = VorbisSample.readBits(8); - } - - var5 = 1 << var5; - int[] var6 = new int[var5]; - this.subclassBooks[var4] = var6; - - for (var7 = 0; var7 < var5; ++var7) { - var6[var7] = VorbisSample.readBits(8) - 1; - } - } - - this.multiplier = VorbisSample.readBits(2) + 1; - var4 = VorbisSample.readBits(4); - var5 = 2; - - int var9; - for (var9 = 0; var9 < var2; ++var9) { - var5 += this.classDimensions[this.partitionClassList[var9]]; - } - - this.field1361 = new int[var5]; - this.field1361[0] = 0; - this.field1361[1] = 1 << var4; - var5 = 2; - - for (var9 = 0; var9 < var2; ++var9) { - var7 = this.partitionClassList[var9]; - - for (int var8 = 0; var8 < this.classDimensions[var7]; ++var8) { - this.field1361[var5++] = VorbisSample.readBits(var4); - } - } - - if (field1368 == null || field1368.length < var5) { - field1368 = new int[var5]; - field1369 = new int[var5]; - field1359 = new boolean[var5]; - } - - } - } - - @ObfuscatedName("t") - int method2373(int var1, int var2, int var3, int var4, int var5) { - int var6 = var4 - var2; - int var7 = var3 - var1; - int var8 = var6 < 0 ? -var6 : var6; - int var9 = (var5 - var1) * var8; - int var10 = var9 / var7; - return var6 < 0 ? var2 - var10 : var10 + var2; - } - - @ObfuscatedName("g") - void method2383(int var1, int var2, int var3, int var4, float[] var5, int var6) { - int var7 = var4 - var2; - int var8 = var3 - var1; - int var9 = var7 < 0 ? -var7 : var7; - int var10 = var7 / var8; - int var11 = var2; - int var12 = 0; - int var13 = var7 < 0 ? var10 - 1 : var10 + 1; - var9 -= (var10 < 0 ? -var10 : var10) * var8; - var5[var1] *= VorbisFloor_decibelStatics[var2]; - if (var3 > var6) { - var3 = var6; - } - - for (int var14 = var1 + 1; var14 < var3; ++var14) { - var12 += var9; - if (var12 >= var8) { - var12 -= var8; - var11 += var13; - } else { - var11 += var10; - } - - var5[var14] *= VorbisFloor_decibelStatics[var11]; - } - - } - - @ObfuscatedName("l") - @Export("VarbisFloor_sort") - void VarbisFloor_sort(int var1, int var2) { - if (var1 < var2) { - int var3 = var1; - int var4 = field1368[var1]; - int var5 = field1369[var1]; - boolean var6 = field1359[var1]; - - for (int var7 = var1 + 1; var7 <= var2; ++var7) { - int var8 = field1368[var7]; - if (var8 < var4) { - field1368[var3] = var8; - field1369[var3] = field1369[var7]; - field1359[var3] = field1359[var7]; - ++var3; - field1368[var7] = field1368[var3]; - field1369[var7] = field1369[var3]; - field1359[var7] = field1359[var3]; - } - } - - field1368[var3] = var4; - field1369[var3] = var5; - field1359[var3] = var6; - this.VarbisFloor_sort(var1, var3 - 1); - this.VarbisFloor_sort(var3 + 1, var2); - } - } - - @ObfuscatedName("u") - @Export("readSubmapFloor") - boolean readSubmapFloor() { - boolean var1 = VorbisSample.readBit() != 0; - if (!var1) { - return false; - } else { - int var2 = this.field1361.length; - - int var3; - for (var3 = 0; var3 < var2; ++var3) { - field1368[var3] = this.field1361[var3]; - } - - var3 = field1370[this.multiplier - 1]; - int var4 = UserComparator10.iLog(var3 - 1); - field1369[0] = VorbisSample.readBits(var4); - field1369[1] = VorbisSample.readBits(var4); - int var5 = 2; - - for (int var6 = 0; var6 < this.partitionClassList.length; ++var6) { - int var7 = this.partitionClassList[var6]; - int var8 = this.classDimensions[var7]; - int var9 = this.classSubClasses[var7]; - int var10 = (1 << var9) - 1; - int var11 = 0; - if (var9 > 0) { - var11 = VorbisSample.VorbisSample_codebooks[this.classMasterbooks[var7]].method2307(); - } - - for (int var12 = 0; var12 < var8; ++var12) { - int var13 = this.subclassBooks[var7][var11 & var10]; - var11 >>>= var9; - field1369[var5++] = var13 >= 0 ? VorbisSample.VorbisSample_codebooks[var13].method2307() : 0; - } - } - - return true; - } - } - - @ObfuscatedName("j") - void method2380(float[] var1, int var2) { - int var3 = this.field1361.length; - int var4 = field1370[this.multiplier - 1]; - boolean[] var5 = field1359; - field1359[1] = true; - var5[0] = true; - - int var6; - int var7; - int var8; - int var9; - int var10; - for (var6 = 2; var6 < var3; ++var6) { - var7 = method2377(field1368, var6); - var8 = method2374(field1368, var6); - var9 = this.method2373(field1368[var7], field1369[var7], field1368[var8], field1369[var8], field1368[var6]); - var10 = field1369[var6]; - int var11 = var4 - var9; - int var13 = (var11 < var9 ? var11 : var9) << 1; - if (var10 != 0) { - boolean[] var14 = field1359; - field1359[var8] = true; - var14[var7] = true; - field1359[var6] = true; - if (var10 >= var13) { - field1369[var6] = var11 > var9 ? var9 + (var10 - var9) : var11 + (var9 - var10) - 1; - } else { - field1369[var6] = (var10 & 1) != 0 ? var9 - (var10 + 1) / 2 : var10 / 2 + var9; - } - } else { - field1359[var6] = false; - field1369[var6] = var9; - } - } - - this.VarbisFloor_sort(0, var3 - 1); - var6 = 0; - var7 = field1369[0] * this.multiplier; - - for (var8 = 1; var8 < var3; ++var8) { - if (field1359[var8]) { - var9 = field1368[var8]; - var10 = field1369[var8] * this.multiplier; - this.method2383(var6, var7, var9, var10, var1, var2); - if (var9 >= var2) { - return; - } - - var6 = var9; - var7 = var10; - } - } - - float var16 = VorbisFloor_decibelStatics[var7]; - - for (var9 = var6; var9 < var2; ++var9) { - var1[var9] *= var16; - } - - } - - @ObfuscatedName("c") - static int method2377(int[] var0, int var1) { - int var2 = var0[var1]; - int var3 = -1; - int var4 = Integer.MIN_VALUE; - - for (int var5 = 0; var5 < var1; ++var5) { - int var6 = var0[var5]; - if (var6 < var2 && var6 > var4) { - var3 = var5; - var4 = var6; - } - } - - return var3; - } - - @ObfuscatedName("x") - static int method2374(int[] var0, int var1) { - int var2 = var0[var1]; - int var3 = -1; - int var4 = Integer.MAX_VALUE; - - for (int var5 = 0; var5 < var1; ++var5) { - int var6 = var0[var5]; - if (var6 > var2 && var6 < var4) { - var3 = var5; - var4 = var6; - } - } - - return var3; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("dt") +@Implements("VorbisFloor") +public class VorbisFloor { + @ObfuscatedName("z") + static final int[] field1371; + @ObfuscatedName("n") + @Export("VorbisFloor_decibelStatics") + static final float[] VorbisFloor_decibelStatics; + @ObfuscatedName("i") + static int[] field1379; + @ObfuscatedName("c") + static int[] field1380; + @ObfuscatedName("b") + static boolean[] field1381; + @ObfuscatedName("v") + int[] field1376; + @ObfuscatedName("u") + @Export("multiplier") + int multiplier; + @ObfuscatedName("r") + @Export("partitionClassList") + int[] partitionClassList; + @ObfuscatedName("p") + @Export("classDimensions") + int[] classDimensions; + @ObfuscatedName("q") + @Export("classSubClasses") + int[] classSubClasses; + @ObfuscatedName("m") + @Export("classMasterbooks") + int[] classMasterbooks; + @ObfuscatedName("y") + @Export("subclassBooks") + int[][] subclassBooks; + + static { + field1371 = new int[]{256, 128, 86, 64}; + VorbisFloor_decibelStatics = new float[]{1.0649863E-7F, 1.1341951E-7F, 1.2079015E-7F, 1.2863978E-7F, 1.369995E-7F, 1.459025E-7F, 1.5538409E-7F, 1.6548181E-7F, 1.7623574E-7F, 1.8768856E-7F, 1.998856E-7F, 2.128753E-7F, 2.2670913E-7F, 2.4144197E-7F, 2.5713223E-7F, 2.7384212E-7F, 2.9163792E-7F, 3.1059022E-7F, 3.307741E-7F, 3.5226967E-7F, 3.7516213E-7F, 3.995423E-7F, 4.255068E-7F, 4.5315863E-7F, 4.8260745E-7F, 5.1397E-7F, 5.4737063E-7F, 5.829419E-7F, 6.208247E-7F, 6.611694E-7F, 7.041359E-7F, 7.4989464E-7F, 7.98627E-7F, 8.505263E-7F, 9.057983E-7F, 9.646621E-7F, 1.0273513E-6F, 1.0941144E-6F, 1.1652161E-6F, 1.2409384E-6F, 1.3215816E-6F, 1.4074654E-6F, 1.4989305E-6F, 1.5963394E-6F, 1.7000785E-6F, 1.8105592E-6F, 1.9282195E-6F, 2.053526E-6F, 2.1869757E-6F, 2.3290977E-6F, 2.4804558E-6F, 2.6416496E-6F, 2.813319E-6F, 2.9961443E-6F, 3.1908505E-6F, 3.39821E-6F, 3.619045E-6F, 3.8542307E-6F, 4.1047006E-6F, 4.371447E-6F, 4.6555283E-6F, 4.958071E-6F, 5.280274E-6F, 5.623416E-6F, 5.988857E-6F, 6.3780467E-6F, 6.7925284E-6F, 7.2339453E-6F, 7.704048E-6F, 8.2047E-6F, 8.737888E-6F, 9.305725E-6F, 9.910464E-6F, 1.0554501E-5F, 1.1240392E-5F, 1.1970856E-5F, 1.2748789E-5F, 1.3577278E-5F, 1.4459606E-5F, 1.5399271E-5F, 1.6400005E-5F, 1.7465769E-5F, 1.8600793E-5F, 1.9809577E-5F, 2.1096914E-5F, 2.2467912E-5F, 2.3928002E-5F, 2.5482977E-5F, 2.7139005E-5F, 2.890265E-5F, 3.078091E-5F, 3.2781227E-5F, 3.4911533E-5F, 3.718028E-5F, 3.9596467E-5F, 4.2169668E-5F, 4.491009E-5F, 4.7828602E-5F, 5.0936775E-5F, 5.424693E-5F, 5.7772202E-5F, 6.152657E-5F, 6.552491E-5F, 6.9783084E-5F, 7.4317984E-5F, 7.914758E-5F, 8.429104E-5F, 8.976875E-5F, 9.560242E-5F, 1.0181521E-4F, 1.0843174E-4F, 1.1547824E-4F, 1.2298267E-4F, 1.3097477E-4F, 1.3948625E-4F, 1.4855085E-4F, 1.5820454E-4F, 1.6848555E-4F, 1.7943469E-4F, 1.9109536E-4F, 2.0351382E-4F, 2.167393E-4F, 2.3082423E-4F, 2.4582449E-4F, 2.6179955E-4F, 2.7881275E-4F, 2.9693157E-4F, 3.1622787E-4F, 3.3677815E-4F, 3.5866388E-4F, 3.8197188E-4F, 4.0679457E-4F, 4.3323037E-4F, 4.613841E-4F, 4.913675E-4F, 5.2329927E-4F, 5.573062E-4F, 5.935231E-4F, 6.320936E-4F, 6.731706E-4F, 7.16917E-4F, 7.635063E-4F, 8.1312325E-4F, 8.6596457E-4F, 9.2223985E-4F, 9.821722E-4F, 0.0010459992F, 0.0011139743F, 0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 0.0019632196F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 0.0025254795F, 0.0026895993F, 0.0028643848F, 0.0030505287F, 0.003248769F, 0.0034598925F, 0.0036847359F, 0.0039241905F, 0.0041792067F, 0.004450795F, 0.004740033F, 0.005048067F, 0.0053761187F, 0.005725489F, 0.0060975635F, 0.0064938175F, 0.0069158226F, 0.0073652514F, 0.007843887F, 0.008353627F, 0.008896492F, 0.009474637F, 0.010090352F, 0.01074608F, 0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 0.014722068F, 0.015678791F, 0.016697686F, 0.017782796F, 0.018938422F, 0.020169148F, 0.021479854F, 0.022875736F, 0.02436233F, 0.025945531F, 0.027631618F, 0.029427277F, 0.031339627F, 0.03337625F, 0.035545226F, 0.037855156F, 0.0403152F, 0.042935107F, 0.045725275F, 0.048696756F, 0.05186135F, 0.05523159F, 0.05882085F, 0.062643364F, 0.06671428F, 0.07104975F, 0.075666964F, 0.08058423F, 0.08582105F, 0.09139818F, 0.097337745F, 0.1036633F, 0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 0.14201812F, 0.15124726F, 0.16107617F, 0.1715438F, 0.18269168F, 0.19456401F, 0.20720787F, 0.22067343F, 0.23501402F, 0.25028655F, 0.26655158F, 0.28387362F, 0.3023213F, 0.32196787F, 0.34289113F, 0.36517414F, 0.3889052F, 0.41417846F, 0.44109413F, 0.4697589F, 0.50028646F, 0.53279793F, 0.5674221F, 0.6042964F, 0.64356697F, 0.6853896F, 0.72993004F, 0.777365F, 0.8278826F, 0.88168305F, 0.9389798F, 1.0F}; + } + + VorbisFloor() { + int var1 = VorbisSample.readBits(16); + if (var1 != 1) { + throw new RuntimeException(); + } else { + int var2 = VorbisSample.readBits(5); + int var3 = 0; + this.partitionClassList = new int[var2]; + + int var4; + int var5; + for (var4 = 0; var4 < var2; ++var4) { + var5 = VorbisSample.readBits(4); + this.partitionClassList[var4] = var5; + if (var5 >= var3) { + var3 = var5 + 1; + } + } + + this.classDimensions = new int[var3]; + this.classSubClasses = new int[var3]; + this.classMasterbooks = new int[var3]; + this.subclassBooks = new int[var3][]; + + int var7; + for (var4 = 0; var4 < var3; ++var4) { + this.classDimensions[var4] = VorbisSample.readBits(3) + 1; + var5 = this.classSubClasses[var4] = VorbisSample.readBits(2); + if (var5 != 0) { + this.classMasterbooks[var4] = VorbisSample.readBits(8); + } + + var5 = 1 << var5; + int[] var6 = new int[var5]; + this.subclassBooks[var4] = var6; + + for (var7 = 0; var7 < var5; ++var7) { + var6[var7] = VorbisSample.readBits(8) - 1; + } + } + + this.multiplier = VorbisSample.readBits(2) + 1; + var4 = VorbisSample.readBits(4); + var5 = 2; + + int var9; + for (var9 = 0; var9 < var2; ++var9) { + var5 += this.classDimensions[this.partitionClassList[var9]]; + } + + this.field1376 = new int[var5]; + this.field1376[0] = 0; + this.field1376[1] = 1 << var4; + var5 = 2; + + for (var9 = 0; var9 < var2; ++var9) { + var7 = this.partitionClassList[var9]; + + for (int var8 = 0; var8 < this.classDimensions[var7]; ++var8) { + this.field1376[var5++] = VorbisSample.readBits(var4); + } + } + + if (field1379 == null || field1379.length < var5) { + field1379 = new int[var5]; + field1380 = new int[var5]; + field1381 = new boolean[var5]; + } + + } + } + + @ObfuscatedName("v") + int method2376(int var1, int var2, int var3, int var4, int var5) { + int var6 = var4 - var2; + int var7 = var3 - var1; + int var8 = var6 < 0 ? -var6 : var6; + int var9 = (var5 - var1) * var8; + int var10 = var9 / var7; + return var6 < 0 ? var2 - var10 : var10 + var2; + } + + @ObfuscatedName("u") + void method2380(int var1, int var2, int var3, int var4, float[] var5, int var6) { + int var7 = var4 - var2; + int var8 = var3 - var1; + int var9 = var7 < 0 ? -var7 : var7; + int var10 = var7 / var8; + int var11 = var2; + int var12 = 0; + int var13 = var7 < 0 ? var10 - 1 : var10 + 1; + var9 -= (var10 < 0 ? -var10 : var10) * var8; + var5[var1] *= VorbisFloor_decibelStatics[var2]; + if (var3 > var6) { + var3 = var6; + } + + for (int var14 = var1 + 1; var14 < var3; ++var14) { + var12 += var9; + if (var12 >= var8) { + var12 -= var8; + var11 += var13; + } else { + var11 += var10; + } + + var5[var14] *= VorbisFloor_decibelStatics[var11]; + } + + } + + @ObfuscatedName("r") + @Export("VarbisFloor_sort") + void VarbisFloor_sort(int var1, int var2) { + if (var1 < var2) { + int var3 = var1; + int var4 = field1379[var1]; + int var5 = field1380[var1]; + boolean var6 = field1381[var1]; + + for (int var7 = var1 + 1; var7 <= var2; ++var7) { + int var8 = field1379[var7]; + if (var8 < var4) { + field1379[var3] = var8; + field1380[var3] = field1380[var7]; + field1381[var3] = field1381[var7]; + ++var3; + field1379[var7] = field1379[var3]; + field1380[var7] = field1380[var3]; + field1381[var7] = field1381[var3]; + } + } + + field1379[var3] = var4; + field1380[var3] = var5; + field1381[var3] = var6; + this.VarbisFloor_sort(var1, var3 - 1); + this.VarbisFloor_sort(var3 + 1, var2); + } + } + + @ObfuscatedName("p") + @Export("readSubmapFloor") + boolean readSubmapFloor() { + boolean var1 = VorbisSample.readBit() != 0; + if (!var1) { + return false; + } else { + int var2 = this.field1376.length; + + int var3; + for (var3 = 0; var3 < var2; ++var3) { + field1379[var3] = this.field1376[var3]; + } + + var3 = field1371[this.multiplier - 1]; + int var4 = TileItem.iLog(var3 - 1); + field1380[0] = VorbisSample.readBits(var4); + field1380[1] = VorbisSample.readBits(var4); + int var5 = 2; + + for (int var6 = 0; var6 < this.partitionClassList.length; ++var6) { + int var7 = this.partitionClassList[var6]; + int var8 = this.classDimensions[var7]; + int var9 = this.classSubClasses[var7]; + int var10 = (1 << var9) - 1; + int var11 = 0; + if (var9 > 0) { + var11 = VorbisSample.VorbisSample_codebooks[this.classMasterbooks[var7]].method2313(); + } + + for (int var12 = 0; var12 < var8; ++var12) { + int var13 = this.subclassBooks[var7][var11 & var10]; + var11 >>>= var9; + field1380[var5++] = var13 >= 0 ? VorbisSample.VorbisSample_codebooks[var13].method2313() : 0; + } + } + + return true; + } + } + + @ObfuscatedName("q") + void method2373(float[] var1, int var2) { + int var3 = this.field1376.length; + int var4 = field1371[this.multiplier - 1]; + boolean[] var5 = field1381; + field1381[1] = true; + var5[0] = true; + + int var6; + int var7; + int var8; + int var9; + int var10; + for (var6 = 2; var6 < var3; ++var6) { + var7 = method2379(field1379, var6); + var8 = method2367(field1379, var6); + var9 = this.method2376(field1379[var7], field1380[var7], field1379[var8], field1380[var8], field1379[var6]); + var10 = field1380[var6]; + int var11 = var4 - var9; + int var13 = (var11 < var9 ? var11 : var9) << 1; + if (var10 != 0) { + boolean[] var14 = field1381; + field1381[var8] = true; + var14[var7] = true; + field1381[var6] = true; + if (var10 >= var13) { + field1380[var6] = var11 > var9 ? var9 + (var10 - var9) : var11 + (var9 - var10) - 1; + } else { + field1380[var6] = (var10 & 1) != 0 ? var9 - (var10 + 1) / 2 : var10 / 2 + var9; + } + } else { + field1381[var6] = false; + field1380[var6] = var9; + } + } + + this.VarbisFloor_sort(0, var3 - 1); + var6 = 0; + var7 = field1380[0] * this.multiplier; + + for (var8 = 1; var8 < var3; ++var8) { + if (field1381[var8]) { + var9 = field1379[var8]; + var10 = field1380[var8] * this.multiplier; + this.method2380(var6, var7, var9, var10, var1, var2); + if (var9 >= var2) { + return; + } + + var6 = var9; + var7 = var10; + } + } + + float var16 = VorbisFloor_decibelStatics[var7]; + + for (var9 = var6; var9 < var2; ++var9) { + var1[var9] *= var16; + } + + } + + @ObfuscatedName("z") + static int method2379(int[] var0, int var1) { + int var2 = var0[var1]; + int var3 = -1; + int var4 = Integer.MIN_VALUE; + + for (int var5 = 0; var5 < var1; ++var5) { + int var6 = var0[var5]; + if (var6 < var2 && var6 > var4) { + var3 = var5; + var4 = var6; + } + } + + return var3; + } + + @ObfuscatedName("n") + static int method2367(int[] var0, int var1) { + int var2 = var0[var1]; + int var3 = -1; + int var4 = Integer.MAX_VALUE; + + for (int var5 = 0; var5 < var1; ++var5) { + int var6 = var0[var5]; + if (var6 > var2 && var6 < var4) { + var3 = var5; + var4 = var6; + } + } + + return var3; + } +} diff --git a/runescape-client/src/main/java/VorbisMapping.java b/runescape-client/src/main/java/VorbisMapping.java index 7554885f73..558afb3ab5 100644 --- a/runescape-client/src/main/java/VorbisMapping.java +++ b/runescape-client/src/main/java/VorbisMapping.java @@ -1,43 +1,43 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("dz") -@Implements("VorbisMapping") -public class VorbisMapping { - @ObfuscatedName("c") - @Export("submaps") - int submaps; - @ObfuscatedName("x") - @Export("mappingMux") - int mappingMux; - @ObfuscatedName("t") - @Export("submapFloor") - int[] submapFloor; - @ObfuscatedName("g") - @Export("submapResidue") - int[] submapResidue; - - VorbisMapping() { - VorbisSample.readBits(16); - this.submaps = VorbisSample.readBit() != 0 ? VorbisSample.readBits(4) + 1 : 1; - if (VorbisSample.readBit() != 0) { - VorbisSample.readBits(8); - } - - VorbisSample.readBits(2); - if (this.submaps > 1) { - this.mappingMux = VorbisSample.readBits(4); - } - - this.submapFloor = new int[this.submaps]; - this.submapResidue = new int[this.submaps]; - - for (int var1 = 0; var1 < this.submaps; ++var1) { - VorbisSample.readBits(8); - this.submapFloor[var1] = VorbisSample.readBits(8); - this.submapResidue[var1] = VorbisSample.readBits(8); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("di") +@Implements("VorbisMapping") +public class VorbisMapping { + @ObfuscatedName("z") + @Export("submaps") + int submaps; + @ObfuscatedName("n") + @Export("mappingMux") + int mappingMux; + @ObfuscatedName("v") + @Export("submapFloor") + int[] submapFloor; + @ObfuscatedName("u") + @Export("submapResidue") + int[] submapResidue; + + VorbisMapping() { + VorbisSample.readBits(16); + this.submaps = VorbisSample.readBit() != 0 ? VorbisSample.readBits(4) + 1 : 1; + if (VorbisSample.readBit() != 0) { + VorbisSample.readBits(8); + } + + VorbisSample.readBits(2); + if (this.submaps > 1) { + this.mappingMux = VorbisSample.readBits(4); + } + + this.submapFloor = new int[this.submaps]; + this.submapResidue = new int[this.submaps]; + + for (int var1 = 0; var1 < this.submaps; ++var1) { + VorbisSample.readBits(8); + this.submapFloor[var1] = VorbisSample.readBits(8); + this.submapResidue[var1] = VorbisSample.readBits(8); + } + + } +} diff --git a/runescape-client/src/main/java/VorbisResidue.java b/runescape-client/src/main/java/VorbisResidue.java index 803180f3ea..0d74c549fc 100644 --- a/runescape-client/src/main/java/VorbisResidue.java +++ b/runescape-client/src/main/java/VorbisResidue.java @@ -1,131 +1,131 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("dn") -@Implements("VorbisResidue") -public class VorbisResidue { - @ObfuscatedName("c") - @Export("residueType") - int residueType; - @ObfuscatedName("x") - @Export("begin") - int begin; - @ObfuscatedName("t") - @Export("end") - int end; - @ObfuscatedName("g") - @Export("partitionSize") - int partitionSize; - @ObfuscatedName("l") - @Export("classifications") - int classifications; - @ObfuscatedName("u") - @Export("classbook") - int classbook; - @ObfuscatedName("j") - @Export("cascade") - int[] cascade; - - VorbisResidue() { - this.residueType = VorbisSample.readBits(16); - this.begin = VorbisSample.readBits(24); - this.end = VorbisSample.readBits(24); - this.partitionSize = VorbisSample.readBits(24) + 1; - this.classifications = VorbisSample.readBits(6) + 1; - this.classbook = VorbisSample.readBits(8); - int[] var1 = new int[this.classifications]; - - int var2; - for (var2 = 0; var2 < this.classifications; ++var2) { - int var3 = 0; - int var4 = VorbisSample.readBits(3); - boolean var5 = VorbisSample.readBit() != 0; - if (var5) { - var3 = VorbisSample.readBits(5); - } - - var1[var2] = var3 << 3 | var4; - } - - this.cascade = new int[this.classifications * 8]; - - for (var2 = 0; var2 < this.classifications * 8; ++var2) { - this.cascade[var2] = (var1[var2 >> 3] & 1 << (var2 & 7)) != 0 ? VorbisSample.readBits(8) : -1; - } - - } - - @ObfuscatedName("c") - void method2488(float[] var1, int var2, boolean var3) { - int var4; - for (var4 = 0; var4 < var2; ++var4) { - var1[var4] = 0.0F; - } - - if (!var3) { - var4 = VorbisSample.VorbisSample_codebooks[this.classbook].dimensions; - int var5 = this.end - this.begin; - int var6 = var5 / this.partitionSize; - int[] var7 = new int[var6]; - - for (int var8 = 0; var8 < 8; ++var8) { - int var9 = 0; - - while (var9 < var6) { - int var10; - int var11; - if (var8 == 0) { - var10 = VorbisSample.VorbisSample_codebooks[this.classbook].method2307(); - - for (var11 = var4 - 1; var11 >= 0; --var11) { - if (var9 + var11 < var6) { - var7[var9 + var11] = var10 % this.classifications; - } - - var10 /= this.classifications; - } - } - - for (var10 = 0; var10 < var4; ++var10) { - var11 = var7[var9]; - int var12 = this.cascade[var8 + var11 * 8]; - if (var12 >= 0) { - int var13 = var9 * this.partitionSize + this.begin; - VorbisCodebook var14 = VorbisSample.VorbisSample_codebooks[var12]; - int var15; - if (this.residueType == 0) { - var15 = this.partitionSize / var14.dimensions; - - for (int var16 = 0; var16 < var15; ++var16) { - float[] var17 = var14.method2318(); - - for (int var18 = 0; var18 < var14.dimensions; ++var18) { - var1[var13 + var16 + var18 * var15] += var17[var18]; - } - } - } else { - var15 = 0; - - while (var15 < this.partitionSize) { - float[] var19 = var14.method2318(); - - for (int var20 = 0; var20 < var14.dimensions; ++var20) { - var1[var13 + var15] += var19[var20]; - ++var15; - } - } - } - } - - ++var9; - if (var9 >= var6) { - break; - } - } - } - } - - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("df") +@Implements("VorbisResidue") +public class VorbisResidue { + @ObfuscatedName("z") + @Export("residueType") + int residueType; + @ObfuscatedName("n") + @Export("begin") + int begin; + @ObfuscatedName("v") + @Export("end") + int end; + @ObfuscatedName("u") + @Export("partitionSize") + int partitionSize; + @ObfuscatedName("r") + @Export("classifications") + int classifications; + @ObfuscatedName("p") + @Export("classbook") + int classbook; + @ObfuscatedName("q") + @Export("cascade") + int[] cascade; + + VorbisResidue() { + this.residueType = VorbisSample.readBits(16); + this.begin = VorbisSample.readBits(24); + this.end = VorbisSample.readBits(24); + this.partitionSize = VorbisSample.readBits(24) + 1; + this.classifications = VorbisSample.readBits(6) + 1; + this.classbook = VorbisSample.readBits(8); + int[] var1 = new int[this.classifications]; + + int var2; + for (var2 = 0; var2 < this.classifications; ++var2) { + int var3 = 0; + int var4 = VorbisSample.readBits(3); + boolean var5 = VorbisSample.readBit() != 0; + if (var5) { + var3 = VorbisSample.readBits(5); + } + + var1[var2] = var3 << 3 | var4; + } + + this.cascade = new int[this.classifications * 8]; + + for (var2 = 0; var2 < this.classifications * 8; ++var2) { + this.cascade[var2] = (var1[var2 >> 3] & 1 << (var2 & 7)) != 0 ? VorbisSample.readBits(8) : -1; + } + + } + + @ObfuscatedName("z") + void method2489(float[] var1, int var2, boolean var3) { + int var4; + for (var4 = 0; var4 < var2; ++var4) { + var1[var4] = 0.0F; + } + + if (!var3) { + var4 = VorbisSample.VorbisSample_codebooks[this.classbook].dimensions; + int var5 = this.end - this.begin; + int var6 = var5 / this.partitionSize; + int[] var7 = new int[var6]; + + for (int var8 = 0; var8 < 8; ++var8) { + int var9 = 0; + + while (var9 < var6) { + int var10; + int var11; + if (var8 == 0) { + var10 = VorbisSample.VorbisSample_codebooks[this.classbook].method2313(); + + for (var11 = var4 - 1; var11 >= 0; --var11) { + if (var9 + var11 < var6) { + var7[var9 + var11] = var10 % this.classifications; + } + + var10 /= this.classifications; + } + } + + for (var10 = 0; var10 < var4; ++var10) { + var11 = var7[var9]; + int var12 = this.cascade[var8 + var11 * 8]; + if (var12 >= 0) { + int var13 = var9 * this.partitionSize + this.begin; + VorbisCodebook var14 = VorbisSample.VorbisSample_codebooks[var12]; + int var15; + if (this.residueType == 0) { + var15 = this.partitionSize / var14.dimensions; + + for (int var16 = 0; var16 < var15; ++var16) { + float[] var17 = var14.method2314(); + + for (int var18 = 0; var18 < var14.dimensions; ++var18) { + var1[var13 + var16 + var18 * var15] += var17[var18]; + } + } + } else { + var15 = 0; + + while (var15 < this.partitionSize) { + float[] var19 = var14.method2314(); + + for (int var20 = 0; var20 < var14.dimensions; ++var20) { + var1[var13 + var15] += var19[var20]; + ++var15; + } + } + } + } + + ++var9; + if (var9 >= var6) { + break; + } + } + } + } + + } + } +} diff --git a/runescape-client/src/main/java/VorbisSample.java b/runescape-client/src/main/java/VorbisSample.java index f6600466af..66c751b830 100644 --- a/runescape-client/src/main/java/VorbisSample.java +++ b/runescape-client/src/main/java/VorbisSample.java @@ -1,647 +1,656 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cy") -@Implements("VorbisSample") -public class VorbisSample extends Node { - @ObfuscatedName("j") - @Export("VorbisSample_bytes") - static byte[] VorbisSample_bytes; - @ObfuscatedName("v") - @Export("VorbisSample_byteOffset") - static int VorbisSample_byteOffset; - @ObfuscatedName("d") - @Export("VorbisSample_bitOffset") - static int VorbisSample_bitOffset; - @ObfuscatedName("z") - @Export("VorbisSample_blockSize0") - static int VorbisSample_blockSize0; - @ObfuscatedName("n") - @Export("VorbisSample_blockSize1") - static int VorbisSample_blockSize1; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "[Lcz;" - ) - @Export("VorbisSample_codebooks") - static VorbisCodebook[] VorbisSample_codebooks; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "[Ldj;" - ) - @Export("VorbisSample_floors") - static VorbisFloor[] VorbisSample_floors; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "[Ldn;" - ) - @Export("VorbisSample_residues") - static VorbisResidue[] VorbisSample_residues; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "[Ldz;" - ) - @Export("VorbisSample_mappings") - static VorbisMapping[] VorbisSample_mappings; - @ObfuscatedName("e") - @Export("VorbisSample_blockFlags") - static boolean[] VorbisSample_blockFlags; - @ObfuscatedName("i") - @Export("VorbisSample_mapping") - static int[] VorbisSample_mapping; - @ObfuscatedName("q") - static boolean field1323; - @ObfuscatedName("m") - static float[] field1324; - @ObfuscatedName("o") - static float[] field1343; - @ObfuscatedName("a") - static float[] field1344; - @ObfuscatedName("b") - static float[] field1345; - @ObfuscatedName("ag") - static float[] field1346; - @ObfuscatedName("at") - static float[] field1347; - @ObfuscatedName("ao") - static float[] field1348; - @ObfuscatedName("av") - static int[] field1332; - @ObfuscatedName("an") - static int[] field1350; - @ObfuscatedName("c") - byte[][] field1349; - @ObfuscatedName("x") - @Export("sampleRate") - int sampleRate; - @ObfuscatedName("t") - @Export("sampleCount") - int sampleCount; - @ObfuscatedName("g") - @Export("start") - int start; - @ObfuscatedName("l") - @Export("end") - int end; - @ObfuscatedName("u") - boolean field1325; - @ObfuscatedName("y") - float[] field1338; - @ObfuscatedName("r") - int field1339; - @ObfuscatedName("k") - int field1340; - @ObfuscatedName("w") - boolean field1337; - @ObfuscatedName("al") - @Export("samples") - byte[] samples; - @ObfuscatedName("as") - int field1352; - @ObfuscatedName("ad") - int field1353; - - static { - field1323 = false; - } - - VorbisSample(byte[] var1) { - this.read(var1); - } - - @ObfuscatedName("l") - @Export("read") - void read(byte[] var1) { - Buffer var2 = new Buffer(var1); - this.sampleRate = var2.readInt(); - this.sampleCount = var2.readInt(); - this.start = var2.readInt(); - this.end = var2.readInt(); - if (this.end < 0) { - this.end = ~this.end; - this.field1325 = true; - } - - int var3 = var2.readInt(); - this.field1349 = new byte[var3][]; - - for (int var4 = 0; var4 < var3; ++var4) { - int var5 = 0; - - int var6; - do { - var6 = var2.readUnsignedByte(); - var5 += var6; - } while(var6 >= 255); - - byte[] var7 = new byte[var5]; - var2.readBytes(var7, 0, var5); - this.field1349[var4] = var7; - } - - } - - @ObfuscatedName("j") - float[] method2358(int var1) { - VorbisSample_setData(this.field1349[var1], 0); - readBit(); - int var2 = readBits(UserComparator10.iLog(VorbisSample_mapping.length - 1)); - boolean var3 = VorbisSample_blockFlags[var2]; - int var4 = var3 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; - boolean var5 = false; - boolean var6 = false; - if (var3) { - var5 = readBit() != 0; - var6 = readBit() != 0; - } - - int var7 = var4 >> 1; - int var8; - int var9; - int var10; - if (var3 && !var5) { - var8 = (var4 >> 2) - (VorbisSample_blockSize0 >> 2); - var9 = (VorbisSample_blockSize0 >> 2) + (var4 >> 2); - var10 = VorbisSample_blockSize0 >> 1; - } else { - var8 = 0; - var9 = var7; - var10 = var4 >> 1; - } - - int var11; - int var12; - int var13; - if (var3 && !var6) { - var11 = var4 - (var4 >> 2) - (VorbisSample_blockSize0 >> 2); - var12 = (VorbisSample_blockSize0 >> 2) + (var4 - (var4 >> 2)); - var13 = VorbisSample_blockSize0 >> 1; - } else { - var11 = var7; - var12 = var4; - var13 = var4 >> 1; - } - - VorbisMapping var14 = VorbisSample_mappings[VorbisSample_mapping[var2]]; - int var16 = var14.mappingMux; - int var17 = var14.submapFloor[var16]; - boolean var15 = !VorbisSample_floors[var17].readSubmapFloor(); - boolean var45 = var15; - - for (var17 = 0; var17 < var14.submaps; ++var17) { - VorbisResidue var18 = VorbisSample_residues[var14.submapResidue[var17]]; - float[] var19 = field1324; - var18.method2488(var19, var4 >> 1, var45); - } - - int var40; - if (!var15) { - var17 = var14.mappingMux; - var40 = var14.submapFloor[var17]; - VorbisSample_floors[var40].method2380(field1324, var4 >> 1); - } - - int var42; - if (var15) { - for (var17 = var4 >> 1; var17 < var4; ++var17) { - field1324[var17] = 0.0F; - } - } else { - var17 = var4 >> 1; - var40 = var4 >> 2; - var42 = var4 >> 3; - float[] var43 = field1324; - - int var21; - for (var21 = 0; var21 < var17; ++var21) { - var43[var21] *= 0.5F; - } - - for (var21 = var17; var21 < var4; ++var21) { - var43[var21] = -var43[var4 - var21 - 1]; - } - - float[] var44 = var3 ? field1346 : field1343; - float[] var22 = var3 ? field1347 : field1344; - float[] var23 = var3 ? field1348 : field1345; - int[] var24 = var3 ? field1350 : field1332; - - int var25; - float var26; - float var27; - float var28; - float var29; - for (var25 = 0; var25 < var40; ++var25) { - var26 = var43[var25 * 4] - var43[var4 - var25 * 4 - 1]; - var27 = var43[var25 * 4 + 2] - var43[var4 - var25 * 4 - 3]; - var28 = var44[var25 * 2]; - var29 = var44[var25 * 2 + 1]; - var43[var4 - var25 * 4 - 1] = var26 * var28 - var27 * var29; - var43[var4 - var25 * 4 - 3] = var26 * var29 + var27 * var28; - } - - float var30; - float var31; - for (var25 = 0; var25 < var42; ++var25) { - var26 = var43[var17 + var25 * 4 + 3]; - var27 = var43[var17 + var25 * 4 + 1]; - var28 = var43[var25 * 4 + 3]; - var29 = var43[var25 * 4 + 1]; - var43[var17 + var25 * 4 + 3] = var26 + var28; - var43[var17 + var25 * 4 + 1] = var27 + var29; - var30 = var44[var17 - 4 - var25 * 4]; - var31 = var44[var17 - 3 - var25 * 4]; - var43[var25 * 4 + 3] = (var26 - var28) * var30 - (var27 - var29) * var31; - var43[var25 * 4 + 1] = (var27 - var29) * var30 + (var26 - var28) * var31; - } - - var25 = UserComparator10.iLog(var4 - 1); - - int var47; - int var48; - int var49; - int var50; - for (var47 = 0; var47 < var25 - 3; ++var47) { - var48 = var4 >> var47 + 2; - var49 = 8 << var47; - - for (var50 = 0; var50 < 2 << var47; ++var50) { - int var51 = var4 - var48 * var50 * 2; - int var52 = var4 - var48 * (var50 * 2 + 1); - - for (int var32 = 0; var32 < var4 >> var47 + 4; ++var32) { - int var33 = var32 * 4; - float var34 = var43[var51 - 1 - var33]; - float var35 = var43[var51 - 3 - var33]; - float var36 = var43[var52 - 1 - var33]; - float var37 = var43[var52 - 3 - var33]; - var43[var51 - 1 - var33] = var34 + var36; - var43[var51 - 3 - var33] = var35 + var37; - float var38 = var44[var32 * var49]; - float var39 = var44[var32 * var49 + 1]; - var43[var52 - 1 - var33] = (var34 - var36) * var38 - (var35 - var37) * var39; - var43[var52 - 3 - var33] = (var35 - var37) * var38 + (var34 - var36) * var39; - } - } - } - - for (var47 = 1; var47 < var42 - 1; ++var47) { - var48 = var24[var47]; - if (var47 < var48) { - var49 = var47 * 8; - var50 = var48 * 8; - var30 = var43[var49 + 1]; - var43[var49 + 1] = var43[var50 + 1]; - var43[var50 + 1] = var30; - var30 = var43[var49 + 3]; - var43[var49 + 3] = var43[var50 + 3]; - var43[var50 + 3] = var30; - var30 = var43[var49 + 5]; - var43[var49 + 5] = var43[var50 + 5]; - var43[var50 + 5] = var30; - var30 = var43[var49 + 7]; - var43[var49 + 7] = var43[var50 + 7]; - var43[var50 + 7] = var30; - } - } - - for (var47 = 0; var47 < var17; ++var47) { - var43[var47] = var43[var47 * 2 + 1]; - } - - for (var47 = 0; var47 < var42; ++var47) { - var43[var4 - 1 - var47 * 2] = var43[var47 * 4]; - var43[var4 - 2 - var47 * 2] = var43[var47 * 4 + 1]; - var43[var4 - var40 - 1 - var47 * 2] = var43[var47 * 4 + 2]; - var43[var4 - var40 - 2 - var47 * 2] = var43[var47 * 4 + 3]; - } - - for (var47 = 0; var47 < var42; ++var47) { - var27 = var23[var47 * 2]; - var28 = var23[var47 * 2 + 1]; - var29 = var43[var17 + var47 * 2]; - var30 = var43[var17 + var47 * 2 + 1]; - var31 = var43[var4 - 2 - var47 * 2]; - float var53 = var43[var4 - 1 - var47 * 2]; - float var54 = var28 * (var29 - var31) + var27 * (var30 + var53); - var43[var17 + var47 * 2] = (var29 + var31 + var54) * 0.5F; - var43[var4 - 2 - var47 * 2] = (var29 + var31 - var54) * 0.5F; - var54 = var28 * (var30 + var53) - var27 * (var29 - var31); - var43[var17 + var47 * 2 + 1] = (var30 - var53 + var54) * 0.5F; - var43[var4 - 1 - var47 * 2] = (-var30 + var53 + var54) * 0.5F; - } - - for (var47 = 0; var47 < var40; ++var47) { - var43[var47] = var43[var17 + var47 * 2] * var22[var47 * 2] + var43[var17 + var47 * 2 + 1] * var22[var47 * 2 + 1]; - var43[var17 - 1 - var47] = var43[var17 + var47 * 2] * var22[var47 * 2 + 1] - var43[var17 + var47 * 2 + 1] * var22[var47 * 2]; - } - - for (var47 = 0; var47 < var40; ++var47) { - var43[var47 + (var4 - var40)] = -var43[var47]; - } - - for (var47 = 0; var47 < var40; ++var47) { - var43[var47] = var43[var40 + var47]; - } - - for (var47 = 0; var47 < var40; ++var47) { - var43[var40 + var47] = -var43[var40 - var47 - 1]; - } - - for (var47 = 0; var47 < var40; ++var47) { - var43[var17 + var47] = var43[var4 - var47 - 1]; - } - - float[] var10000; - for (var47 = var8; var47 < var9; ++var47) { - var27 = (float)Math.sin(((double)(var47 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); - var10000 = field1324; - var10000[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); - } - - for (var47 = var11; var47 < var12; ++var47) { - var27 = (float)Math.sin(((double)(var47 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); - var10000 = field1324; - var10000[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); - } - } - - float[] var41 = null; - if (this.field1339 > 0) { - var40 = var4 + this.field1339 >> 2; - var41 = new float[var40]; - int var20; - if (!this.field1337) { - for (var42 = 0; var42 < this.field1340; ++var42) { - var20 = var42 + (this.field1339 >> 1); - var41[var42] += this.field1338[var20]; - } - } - - if (!var15) { - for (var42 = var8; var42 < var4 >> 1; ++var42) { - var20 = var41.length - (var4 >> 1) + var42; - var41[var20] += field1324[var42]; - } - } - } - - float[] var46 = this.field1338; - this.field1338 = field1324; - field1324 = var46; - this.field1339 = var4; - this.field1340 = var12 - (var4 >> 1); - this.field1337 = var15; - return var41; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "([I)Lcg;" - ) - @Export("toRawSound") - RawSound toRawSound(int[] var1) { - if (var1 != null && var1[0] <= 0) { - return null; - } else { - if (this.samples == null) { - this.field1339 = 0; - this.field1338 = new float[VorbisSample_blockSize1]; - this.samples = new byte[this.sampleCount]; - this.field1352 = 0; - this.field1353 = 0; - } - - for (; this.field1353 < this.field1349.length; ++this.field1353) { - if (var1 != null && var1[0] <= 0) { - return null; - } - - float[] var2 = this.method2358(this.field1353); - if (var2 != null) { - int var3 = this.field1352; - int var4 = var2.length; - if (var4 > this.sampleCount - var3) { - var4 = this.sampleCount - var3; - } - - for (int var5 = 0; var5 < var4; ++var5) { - int var6 = (int)(128.0F + var2[var5] * 128.0F); - if ((var6 & -256) != 0) { - var6 = ~var6 >> 31; - } - - this.samples[var3++] = (byte)(var6 - 128); - } - - if (var1 != null) { - var1[0] -= var3 - this.field1352; - } - - this.field1352 = var3; - } - } - - this.field1338 = null; - byte[] var7 = this.samples; - this.samples = null; - return new RawSound(this.sampleRate, var7, this.start, this.end, this.field1325); - } - } - - @ObfuscatedName("c") - @Export("float32Unpack") - static float float32Unpack(int var0) { - int var1 = var0 & 2097151; - int var2 = var0 & Integer.MIN_VALUE; - int var3 = (var0 & 2145386496) >> 21; - if (var2 != 0) { - var1 = -var1; - } - - return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 788))); - } - - @ObfuscatedName("x") - @Export("VorbisSample_setData") - static void VorbisSample_setData(byte[] var0, int var1) { - VorbisSample_bytes = var0; - VorbisSample_byteOffset = var1; - VorbisSample_bitOffset = 0; - } - - @ObfuscatedName("t") - @Export("readBit") - static int readBit() { - int var0 = VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & 1; - ++VorbisSample_bitOffset; - VorbisSample_byteOffset += VorbisSample_bitOffset >> 3; - VorbisSample_bitOffset &= 7; - return var0; - } - - @ObfuscatedName("g") - @Export("readBits") - static int readBits(int var0) { - int var1 = 0; - - int var2; - int var3; - for (var2 = 0; var0 >= 8 - VorbisSample_bitOffset; var0 -= var3) { - var3 = 8 - VorbisSample_bitOffset; - int var4 = (1 << var3) - 1; - var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var4) << var2; - VorbisSample_bitOffset = 0; - ++VorbisSample_byteOffset; - var2 += var3; - } - - if (var0 > 0) { - var3 = (1 << var0) - 1; - var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var3) << var2; - VorbisSample_bitOffset += var0; - } - - return var1; - } - - @ObfuscatedName("u") - static void method2341(byte[] var0) { - VorbisSample_setData(var0, 0); - VorbisSample_blockSize0 = 1 << readBits(4); - VorbisSample_blockSize1 = 1 << readBits(4); - field1324 = new float[VorbisSample_blockSize1]; - - int var1; - int var2; - int var3; - int var4; - int var5; - for (var1 = 0; var1 < 2; ++var1) { - var2 = var1 != 0 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; - var3 = var2 >> 1; - var4 = var2 >> 2; - var5 = var2 >> 3; - float[] var6 = new float[var3]; - - for (int var7 = 0; var7 < var4; ++var7) { - var6[var7 * 2] = (float)Math.cos((double)(var7 * 4) * 3.141592653589793D / (double)var2); - var6[var7 * 2 + 1] = -((float)Math.sin((double)(var7 * 4) * 3.141592653589793D / (double)var2)); - } - - float[] var12 = new float[var3]; - - for (int var8 = 0; var8 < var4; ++var8) { - var12[var8 * 2] = (float)Math.cos((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); - var12[var8 * 2 + 1] = (float)Math.sin((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); - } - - float[] var13 = new float[var4]; - - for (int var9 = 0; var9 < var5; ++var9) { - var13[var9 * 2] = (float)Math.cos((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2); - var13[var9 * 2 + 1] = -((float)Math.sin((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2)); - } - - int[] var14 = new int[var5]; - int var10 = UserComparator10.iLog(var5 - 1); - - for (int var11 = 0; var11 < var5; ++var11) { - var14[var11] = WorldMapSection1.method539(var11, var10); - } - - if (var1 != 0) { - field1346 = var6; - field1347 = var12; - field1348 = var13; - field1350 = var14; - } else { - field1343 = var6; - field1344 = var12; - field1345 = var13; - field1332 = var14; - } - } - - var1 = readBits(8) + 1; - VorbisSample_codebooks = new VorbisCodebook[var1]; - - for (var2 = 0; var2 < var1; ++var2) { - VorbisSample_codebooks[var2] = new VorbisCodebook(); - } - - var2 = readBits(6) + 1; - - for (var3 = 0; var3 < var2; ++var3) { - readBits(16); - } - - var2 = readBits(6) + 1; - VorbisSample_floors = new VorbisFloor[var2]; - - for (var3 = 0; var3 < var2; ++var3) { - VorbisSample_floors[var3] = new VorbisFloor(); - } - - var3 = readBits(6) + 1; - VorbisSample_residues = new VorbisResidue[var3]; - - for (var4 = 0; var4 < var3; ++var4) { - VorbisSample_residues[var4] = new VorbisResidue(); - } - - var4 = readBits(6) + 1; - VorbisSample_mappings = new VorbisMapping[var4]; - - for (var5 = 0; var5 < var4; ++var5) { - VorbisSample_mappings[var5] = new VorbisMapping(); - } - - var5 = readBits(6) + 1; - VorbisSample_blockFlags = new boolean[var5]; - VorbisSample_mapping = new int[var5]; - - for (int var15 = 0; var15 < var5; ++var15) { - VorbisSample_blockFlags[var15] = readBit() != 0; - readBits(16); - readBits(16); - VorbisSample_mapping[var15] = readBits(8); - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Lhz;)Z" - ) - static boolean method2343(AbstractArchive var0) { - if (!field1323) { - byte[] var1 = var0.takeFile(0, 0); - if (var1 == null) { - return false; - } - - method2341(var1); - field1323 = true; - } - - return true; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lhz;II)Lcy;" - ) - @Export("readMusicSample") - static VorbisSample readMusicSample(AbstractArchive var0, int var1, int var2) { - if (!method2343(var0)) { - var0.tryLoadFile(var1, var2); - return null; - } else { - byte[] var3 = var0.takeFile(var1, var2); - return var3 == null ? null : new VorbisSample(var3); - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("cp") +@Implements("VorbisSample") +public class VorbisSample extends Node { + @ObfuscatedName("q") + @Export("VorbisSample_bytes") + static byte[] VorbisSample_bytes; + @ObfuscatedName("m") + @Export("VorbisSample_byteOffset") + static int VorbisSample_byteOffset; + @ObfuscatedName("y") + @Export("VorbisSample_bitOffset") + static int VorbisSample_bitOffset; + @ObfuscatedName("i") + @Export("VorbisSample_blockSize0") + static int VorbisSample_blockSize0; + @ObfuscatedName("c") + @Export("VorbisSample_blockSize1") + static int VorbisSample_blockSize1; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "[Lcx;" + ) + @Export("VorbisSample_codebooks") + static VorbisCodebook[] VorbisSample_codebooks; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "[Ldt;" + ) + @Export("VorbisSample_floors") + static VorbisFloor[] VorbisSample_floors; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "[Ldf;" + ) + @Export("VorbisSample_residues") + static VorbisResidue[] VorbisSample_residues; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "[Ldi;" + ) + @Export("VorbisSample_mappings") + static VorbisMapping[] VorbisSample_mappings; + @ObfuscatedName("w") + @Export("VorbisSample_blockFlags") + static boolean[] VorbisSample_blockFlags; + @ObfuscatedName("t") + @Export("VorbisSample_mapping") + static int[] VorbisSample_mapping; + @ObfuscatedName("g") + static boolean field1348; + @ObfuscatedName("j") + static float[] field1353; + @ObfuscatedName("d") + static float[] field1331; + @ObfuscatedName("l") + static float[] field1355; + @ObfuscatedName("k") + static float[] field1339; + @ObfuscatedName("ac") + static float[] field1357; + @ObfuscatedName("az") + static float[] field1362; + @ObfuscatedName("aw") + static float[] field1359; + @ObfuscatedName("aa") + static int[] field1360; + @ObfuscatedName("ap") + static int[] field1361; + @ObfuscatedName("z") + byte[][] field1349; + @ObfuscatedName("n") + @Export("sampleRate") + int sampleRate; + @ObfuscatedName("v") + @Export("sampleCount") + int sampleCount; + @ObfuscatedName("u") + @Export("start") + int start; + @ObfuscatedName("r") + @Export("end") + int end; + @ObfuscatedName("p") + boolean field1340; + @ObfuscatedName("x") + float[] field1333; + @ObfuscatedName("h") + int field1350; + @ObfuscatedName("s") + int field1351; + @ObfuscatedName("f") + boolean field1356; + @ObfuscatedName("ar") + @Export("samples") + byte[] samples; + @ObfuscatedName("ab") + int field1363; + @ObfuscatedName("ax") + int field1343; + + static { + field1348 = false; + } + + VorbisSample(byte[] var1) { + this.read(var1); + } + + @ObfuscatedName("r") + @Export("read") + void read(byte[] var1) { + Buffer var2 = new Buffer(var1); + this.sampleRate = var2.readInt(); + this.sampleCount = var2.readInt(); + this.start = var2.readInt(); + this.end = var2.readInt(); + if (this.end < 0) { + this.end = ~this.end; + this.field1340 = true; + } + + int var3 = var2.readInt(); + this.field1349 = new byte[var3][]; + + for (int var4 = 0; var4 < var3; ++var4) { + int var5 = 0; + + int var6; + do { + var6 = var2.readUnsignedByte(); + var5 += var6; + } while(var6 >= 255); + + byte[] var7 = new byte[var5]; + var2.readBytes(var7, 0, var5); + this.field1349[var4] = var7; + } + + } + + @ObfuscatedName("q") + float[] method2340(int var1) { + VorbisSample_setData(this.field1349[var1], 0); + readBit(); + int var2 = readBits(TileItem.iLog(VorbisSample_mapping.length - 1)); + boolean var3 = VorbisSample_blockFlags[var2]; + int var4 = var3 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; + boolean var5 = false; + boolean var6 = false; + if (var3) { + var5 = readBit() != 0; + var6 = readBit() != 0; + } + + int var7 = var4 >> 1; + int var8; + int var9; + int var10; + if (var3 && !var5) { + var8 = (var4 >> 2) - (VorbisSample_blockSize0 >> 2); + var9 = (VorbisSample_blockSize0 >> 2) + (var4 >> 2); + var10 = VorbisSample_blockSize0 >> 1; + } else { + var8 = 0; + var9 = var7; + var10 = var4 >> 1; + } + + int var11; + int var12; + int var13; + if (var3 && !var6) { + var11 = var4 - (var4 >> 2) - (VorbisSample_blockSize0 >> 2); + var12 = (VorbisSample_blockSize0 >> 2) + (var4 - (var4 >> 2)); + var13 = VorbisSample_blockSize0 >> 1; + } else { + var11 = var7; + var12 = var4; + var13 = var4 >> 1; + } + + VorbisMapping var14 = VorbisSample_mappings[VorbisSample_mapping[var2]]; + int var16 = var14.mappingMux; + int var17 = var14.submapFloor[var16]; + boolean var15 = !VorbisSample_floors[var17].readSubmapFloor(); + boolean var45 = var15; + + for (var17 = 0; var17 < var14.submaps; ++var17) { + VorbisResidue var18 = VorbisSample_residues[var14.submapResidue[var17]]; + float[] var19 = field1353; + var18.method2489(var19, var4 >> 1, var45); + } + + int var40; + if (!var15) { + var17 = var14.mappingMux; + var40 = var14.submapFloor[var17]; + VorbisSample_floors[var40].method2373(field1353, var4 >> 1); + } + + int var42; + if (var15) { + for (var17 = var4 >> 1; var17 < var4; ++var17) { + field1353[var17] = 0.0F; + } + } else { + var17 = var4 >> 1; + var40 = var4 >> 2; + var42 = var4 >> 3; + float[] var43 = field1353; + + int var21; + for (var21 = 0; var21 < var17; ++var21) { + var43[var21] *= 0.5F; + } + + for (var21 = var17; var21 < var4; ++var21) { + var43[var21] = -var43[var4 - var21 - 1]; + } + + float[] var44 = var3 ? field1357 : field1331; + float[] var22 = var3 ? field1362 : field1355; + float[] var23 = var3 ? field1359 : field1339; + int[] var24 = var3 ? field1361 : field1360; + + int var25; + float var26; + float var27; + float var28; + float var29; + for (var25 = 0; var25 < var40; ++var25) { + var26 = var43[var25 * 4] - var43[var4 - var25 * 4 - 1]; + var27 = var43[var25 * 4 + 2] - var43[var4 - var25 * 4 - 3]; + var28 = var44[var25 * 2]; + var29 = var44[var25 * 2 + 1]; + var43[var4 - var25 * 4 - 1] = var26 * var28 - var27 * var29; + var43[var4 - var25 * 4 - 3] = var26 * var29 + var27 * var28; + } + + float var30; + float var31; + for (var25 = 0; var25 < var42; ++var25) { + var26 = var43[var17 + var25 * 4 + 3]; + var27 = var43[var17 + var25 * 4 + 1]; + var28 = var43[var25 * 4 + 3]; + var29 = var43[var25 * 4 + 1]; + var43[var17 + var25 * 4 + 3] = var26 + var28; + var43[var17 + var25 * 4 + 1] = var27 + var29; + var30 = var44[var17 - 4 - var25 * 4]; + var31 = var44[var17 - 3 - var25 * 4]; + var43[var25 * 4 + 3] = (var26 - var28) * var30 - (var27 - var29) * var31; + var43[var25 * 4 + 1] = (var27 - var29) * var30 + (var26 - var28) * var31; + } + + var25 = TileItem.iLog(var4 - 1); + + int var47; + int var48; + int var49; + int var50; + for (var47 = 0; var47 < var25 - 3; ++var47) { + var48 = var4 >> var47 + 2; + var49 = 8 << var47; + + for (var50 = 0; var50 < 2 << var47; ++var50) { + int var51 = var4 - var48 * var50 * 2; + int var52 = var4 - var48 * (var50 * 2 + 1); + + for (int var32 = 0; var32 < var4 >> var47 + 4; ++var32) { + int var33 = var32 * 4; + float var34 = var43[var51 - 1 - var33]; + float var35 = var43[var51 - 3 - var33]; + float var36 = var43[var52 - 1 - var33]; + float var37 = var43[var52 - 3 - var33]; + var43[var51 - 1 - var33] = var34 + var36; + var43[var51 - 3 - var33] = var35 + var37; + float var38 = var44[var32 * var49]; + float var39 = var44[var32 * var49 + 1]; + var43[var52 - 1 - var33] = (var34 - var36) * var38 - (var35 - var37) * var39; + var43[var52 - 3 - var33] = (var35 - var37) * var38 + (var34 - var36) * var39; + } + } + } + + for (var47 = 1; var47 < var42 - 1; ++var47) { + var48 = var24[var47]; + if (var47 < var48) { + var49 = var47 * 8; + var50 = var48 * 8; + var30 = var43[var49 + 1]; + var43[var49 + 1] = var43[var50 + 1]; + var43[var50 + 1] = var30; + var30 = var43[var49 + 3]; + var43[var49 + 3] = var43[var50 + 3]; + var43[var50 + 3] = var30; + var30 = var43[var49 + 5]; + var43[var49 + 5] = var43[var50 + 5]; + var43[var50 + 5] = var30; + var30 = var43[var49 + 7]; + var43[var49 + 7] = var43[var50 + 7]; + var43[var50 + 7] = var30; + } + } + + for (var47 = 0; var47 < var17; ++var47) { + var43[var47] = var43[var47 * 2 + 1]; + } + + for (var47 = 0; var47 < var42; ++var47) { + var43[var4 - 1 - var47 * 2] = var43[var47 * 4]; + var43[var4 - 2 - var47 * 2] = var43[var47 * 4 + 1]; + var43[var4 - var40 - 1 - var47 * 2] = var43[var47 * 4 + 2]; + var43[var4 - var40 - 2 - var47 * 2] = var43[var47 * 4 + 3]; + } + + for (var47 = 0; var47 < var42; ++var47) { + var27 = var23[var47 * 2]; + var28 = var23[var47 * 2 + 1]; + var29 = var43[var17 + var47 * 2]; + var30 = var43[var17 + var47 * 2 + 1]; + var31 = var43[var4 - 2 - var47 * 2]; + float var53 = var43[var4 - 1 - var47 * 2]; + float var54 = var28 * (var29 - var31) + var27 * (var30 + var53); + var43[var17 + var47 * 2] = (var29 + var31 + var54) * 0.5F; + var43[var4 - 2 - var47 * 2] = (var29 + var31 - var54) * 0.5F; + var54 = var28 * (var30 + var53) - var27 * (var29 - var31); + var43[var17 + var47 * 2 + 1] = (var30 - var53 + var54) * 0.5F; + var43[var4 - 1 - var47 * 2] = (-var30 + var53 + var54) * 0.5F; + } + + for (var47 = 0; var47 < var40; ++var47) { + var43[var47] = var43[var17 + var47 * 2] * var22[var47 * 2] + var43[var17 + var47 * 2 + 1] * var22[var47 * 2 + 1]; + var43[var17 - 1 - var47] = var43[var17 + var47 * 2] * var22[var47 * 2 + 1] - var43[var17 + var47 * 2 + 1] * var22[var47 * 2]; + } + + for (var47 = 0; var47 < var40; ++var47) { + var43[var47 + (var4 - var40)] = -var43[var47]; + } + + for (var47 = 0; var47 < var40; ++var47) { + var43[var47] = var43[var40 + var47]; + } + + for (var47 = 0; var47 < var40; ++var47) { + var43[var40 + var47] = -var43[var40 - var47 - 1]; + } + + for (var47 = 0; var47 < var40; ++var47) { + var43[var17 + var47] = var43[var4 - var47 - 1]; + } + + float[] var10000; + for (var47 = var8; var47 < var9; ++var47) { + var27 = (float)Math.sin(((double)(var47 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); + var10000 = field1353; + var10000[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + } + + for (var47 = var11; var47 < var12; ++var47) { + var27 = (float)Math.sin(((double)(var47 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); + var10000 = field1353; + var10000[var47] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + } + } + + float[] var41 = null; + if (this.field1350 > 0) { + var40 = var4 + this.field1350 >> 2; + var41 = new float[var40]; + int var20; + if (!this.field1356) { + for (var42 = 0; var42 < this.field1351; ++var42) { + var20 = var42 + (this.field1350 >> 1); + var41[var42] += this.field1333[var20]; + } + } + + if (!var15) { + for (var42 = var8; var42 < var4 >> 1; ++var42) { + var20 = var41.length - (var4 >> 1) + var42; + var41[var20] += field1353[var42]; + } + } + } + + float[] var46 = this.field1333; + this.field1333 = field1353; + field1353 = var46; + this.field1350 = var4; + this.field1351 = var12 - (var4 >> 1); + this.field1356 = var15; + return var41; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "([I)Lch;" + ) + @Export("toRawSound") + RawSound toRawSound(int[] var1) { + if (var1 != null && var1[0] <= 0) { + return null; + } else { + if (this.samples == null) { + this.field1350 = 0; + this.field1333 = new float[VorbisSample_blockSize1]; + this.samples = new byte[this.sampleCount]; + this.field1363 = 0; + this.field1343 = 0; + } + + for (; this.field1343 < this.field1349.length; ++this.field1343) { + if (var1 != null && var1[0] <= 0) { + return null; + } + + float[] var2 = this.method2340(this.field1343); + if (var2 != null) { + int var3 = this.field1363; + int var4 = var2.length; + if (var4 > this.sampleCount - var3) { + var4 = this.sampleCount - var3; + } + + for (int var5 = 0; var5 < var4; ++var5) { + int var6 = (int)(128.0F + var2[var5] * 128.0F); + if ((var6 & -256) != 0) { + var6 = ~var6 >> 31; + } + + this.samples[var3++] = (byte)(var6 - 128); + } + + if (var1 != null) { + var1[0] -= var3 - this.field1363; + } + + this.field1363 = var3; + } + } + + this.field1333 = null; + byte[] var7 = this.samples; + this.samples = null; + return new RawSound(this.sampleRate, var7, this.start, this.end, this.field1340); + } + } + + @ObfuscatedName("z") + @Export("float32Unpack") + static float float32Unpack(int var0) { + int var1 = var0 & 2097151; + int var2 = var0 & Integer.MIN_VALUE; + int var3 = (var0 & 2145386496) >> 21; + if (var2 != 0) { + var1 = -var1; + } + + return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 788))); + } + + @ObfuscatedName("n") + @Export("VorbisSample_setData") + static void VorbisSample_setData(byte[] var0, int var1) { + VorbisSample_bytes = var0; + VorbisSample_byteOffset = var1; + VorbisSample_bitOffset = 0; + } + + @ObfuscatedName("v") + @Export("readBit") + static int readBit() { + int var0 = VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & 1; + ++VorbisSample_bitOffset; + VorbisSample_byteOffset += VorbisSample_bitOffset >> 3; + VorbisSample_bitOffset &= 7; + return var0; + } + + @ObfuscatedName("u") + @Export("readBits") + static int readBits(int var0) { + int var1 = 0; + + int var2; + int var3; + for (var2 = 0; var0 >= 8 - VorbisSample_bitOffset; var0 -= var3) { + var3 = 8 - VorbisSample_bitOffset; + int var4 = (1 << var3) - 1; + var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var4) << var2; + VorbisSample_bitOffset = 0; + ++VorbisSample_byteOffset; + var2 += var3; + } + + if (var0 > 0) { + var3 = (1 << var0) - 1; + var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var3) << var2; + VorbisSample_bitOffset += var0; + } + + return var1; + } + + @ObfuscatedName("p") + static void method2339(byte[] var0) { + VorbisSample_setData(var0, 0); + VorbisSample_blockSize0 = 1 << readBits(4); + VorbisSample_blockSize1 = 1 << readBits(4); + field1353 = new float[VorbisSample_blockSize1]; + + int var1; + int var2; + int var3; + int var4; + int var5; + for (var1 = 0; var1 < 2; ++var1) { + var2 = var1 != 0 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; + var3 = var2 >> 1; + var4 = var2 >> 2; + var5 = var2 >> 3; + float[] var6 = new float[var3]; + + for (int var7 = 0; var7 < var4; ++var7) { + var6[var7 * 2] = (float)Math.cos((double)(var7 * 4) * 3.141592653589793D / (double)var2); + var6[var7 * 2 + 1] = -((float)Math.sin((double)(var7 * 4) * 3.141592653589793D / (double)var2)); + } + + float[] var18 = new float[var3]; + + for (int var8 = 0; var8 < var4; ++var8) { + var18[var8 * 2] = (float)Math.cos((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); + var18[var8 * 2 + 1] = (float)Math.sin((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); + } + + float[] var19 = new float[var4]; + + for (int var9 = 0; var9 < var5; ++var9) { + var19[var9 * 2] = (float)Math.cos((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2); + var19[var9 * 2 + 1] = -((float)Math.sin((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2)); + } + + int[] var20 = new int[var5]; + int var10 = TileItem.iLog(var5 - 1); + + for (int var11 = 0; var11 < var5; ++var11) { + int var15 = var11; + int var16 = var10; + + int var17; + for (var17 = 0; var16 > 0; --var16) { + var17 = var17 << 1 | var15 & 1; + var15 >>>= 1; + } + + var20[var11] = var17; + } + + if (var1 != 0) { + field1357 = var6; + field1362 = var18; + field1359 = var19; + field1361 = var20; + } else { + field1331 = var6; + field1355 = var18; + field1339 = var19; + field1360 = var20; + } + } + + var1 = readBits(8) + 1; + VorbisSample_codebooks = new VorbisCodebook[var1]; + + for (var2 = 0; var2 < var1; ++var2) { + VorbisSample_codebooks[var2] = new VorbisCodebook(); + } + + var2 = readBits(6) + 1; + + for (var3 = 0; var3 < var2; ++var3) { + readBits(16); + } + + var2 = readBits(6) + 1; + VorbisSample_floors = new VorbisFloor[var2]; + + for (var3 = 0; var3 < var2; ++var3) { + VorbisSample_floors[var3] = new VorbisFloor(); + } + + var3 = readBits(6) + 1; + VorbisSample_residues = new VorbisResidue[var3]; + + for (var4 = 0; var4 < var3; ++var4) { + VorbisSample_residues[var4] = new VorbisResidue(); + } + + var4 = readBits(6) + 1; + VorbisSample_mappings = new VorbisMapping[var4]; + + for (var5 = 0; var5 < var4; ++var5) { + VorbisSample_mappings[var5] = new VorbisMapping(); + } + + var5 = readBits(6) + 1; + VorbisSample_blockFlags = new boolean[var5]; + VorbisSample_mapping = new int[var5]; + + for (int var21 = 0; var21 < var5; ++var21) { + VorbisSample_blockFlags[var21] = readBit() != 0; + readBits(16); + readBits(16); + VorbisSample_mapping[var21] = readBits(8); + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Lhp;)Z" + ) + static boolean method2341(AbstractArchive var0) { + if (!field1348) { + byte[] var1 = var0.takeFile(0, 0); + if (var1 == null) { + return false; + } + + method2339(var1); + field1348 = true; + } + + return true; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Lhp;II)Lcp;" + ) + @Export("readMusicSample") + static VorbisSample readMusicSample(AbstractArchive var0, int var1, int var2) { + if (!method2341(var0)) { + var0.tryLoadFile(var1, var2); + return null; + } else { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new VorbisSample(var3); + } + } +} diff --git a/runescape-client/src/main/java/WallDecoration.java b/runescape-client/src/main/java/WallDecoration.java index faba91df3b..55d4e501f9 100644 --- a/runescape-client/src/main/java/WallDecoration.java +++ b/runescape-client/src/main/java/WallDecoration.java @@ -1,654 +1,126 @@ -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("es") -@Implements("WallDecoration") -public final class WallDecoration { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 100665877 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 653989891 - ) - @Export("y") - int y; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1548950965 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1639714203 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -625987959 - ) - @Export("orientation2") - int orientation2; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -582928969 - ) - @Export("xOffset") - int xOffset; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -134264581 - ) - @Export("yOffset") - int yOffset; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("entity1") - public Entity entity1; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lel;" - ) - @Export("entity2") - public Entity entity2; - @ObfuscatedName("z") - @ObfuscatedGetter( - longValue = 6602395642985356173L - ) - @Export("tag") - public long tag; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1233883707 - ) - @Export("flags") - int flags; - - WallDecoration() { - this.tag = 0L; - this.flags = 0; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IB)Liy;", - garbageValue = "-29" - ) - @Export("getObjectDefinition") - public static ObjectDefinition getObjectDefinition(int var0) { - ObjectDefinition var1 = (ObjectDefinition)ObjectDefinition.ObjectDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = GrandExchangeOfferNameComparator.ObjectDefinition_archive.takeFile(6, var0); - var1 = new ObjectDefinition(); - var1.id = var0; - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - if (var1.isSolid) { - var1.interactType = 0; - var1.boolean1 = false; - } - - ObjectDefinition.ObjectDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "2" - ) - public static void method3256(int var0) { - class197.field2376 = 1; - class197.musicTrackArchive = null; - class197.musicTrackGroupId = -1; - class197.musicTrackFileId = -1; - Canvas.field395 = 0; - MouseRecorder.musicTrackBoolean = false; - ModelData0.field1833 = var0; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Lep;[Lfj;I)V", - garbageValue = "1960688399" - ) - static final void method3257(Scene var0, CollisionMap[] var1) { - int var2; - int var3; - int var4; - int var5; - for (var2 = 0; var2 < 4; ++var2) { - for (var3 = 0; var3 < 104; ++var3) { - for (var4 = 0; var4 < 104; ++var4) { - if ((Tiles.Tiles_renderFlags[var2][var3][var4] & 1) == 1) { - var5 = var2; - if ((Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { - var5 = var2 - 1; - } - - if (var5 >= 0) { - var1[var5].setBlockedByFloor(var3, var4); - } - } - } - } - } - - Tiles.field483 += (int)(Math.random() * 5.0D) - 2; - if (Tiles.field483 < -8) { - Tiles.field483 = -8; - } - - if (Tiles.field483 > 8) { - Tiles.field483 = 8; - } - - Tiles.field486 += (int)(Math.random() * 5.0D) - 2; - if (Tiles.field486 < -16) { - Tiles.field486 = -16; - } - - if (Tiles.field486 > 16) { - Tiles.field486 = 16; - } - - int var9; - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - int var16; - int[] var10000; - int var17; - int var18; - for (var2 = 0; var2 < 4; ++var2) { - byte[][] var44 = Tiles.field473[var2]; - var9 = (int)Math.sqrt(5100.0D); - var10 = var9 * 768 >> 8; - - int var19; - int var20; - for (var11 = 1; var11 < 103; ++var11) { - for (var12 = 1; var12 < 103; ++var12) { - var13 = Tiles.Tiles_heights[var2][var12 + 1][var11] - Tiles.Tiles_heights[var2][var12 - 1][var11]; - var14 = Tiles.Tiles_heights[var2][var12][var11 + 1] - Tiles.Tiles_heights[var2][var12][var11 - 1]; - var15 = (int)Math.sqrt((double)(var14 * var14 + var13 * var13 + 65536)); - var16 = (var13 << 8) / var15; - var17 = 65536 / var15; - var18 = (var14 << 8) / var15; - var19 = (var16 * -50 + var18 * -50 + var17 * -10) / var10 + 96; - var20 = (var44[var12][var11 + 1] >> 3) + (var44[var12 - 1][var11] >> 2) + (var44[var12][var11 - 1] >> 2) + (var44[var12 + 1][var11] >> 3) + (var44[var12][var11] >> 1); - class160.field1977[var12][var11] = var19 - var20; - } - } - - for (var11 = 0; var11 < 104; ++var11) { - UserComparator7.Tiles_hue[var11] = 0; - TileItem.Tiles_saturation[var11] = 0; - class1.Tiles_lightness[var11] = 0; - class42.Tiles_hueMultiplier[var11] = 0; - Tiles.field488[var11] = 0; - } - - for (var11 = -5; var11 < 109; ++var11) { - for (var12 = 0; var12 < 104; ++var12) { - var13 = var11 + 5; - int var10002; - if (var13 >= 0 && var13 < 104) { - var14 = Tiles.field476[var2][var13][var12] & 255; - if (var14 > 0) { - FloorUnderlayDefinition var49 = ServerPacket.FloorUnderlayDefinition_get(var14 - 1); - var10000 = UserComparator7.Tiles_hue; - var10000[var12] += var49.hue; - var10000 = TileItem.Tiles_saturation; - var10000[var12] += var49.saturation; - var10000 = class1.Tiles_lightness; - var10000[var12] += var49.lightness; - var10000 = class42.Tiles_hueMultiplier; - var10000[var12] += var49.hueMultiplier; - var10002 = Tiles.field488[var12]++; - } - } - - var14 = var11 - 5; - if (var14 >= 0 && var14 < 104) { - var15 = Tiles.field476[var2][var14][var12] & 255; - if (var15 > 0) { - FloorUnderlayDefinition var45 = ServerPacket.FloorUnderlayDefinition_get(var15 - 1); - var10000 = UserComparator7.Tiles_hue; - var10000[var12] -= var45.hue; - var10000 = TileItem.Tiles_saturation; - var10000[var12] -= var45.saturation; - var10000 = class1.Tiles_lightness; - var10000[var12] -= var45.lightness; - var10000 = class42.Tiles_hueMultiplier; - var10000[var12] -= var45.hueMultiplier; - var10002 = Tiles.field488[var12]--; - } - } - } - - if (var11 >= 1 && var11 < 103) { - var12 = 0; - var13 = 0; - var14 = 0; - var15 = 0; - var16 = 0; - - for (var17 = -5; var17 < 109; ++var17) { - var18 = var17 + 5; - if (var18 >= 0 && var18 < 104) { - var12 += UserComparator7.Tiles_hue[var18]; - var13 += TileItem.Tiles_saturation[var18]; - var14 += class1.Tiles_lightness[var18]; - var15 += class42.Tiles_hueMultiplier[var18]; - var16 += Tiles.field488[var18]; - } - - var19 = var17 - 5; - if (var19 >= 0 && var19 < 104) { - var12 -= UserComparator7.Tiles_hue[var19]; - var13 -= TileItem.Tiles_saturation[var19]; - var14 -= class1.Tiles_lightness[var19]; - var15 -= class42.Tiles_hueMultiplier[var19]; - var16 -= Tiles.field488[var19]; - } - - if (var17 >= 1 && var17 < 103 && (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var11][var17] & 2) != 0 || (Tiles.Tiles_renderFlags[var2][var11][var17] & 16) == 0)) { - if (var2 < Tiles.Tiles_minPlane) { - Tiles.Tiles_minPlane = var2; - } - - var20 = Tiles.field476[var2][var11][var17] & 255; - int var21 = class30.field257[var2][var11][var17] & 255; - if (var20 > 0 || var21 > 0) { - int var22 = Tiles.Tiles_heights[var2][var11][var17]; - int var23 = Tiles.Tiles_heights[var2][var11 + 1][var17]; - int var24 = Tiles.Tiles_heights[var2][var11 + 1][var17 + 1]; - int var25 = Tiles.Tiles_heights[var2][var11][var17 + 1]; - int var26 = class160.field1977[var11][var17]; - int var27 = class160.field1977[var11 + 1][var17]; - int var28 = class160.field1977[var11 + 1][var17 + 1]; - int var29 = class160.field1977[var11][var17 + 1]; - int var30 = -1; - int var31 = -1; - int var32; - int var33; - int var34; - if (var20 > 0) { - var32 = var12 * 256 / var15; - var33 = var13 / var16; - var34 = var14 / var16; - var30 = Entity.hslToRgb(var32, var33, var34); - var32 = var32 + Tiles.field483 & 255; - var34 += Tiles.field486; - if (var34 < 0) { - var34 = 0; - } else if (var34 > 255) { - var34 = 255; - } - - var31 = Entity.hslToRgb(var32, var33, var34); - } - - FloorOverlayDefinition var35; - if (var2 > 0) { - boolean var51 = true; - if (var20 == 0 && Tiles.field477[var2][var11][var17] != 0) { - var51 = false; - } - - if (var21 > 0) { - var34 = var21 - 1; - var35 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var34); - FloorOverlayDefinition var46; - if (var35 != null) { - var46 = var35; - } else { - byte[] var36 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var34); - var35 = new FloorOverlayDefinition(); - if (var36 != null) { - var35.decode(new Buffer(var36), var34); - } - - var35.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var35, (long)var34); - var46 = var35; - } - - if (!var46.hideUnderlay) { - var51 = false; - } - } - - if (var51 && var23 == var22 && var22 == var24 && var25 == var22) { - var10000 = UserComparator3.field1961[var2][var11]; - var10000[var17] |= 2340; - } - } - - var32 = 0; - if (var31 != -1) { - var32 = Rasterizer3D.Rasterizer3D_colorPalette[MusicPatchNode.method3812(var31, 96)]; - } - - if (var21 == 0) { - var0.addTile(var2, var11, var17, 0, 0, -1, var22, var23, var24, var25, MusicPatchNode.method3812(var30, var26), MusicPatchNode.method3812(var30, var27), MusicPatchNode.method3812(var30, var28), MusicPatchNode.method3812(var30, var29), 0, 0, 0, 0, var32, 0); - } else { - var33 = Tiles.field477[var2][var11][var17] + 1; - byte var52 = HealthBar.field1089[var2][var11][var17]; - int var47 = var21 - 1; - FloorOverlayDefinition var37 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var47); - if (var37 != null) { - var35 = var37; - } else { - byte[] var38 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var47); - var37 = new FloorOverlayDefinition(); - if (var38 != null) { - var37.decode(new Buffer(var38), var47); - } - - var37.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var37, (long)var47); - var35 = var37; - } - - int var48 = var35.texture; - int var39; - int var40; - int var41; - int var42; - if (var48 >= 0) { - var40 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var48); - var39 = -1; - } else if (var35.primaryRgb == 16711935) { - var39 = -2; - var48 = -1; - var40 = -2; - } else { - var39 = Entity.hslToRgb(var35.hue, var35.saturation, var35.lightness); - var41 = var35.hue + Tiles.field483 & 255; - var42 = var35.lightness + Tiles.field486; - if (var42 < 0) { - var42 = 0; - } else if (var42 > 255) { - var42 = 255; - } - - var40 = Entity.hslToRgb(var41, var35.saturation, var42); - } - - var41 = 0; - if (var40 != -2) { - var41 = Rasterizer3D.Rasterizer3D_colorPalette[FloorDecoration.method2812(var40, 96)]; - } - - if (var35.secondaryRgb != -1) { - var42 = var35.secondaryHue + Tiles.field483 & 255; - int var43 = var35.secondaryLightness + Tiles.field486; - if (var43 < 0) { - var43 = 0; - } else if (var43 > 255) { - var43 = 255; - } - - var40 = Entity.hslToRgb(var42, var35.secondarySaturation, var43); - var41 = Rasterizer3D.Rasterizer3D_colorPalette[FloorDecoration.method2812(var40, 96)]; - } - - var0.addTile(var2, var11, var17, var33, var52, var48, var22, var23, var24, var25, MusicPatchNode.method3812(var30, var26), MusicPatchNode.method3812(var30, var27), MusicPatchNode.method3812(var30, var28), MusicPatchNode.method3812(var30, var29), FloorDecoration.method2812(var39, var26), FloorDecoration.method2812(var39, var27), FloorDecoration.method2812(var39, var28), FloorDecoration.method2812(var39, var29), var32, var41); - } - } - } - } - } - } - - for (var11 = 1; var11 < 103; ++var11) { - for (var12 = 1; var12 < 103; ++var12) { - var0.setTileMinPlane(var2, var12, var11, Language.method3634(var2, var12, var11)); - } - } - - Tiles.field476[var2] = null; - class30.field257[var2] = null; - Tiles.field477[var2] = null; - HealthBar.field1089[var2] = null; - Tiles.field473[var2] = null; - } - - var0.method3072(-50, -10, -50); - - for (var2 = 0; var2 < 104; ++var2) { - for (var3 = 0; var3 < 104; ++var3) { - if ((Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { - var0.setLinkBelow(var2, var3); - } - } - } - - var2 = 1; - var3 = 2; - var4 = 4; - - for (var5 = 0; var5 < 4; ++var5) { - if (var5 > 0) { - var2 <<= 3; - var3 <<= 3; - var4 <<= 3; - } - - for (int var6 = 0; var6 <= var5; ++var6) { - for (int var7 = 0; var7 <= 104; ++var7) { - for (int var8 = 0; var8 <= 104; ++var8) { - short var50; - if ((UserComparator3.field1961[var6][var8][var7] & var2) != 0) { - var9 = var7; - var10 = var7; - var11 = var6; - - for (var12 = var6; var9 > 0 && (UserComparator3.field1961[var6][var8][var9 - 1] & var2) != 0; --var9) { - } - - while (var10 < 104 && (UserComparator3.field1961[var6][var8][var10 + 1] & var2) != 0) { - ++var10; - } - - label495: - while (var11 > 0) { - for (var13 = var9; var13 <= var10; ++var13) { - if ((UserComparator3.field1961[var11 - 1][var8][var13] & var2) == 0) { - break label495; - } - } - - --var11; - } - - label484: - while (var12 < var5) { - for (var13 = var9; var13 <= var10; ++var13) { - if ((UserComparator3.field1961[var12 + 1][var8][var13] & var2) == 0) { - break label484; - } - } - - ++var12; - } - - var13 = (var10 - var9 + 1) * (var12 + 1 - var11); - if (var13 >= 8) { - var50 = 240; - var15 = Tiles.Tiles_heights[var12][var8][var9] - var50; - var16 = Tiles.Tiles_heights[var11][var8][var9]; - Scene.Scene_addOccluder(var5, 1, var8 * 128, var8 * 128, var9 * 128, var10 * 128 + 128, var15, var16); - - for (var17 = var11; var17 <= var12; ++var17) { - for (var18 = var9; var18 <= var10; ++var18) { - var10000 = UserComparator3.field1961[var17][var8]; - var10000[var18] &= ~var2; - } - } - } - } - - if ((UserComparator3.field1961[var6][var8][var7] & var3) != 0) { - var9 = var8; - var10 = var8; - var11 = var6; - - for (var12 = var6; var9 > 0 && (UserComparator3.field1961[var6][var9 - 1][var7] & var3) != 0; --var9) { - } - - while (var10 < 104 && (UserComparator3.field1961[var6][var10 + 1][var7] & var3) != 0) { - ++var10; - } - - label548: - while (var11 > 0) { - for (var13 = var9; var13 <= var10; ++var13) { - if ((UserComparator3.field1961[var11 - 1][var13][var7] & var3) == 0) { - break label548; - } - } - - --var11; - } - - label537: - while (var12 < var5) { - for (var13 = var9; var13 <= var10; ++var13) { - if ((UserComparator3.field1961[var12 + 1][var13][var7] & var3) == 0) { - break label537; - } - } - - ++var12; - } - - var13 = (var10 - var9 + 1) * (var12 + 1 - var11); - if (var13 >= 8) { - var50 = 240; - var15 = Tiles.Tiles_heights[var12][var9][var7] - var50; - var16 = Tiles.Tiles_heights[var11][var9][var7]; - Scene.Scene_addOccluder(var5, 2, var9 * 128, var10 * 128 + 128, var7 * 128, var7 * 128, var15, var16); - - for (var17 = var11; var17 <= var12; ++var17) { - for (var18 = var9; var18 <= var10; ++var18) { - var10000 = UserComparator3.field1961[var17][var18]; - var10000[var7] &= ~var3; - } - } - } - } - - if ((UserComparator3.field1961[var6][var8][var7] & var4) != 0) { - var9 = var8; - var10 = var8; - var11 = var7; - - for (var12 = var7; var11 > 0 && (UserComparator3.field1961[var6][var8][var11 - 1] & var4) != 0; --var11) { - } - - while (var12 < 104 && (UserComparator3.field1961[var6][var8][var12 + 1] & var4) != 0) { - ++var12; - } - - label601: - while (var9 > 0) { - for (var13 = var11; var13 <= var12; ++var13) { - if ((UserComparator3.field1961[var6][var9 - 1][var13] & var4) == 0) { - break label601; - } - } - - --var9; - } - - label590: - while (var10 < 104) { - for (var13 = var11; var13 <= var12; ++var13) { - if ((UserComparator3.field1961[var6][var10 + 1][var13] & var4) == 0) { - break label590; - } - } - - ++var10; - } - - if ((var10 - var9 + 1) * (var12 - var11 + 1) >= 4) { - var13 = Tiles.Tiles_heights[var6][var9][var11]; - Scene.Scene_addOccluder(var5, 4, var9 * 128, var10 * 128 + 128, var11 * 128, var12 * 128 + 128, var13, var13); - - for (var14 = var9; var14 <= var10; ++var14) { - for (var15 = var11; var15 <= var12; ++var15) { - var10000 = UserComparator3.field1961[var6][var14]; - var10000[var15] &= ~var4; - } - } - } - } - } - } - } - } - - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "7" - ) - protected static final void method3259() { - FriendSystem.clock.mark(); - - int var0; - for (var0 = 0; var0 < 32; ++var0) { - GameShell.field427[var0] = 0L; - } - - for (var0 = 0; var0 < 32; ++var0) { - GameShell.field418[var0] = 0L; - } - - GameShell.field423 = 0; - } - - @ObfuscatedName("jt") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2004053653" - ) - @Export("FriendSystem_invalidateFriends") - static final void FriendSystem_invalidateFriends() { - for (int var0 = 0; var0 < Players.Players_count; ++var0) { - Player var1 = Client.players[Players.Players_indices[var0]]; - var1.clearIsFriend(); - } - - class192.method3648(); - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.clearFriends(); - } - - } -} +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("eg") +@Implements("WallDecoration") +public final class WallDecoration { + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1573146665 + ) + @Export("canvasHeight") + public static int canvasHeight; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 500861795 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1324796191 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1787906731 + ) + @Export("x") + int x; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -337099317 + ) + @Export("y") + int y; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1549979331 + ) + @Export("orientation2") + int orientation2; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 43570649 + ) + @Export("xOffset") + int xOffset; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -396532533 + ) + @Export("yOffset") + int yOffset; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("entity1") + public Entity entity1; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Ler;" + ) + @Export("entity2") + public Entity entity2; + @ObfuscatedName("i") + @ObfuscatedGetter( + longValue = 463073903231293703L + ) + @Export("tag") + public long tag; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 14602599 + ) + @Export("flags") + int flags; + + WallDecoration() { + this.tag = 0L; + this.flags = 0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Lif;", + garbageValue = "-746198187" + ) + @Export("getParamDefinition") + public static ParamDefinition getParamDefinition(int var0) { + ParamDefinition var1 = (ParamDefinition)ParamDefinition.ParamDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = ParamDefinition.ParamDefinition_archive.takeFile(11, var0); + var1 = new ParamDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + ParamDefinition.ParamDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("fz") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1910753346" + ) + static final void method3251() { + for (int var0 = 0; var0 < Client.npcCount; ++var0) { + int var1 = Client.npcIndices[var0]; + NPC var2 = Client.npcs[var1]; + if (var2 != null) { + class325.calculateActorPosition(var2, var2.definition.size); + } + } + + } +} diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index 4d222d9322..a619e5d0a4 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -1,1569 +1,1526 @@ -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("hy") -@Implements("Widget") -public class Widget extends Node { - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("Widget_cachedSprites") - public static EvictingDualNodeHashTable Widget_cachedSprites; - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("Widget_cachedModels") - public static EvictingDualNodeHashTable Widget_cachedModels; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("Widget_cachedFonts") - public static EvictingDualNodeHashTable Widget_cachedFonts; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("Widget_cachedSpriteMasks") - public static EvictingDualNodeHashTable Widget_cachedSpriteMasks; - @ObfuscatedName("i") - public static boolean field2668; - @ObfuscatedName("q") - @Export("isIf3") - public boolean isIf3; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -1907672421 - ) - @Export("id") - public int id; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1945226707 - ) - @Export("childIndex") - public int childIndex; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -772276819 - ) - @Export("type") - public int type; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 328267473 - ) - @Export("buttonType") - public int buttonType; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -454562685 - ) - @Export("contentType") - public int contentType; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 895820023 - ) - @Export("xAlignment") - public int xAlignment; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 1916882485 - ) - @Export("yAlignment") - public int yAlignment; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 2100474417 - ) - @Export("widthAlignment") - public int widthAlignment; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -1973607169 - ) - @Export("heightAlignment") - public int heightAlignment; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = 1858248381 - ) - @Export("rawX") - public int rawX; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = 240913587 - ) - @Export("rawY") - public int rawY; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 861849893 - ) - @Export("rawWidth") - public int rawWidth; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = -2044035335 - ) - @Export("rawHeight") - public int rawHeight; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = -761589597 - ) - @Export("x") - public int x; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 319484797 - ) - @Export("y") - public int y; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -1718038251 - ) - @Export("width") - public int width; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -674853749 - ) - @Export("height") - public int height; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 1080920081 - ) - public int field2632; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -907952667 - ) - public int field2556; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = 1035091827 - ) - @Export("parentId") - public int parentId; - @ObfuscatedName("af") - @Export("isHidden") - public boolean isHidden; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 104714479 - ) - @Export("scrollX") - public int scrollX; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 170496061 - ) - @Export("scrollY") - public int scrollY; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -830534739 - ) - @Export("scrollWidth") - public int scrollWidth; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -1176297831 - ) - @Export("scrollHeight") - public int scrollHeight; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 949515665 - ) - @Export("color") - public int color; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 921596793 - ) - @Export("color2") - public int color2; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -2025808895 - ) - @Export("mouseOverColor") - public int mouseOverColor; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -195673481 - ) - @Export("mouseOverColor2") - public int mouseOverColor2; - @ObfuscatedName("az") - @Export("fill") - public boolean fill; - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "Llq;" - ) - @Export("fillMode") - public FillMode fillMode; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = 1731186671 - ) - @Export("transparencyTop") - public int transparencyTop; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -1268087391 - ) - @Export("transparencyBot") - public int transparencyBot; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -2139231195 - ) - @Export("lineWid") - public int lineWid; - @ObfuscatedName("bg") - public boolean field2675; - @ObfuscatedName("bn") - @ObfuscatedGetter( - intValue = 934417717 - ) - @Export("spriteId2") - public int spriteId2; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = 851339945 - ) - @Export("spriteId") - public int spriteId; - @ObfuscatedName("bp") - @ObfuscatedGetter( - intValue = 1927880711 - ) - @Export("spriteAngle") - public int spriteAngle; - @ObfuscatedName("bu") - @Export("spriteTiling") - public boolean spriteTiling; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = -339926563 - ) - @Export("outline") - public int outline; - @ObfuscatedName("bv") - @ObfuscatedGetter( - intValue = -300201401 - ) - @Export("spriteShadow") - public int spriteShadow; - @ObfuscatedName("bf") - @Export("spriteFlipV") - public boolean spriteFlipV; - @ObfuscatedName("bm") - @Export("spriteFlipH") - public boolean spriteFlipH; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = 37345555 - ) - @Export("modelType") - public int modelType; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = -679429735 - ) - @Export("modelId") - public int modelId; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = -1068399227 - ) - @Export("modelType2") - int modelType2; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = -1060754229 - ) - @Export("modelId2") - int modelId2; - @ObfuscatedName("bd") - @ObfuscatedGetter( - intValue = -1598461627 - ) - @Export("sequenceId") - public int sequenceId; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = 903177661 - ) - @Export("sequenceId2") - public int sequenceId2; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = 968200291 - ) - @Export("modelOffsetX") - public int modelOffsetX; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = -1396301049 - ) - @Export("modelOffsetY") - public int modelOffsetY; - @ObfuscatedName("be") - @ObfuscatedGetter( - intValue = 2074763115 - ) - @Export("modelAngleX") - public int modelAngleX; - @ObfuscatedName("bl") - @ObfuscatedGetter( - intValue = -741034463 - ) - @Export("modelAngleY") - public int modelAngleY; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = 1685270553 - ) - @Export("modelAngleZ") - public int modelAngleZ; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = 1323312973 - ) - @Export("modelZoom") - public int modelZoom; - @ObfuscatedName("bz") - @ObfuscatedGetter( - intValue = -2064112683 - ) - public int field2582; - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = 2124528455 - ) - public int field2594; - @ObfuscatedName("br") - @Export("modelOrthog") - public boolean modelOrthog; - @ObfuscatedName("bx") - @Export("modelTransparency") - public boolean modelTransparency; - @ObfuscatedName("bq") - @ObfuscatedGetter( - intValue = 1270925291 - ) - @Export("itemQuantityMode") - public int itemQuantityMode; - @ObfuscatedName("cb") - @ObfuscatedGetter( - intValue = 1153372709 - ) - @Export("fontId") - public int fontId; - @ObfuscatedName("ct") - @Export("text") - public String text; - @ObfuscatedName("ch") - @Export("text2") - public String text2; - @ObfuscatedName("cc") - @ObfuscatedGetter( - intValue = 1787043177 - ) - @Export("textLineHeight") - public int textLineHeight; - @ObfuscatedName("cv") - @ObfuscatedGetter( - intValue = 1569630349 - ) - @Export("textXAlignment") - public int textXAlignment; - @ObfuscatedName("cr") - @ObfuscatedGetter( - intValue = -324536737 - ) - @Export("textYAlignment") - public int textYAlignment; - @ObfuscatedName("cl") - @Export("textShadowed") - public boolean textShadowed; - @ObfuscatedName("ca") - @ObfuscatedGetter( - intValue = -1161115165 - ) - @Export("paddingX") - public int paddingX; - @ObfuscatedName("ck") - @ObfuscatedGetter( - intValue = 1095310931 - ) - @Export("paddingY") - public int paddingY; - @ObfuscatedName("cm") - @Export("inventoryXOffsets") - public int[] inventoryXOffsets; - @ObfuscatedName("ce") - @Export("inventoryYOffsets") - public int[] inventoryYOffsets; - @ObfuscatedName("cn") - @Export("inventorySprites") - public int[] inventorySprites; - @ObfuscatedName("cj") - @Export("itemActions") - public String[] itemActions; - @ObfuscatedName("cw") - @ObfuscatedGetter( - intValue = 1071371379 - ) - @Export("clickMask") - public int clickMask; - @ObfuscatedName("cu") - public boolean field2612; - @ObfuscatedName("cd") - public byte[][] field2671; - @ObfuscatedName("cs") - public byte[][] field2614; - @ObfuscatedName("cq") - public int[] field2615; - @ObfuscatedName("co") - public int[] field2616; - @ObfuscatedName("dj") - @Export("dataText") - public String dataText; - @ObfuscatedName("dh") - @Export("actions") - public String[] actions; - @ObfuscatedName("do") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("parent") - public Widget parent; - @ObfuscatedName("dm") - @ObfuscatedGetter( - intValue = -429080415 - ) - @Export("dragZoneSize") - public int dragZoneSize; - @ObfuscatedName("dy") - @ObfuscatedGetter( - intValue = -1509482099 - ) - @Export("dragThreshold") - public int dragThreshold; - @ObfuscatedName("dd") - @Export("isScrollBar") - public boolean isScrollBar; - @ObfuscatedName("dp") - @Export("spellActionName") - public String spellActionName; - @ObfuscatedName("dn") - @Export("hasListener") - public boolean hasListener; - @ObfuscatedName("de") - @Export("onLoad") - public Object[] onLoad; - @ObfuscatedName("da") - @Export("onClick") - public Object[] onClick; - @ObfuscatedName("dl") - @Export("onClickRepeat") - public Object[] onClickRepeat; - @ObfuscatedName("dg") - @Export("onRelease") - public Object[] onRelease; - @ObfuscatedName("dz") - @Export("onHold") - public Object[] onHold; - @ObfuscatedName("dw") - @Export("onMouseOver") - public Object[] onMouseOver; - @ObfuscatedName("di") - @Export("onMouseRepeat") - public Object[] onMouseRepeat; - @ObfuscatedName("dt") - @Export("onMouseLeave") - public Object[] onMouseLeave; - @ObfuscatedName("dc") - @Export("onDrag") - public Object[] onDrag; - @ObfuscatedName("ds") - @Export("onDragComplete") - public Object[] onDragComplete; - @ObfuscatedName("dv") - @Export("onTargetEnter") - public Object[] onTargetEnter; - @ObfuscatedName("db") - @Export("onTargetLeave") - public Object[] onTargetLeave; - @ObfuscatedName("du") - @Export("onVarTransmit") - public Object[] onVarTransmit; - @ObfuscatedName("dx") - @Export("varTransmitTriggers") - public int[] varTransmitTriggers; - @ObfuscatedName("dq") - @Export("onInvTransmit") - public Object[] onInvTransmit; - @ObfuscatedName("dr") - @Export("invTransmitTriggers") - public int[] invTransmitTriggers; - @ObfuscatedName("dk") - @Export("onStatTransmit") - public Object[] onStatTransmit; - @ObfuscatedName("df") - @Export("statTransmitTriggers") - public int[] statTransmitTriggers; - @ObfuscatedName("ej") - @Export("onTimer") - public Object[] onTimer; - @ObfuscatedName("ec") - @Export("onOp") - public Object[] onOp; - @ObfuscatedName("en") - @Export("onScroll") - public Object[] onScroll; - @ObfuscatedName("ep") - @Export("onChatTransmit") - public Object[] onChatTransmit; - @ObfuscatedName("eo") - @Export("onKey") - public Object[] onKey; - @ObfuscatedName("el") - @Export("onFriendTransmit") - public Object[] onFriendTransmit; - @ObfuscatedName("ea") - @Export("onClanTransmit") - public Object[] onClanTransmit; - @ObfuscatedName("em") - @Export("onMiscTransmit") - public Object[] onMiscTransmit; - @ObfuscatedName("ev") - @Export("onDialogAbort") - public Object[] onDialogAbort; - @ObfuscatedName("eg") - @Export("onSubChange") - public Object[] onSubChange; - @ObfuscatedName("ek") - @Export("onResize") - public Object[] onResize; - @ObfuscatedName("es") - @Export("onStockTransmit") - public Object[] onStockTransmit; - @ObfuscatedName("ef") - public Object[] field2655; - @ObfuscatedName("ed") - @Export("cs1Instructions") - public int[][] cs1Instructions; - @ObfuscatedName("eq") - @Export("cs1Comparisons") - public int[] cs1Comparisons; - @ObfuscatedName("et") - @Export("cs1ComparisonValues") - public int[] cs1ComparisonValues; - @ObfuscatedName("eb") - @ObfuscatedGetter( - intValue = 2026797669 - ) - @Export("mouseOverRedirect") - public int mouseOverRedirect; - @ObfuscatedName("ei") - @Export("spellName") - public String spellName; - @ObfuscatedName("ey") - @Export("buttonText") - public String buttonText; - @ObfuscatedName("ez") - @Export("itemIds") - public int[] itemIds; - @ObfuscatedName("ee") - @Export("itemQuantities") - public int[] itemQuantities; - @ObfuscatedName("er") - @ObfuscatedGetter( - intValue = 1832105135 - ) - @Export("itemId") - public int itemId; - @ObfuscatedName("eh") - @ObfuscatedGetter( - intValue = 79160241 - ) - @Export("itemQuantity") - public int itemQuantity; - @ObfuscatedName("eu") - @ObfuscatedGetter( - intValue = -511310017 - ) - @Export("modelFrame") - public int modelFrame; - @ObfuscatedName("ew") - @ObfuscatedGetter( - intValue = 1679664873 - ) - @Export("modelFrameCycle") - public int modelFrameCycle; - @ObfuscatedName("ex") - @ObfuscatedSignature( - signature = "[Lhy;" - ) - @Export("children") - public Widget[] children; - @ObfuscatedName("ft") - @Export("containsMouse") - public boolean containsMouse; - @ObfuscatedName("ff") - @Export("isClicked") - public boolean isClicked; - @ObfuscatedName("fh") - @ObfuscatedGetter( - intValue = 2080687433 - ) - public int field2529; - @ObfuscatedName("fm") - @ObfuscatedGetter( - intValue = 1067729441 - ) - public int field2672; - @ObfuscatedName("fr") - @ObfuscatedGetter( - intValue = -1462037203 - ) - public int field2673; - @ObfuscatedName("fd") - @ObfuscatedGetter( - intValue = -884787153 - ) - public int field2674; - @ObfuscatedName("fe") - @ObfuscatedGetter( - intValue = -1645890297 - ) - @Export("rootIndex") - public int rootIndex; - @ObfuscatedName("fz") - @ObfuscatedGetter( - intValue = 1918887051 - ) - @Export("cycle") - public int cycle; - @ObfuscatedName("fs") - public int[] field2656; - @ObfuscatedName("fc") - @Export("noClickThrough") - public boolean noClickThrough; - @ObfuscatedName("fq") - @Export("noScrollThrough") - public boolean noScrollThrough; - @ObfuscatedName("fy") - public boolean field2680; - - static { - Widget_cachedSprites = new EvictingDualNodeHashTable(200); - Widget_cachedModels = new EvictingDualNodeHashTable(50); - Widget_cachedFonts = new EvictingDualNodeHashTable(20); - Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); - field2668 = false; - } - - public Widget() { - this.isIf3 = false; - this.id = -1; - this.childIndex = -1; - this.buttonType = 0; - this.contentType = 0; - this.xAlignment = 0; - this.yAlignment = 0; - this.widthAlignment = 0; - this.heightAlignment = 0; - this.rawX = 0; - this.rawY = 0; - this.rawWidth = 0; - this.rawHeight = 0; - this.x = 0; - this.y = 0; - this.width = 0; - this.height = 0; - this.field2632 = 1; - this.field2556 = 1; - this.parentId = -1; - this.isHidden = false; - this.scrollX = 0; - this.scrollY = 0; - this.scrollWidth = 0; - this.scrollHeight = 0; - this.color = 0; - this.color2 = 0; - this.mouseOverColor = 0; - this.mouseOverColor2 = 0; - this.fill = false; - this.fillMode = FillMode.SOLID; - this.transparencyTop = 0; - this.transparencyBot = 0; - this.lineWid = 1; - this.field2675 = false; - this.spriteId2 = -1; - this.spriteId = -1; - this.spriteAngle = 0; - this.spriteTiling = false; - this.outline = 0; - this.spriteShadow = 0; - this.modelType = 1; - this.modelId = -1; - this.modelType2 = 1; - this.modelId2 = -1; - this.sequenceId = -1; - this.sequenceId2 = -1; - this.modelOffsetX = 0; - this.modelOffsetY = 0; - this.modelAngleX = 0; - this.modelAngleY = 0; - this.modelAngleZ = 0; - this.modelZoom = 100; - this.field2582 = 0; - this.field2594 = 0; - this.modelOrthog = false; - this.modelTransparency = false; - this.itemQuantityMode = 2; - this.fontId = -1; - this.text = ""; - this.text2 = ""; - this.textLineHeight = 0; - this.textXAlignment = 0; - this.textYAlignment = 0; - this.textShadowed = false; - this.paddingX = 0; - this.paddingY = 0; - this.clickMask = 0; - this.field2612 = false; - this.dataText = ""; - this.parent = null; - this.dragZoneSize = 0; - this.dragThreshold = 0; - this.isScrollBar = false; - this.spellActionName = ""; - this.hasListener = false; - this.mouseOverRedirect = -1; - this.spellName = ""; - this.buttonText = "Ok"; - this.itemId = -1; - this.itemQuantity = 0; - this.modelFrame = 0; - this.modelFrameCycle = 0; - this.containsMouse = false; - this.isClicked = false; - this.field2529 = -1; - this.field2672 = 0; - this.field2673 = 0; - this.field2674 = 0; - this.rootIndex = -1; - this.cycle = -1; - this.noClickThrough = false; - this.noScrollThrough = false; - this.field2680 = false; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkz;B)V", - garbageValue = "2" - ) - @Export("decodeLegacy") - void decodeLegacy(Buffer var1) { - this.isIf3 = false; - this.type = var1.readUnsignedByte(); - this.buttonType = var1.readUnsignedByte(); - this.contentType = var1.readUnsignedShort(); - this.rawX = var1.readShort(); - this.rawY = var1.readShort(); - this.rawWidth = var1.readUnsignedShort(); - this.rawHeight = var1.readUnsignedShort(); - this.transparencyTop = var1.readUnsignedByte(); - this.parentId = var1.readUnsignedShort(); - if (this.parentId == 65535) { - this.parentId = -1; - } else { - this.parentId += this.id & -65536; - } - - this.mouseOverRedirect = var1.readUnsignedShort(); - if (this.mouseOverRedirect == 65535) { - this.mouseOverRedirect = -1; - } - - int var2 = var1.readUnsignedByte(); - int var3; - if (var2 > 0) { - this.cs1Comparisons = new int[var2]; - this.cs1ComparisonValues = new int[var2]; - - for (var3 = 0; var3 < var2; ++var3) { - this.cs1Comparisons[var3] = var1.readUnsignedByte(); - this.cs1ComparisonValues[var3] = var1.readUnsignedShort(); - } - } - - var3 = var1.readUnsignedByte(); - int var4; - int var5; - int var6; - if (var3 > 0) { - this.cs1Instructions = new int[var3][]; - - for (var4 = 0; var4 < var3; ++var4) { - var5 = var1.readUnsignedShort(); - this.cs1Instructions[var4] = new int[var5]; - - for (var6 = 0; var6 < var5; ++var6) { - this.cs1Instructions[var4][var6] = var1.readUnsignedShort(); - if (this.cs1Instructions[var4][var6] == 65535) { - this.cs1Instructions[var4][var6] = -1; - } - } - } - } - - if (this.type == 0) { - this.scrollHeight = var1.readUnsignedShort(); - this.isHidden = var1.readUnsignedByte() == 1; - } - - if (this.type == 1) { - var1.readUnsignedShort(); - var1.readUnsignedByte(); - } - - if (this.type == 2) { - this.itemIds = new int[this.rawWidth * this.rawHeight]; - this.itemQuantities = new int[this.rawWidth * this.rawHeight]; - var4 = var1.readUnsignedByte(); - if (var4 == 1) { - this.clickMask |= 268435456; - } - - var5 = var1.readUnsignedByte(); - if (var5 == 1) { - this.clickMask |= 1073741824; - } - - var6 = var1.readUnsignedByte(); - if (var6 == 1) { - this.clickMask |= Integer.MIN_VALUE; - } - - int var7 = var1.readUnsignedByte(); - if (var7 == 1) { - this.clickMask |= 536870912; - } - - this.paddingX = var1.readUnsignedByte(); - this.paddingY = var1.readUnsignedByte(); - this.inventoryXOffsets = new int[20]; - this.inventoryYOffsets = new int[20]; - this.inventorySprites = new int[20]; - - int var8; - for (var8 = 0; var8 < 20; ++var8) { - int var9 = var1.readUnsignedByte(); - if (var9 == 1) { - this.inventoryXOffsets[var8] = var1.readShort(); - this.inventoryYOffsets[var8] = var1.readShort(); - this.inventorySprites[var8] = var1.readInt(); - } else { - this.inventorySprites[var8] = -1; - } - } - - this.itemActions = new String[5]; - - for (var8 = 0; var8 < 5; ++var8) { - String var10 = var1.readStringCp1252NullTerminated(); - if (var10.length() > 0) { - this.itemActions[var8] = var10; - this.clickMask |= 1 << var8 + 23; - } - } - } - - if (this.type == 3) { - this.fill = var1.readUnsignedByte() == 1; - } - - if (this.type == 4 || this.type == 1) { - this.textXAlignment = var1.readUnsignedByte(); - this.textYAlignment = var1.readUnsignedByte(); - this.textLineHeight = var1.readUnsignedByte(); - this.fontId = var1.readUnsignedShort(); - if (this.fontId == 65535) { - this.fontId = -1; - } - - this.textShadowed = var1.readUnsignedByte() == 1; - } - - if (this.type == 4) { - this.text = var1.readStringCp1252NullTerminated(); - this.text2 = var1.readStringCp1252NullTerminated(); - } - - if (this.type == 1 || this.type == 3 || this.type == 4) { - this.color = var1.readInt(); - } - - if (this.type == 3 || this.type == 4) { - this.color2 = var1.readInt(); - this.mouseOverColor = var1.readInt(); - this.mouseOverColor2 = var1.readInt(); - } - - if (this.type == 5) { - this.spriteId2 = var1.readInt(); - this.spriteId = var1.readInt(); - } - - if (this.type == 6) { - this.modelType = 1; - this.modelId = var1.readUnsignedShort(); - if (this.modelId == 65535) { - this.modelId = -1; - } - - this.modelType2 = 1; - this.modelId2 = var1.readUnsignedShort(); - if (this.modelId2 == 65535) { - this.modelId2 = -1; - } - - this.sequenceId = var1.readUnsignedShort(); - if (this.sequenceId == 65535) { - this.sequenceId = -1; - } - - this.sequenceId2 = var1.readUnsignedShort(); - if (this.sequenceId2 == 65535) { - this.sequenceId2 = -1; - } - - this.modelZoom = var1.readUnsignedShort(); - this.modelAngleX = var1.readUnsignedShort(); - this.modelAngleY = var1.readUnsignedShort(); - } - - if (this.type == 7) { - this.itemIds = new int[this.rawHeight * this.rawWidth]; - this.itemQuantities = new int[this.rawWidth * this.rawHeight]; - this.textXAlignment = var1.readUnsignedByte(); - this.fontId = var1.readUnsignedShort(); - if (this.fontId == 65535) { - this.fontId = -1; - } - - this.textShadowed = var1.readUnsignedByte() == 1; - this.color = var1.readInt(); - this.paddingX = var1.readShort(); - this.paddingY = var1.readShort(); - var4 = var1.readUnsignedByte(); - if (var4 == 1) { - this.clickMask |= 1073741824; - } - - this.itemActions = new String[5]; - - for (var5 = 0; var5 < 5; ++var5) { - String var11 = var1.readStringCp1252NullTerminated(); - if (var11.length() > 0) { - this.itemActions[var5] = var11; - this.clickMask |= 1 << var5 + 23; - } - } - } - - if (this.type == 8) { - this.text = var1.readStringCp1252NullTerminated(); - } - - if (this.buttonType == 2 || this.type == 2) { - this.spellActionName = var1.readStringCp1252NullTerminated(); - this.spellName = var1.readStringCp1252NullTerminated(); - var4 = var1.readUnsignedShort() & 63; - this.clickMask |= var4 << 11; - } - - if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) { - this.buttonText = var1.readStringCp1252NullTerminated(); - if (this.buttonText.length() == 0) { - if (this.buttonType == 1) { - this.buttonText = "Ok"; - } - - if (this.buttonType == 4) { - this.buttonText = "Select"; - } - - if (this.buttonType == 5) { - this.buttonText = "Select"; - } - - if (this.buttonType == 6) { - this.buttonText = "Continue"; - } - } - } - - if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5) { - this.clickMask |= 4194304; - } - - if (this.buttonType == 6) { - this.clickMask |= 1; - } - - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1464139968" - ) - @Export("decode") - void decode(Buffer var1) { - var1.readUnsignedByte(); - this.isIf3 = true; - this.type = var1.readUnsignedByte(); - this.contentType = var1.readUnsignedShort(); - this.rawX = var1.readShort(); - this.rawY = var1.readShort(); - this.rawWidth = var1.readUnsignedShort(); - if (this.type == 9) { - this.rawHeight = var1.readShort(); - } else { - this.rawHeight = var1.readUnsignedShort(); - } - - this.widthAlignment = var1.readByte(); - this.heightAlignment = var1.readByte(); - this.xAlignment = var1.readByte(); - this.yAlignment = var1.readByte(); - this.parentId = var1.readUnsignedShort(); - if (this.parentId == 65535) { - this.parentId = -1; - } else { - this.parentId += this.id & -65536; - } - - this.isHidden = var1.readUnsignedByte() == 1; - if (this.type == 0) { - this.scrollWidth = var1.readUnsignedShort(); - this.scrollHeight = var1.readUnsignedShort(); - this.noClickThrough = var1.readUnsignedByte() == 1; - } - - if (this.type == 5) { - this.spriteId2 = var1.readInt(); - this.spriteAngle = var1.readUnsignedShort(); - this.spriteTiling = var1.readUnsignedByte() == 1; - this.transparencyTop = var1.readUnsignedByte(); - this.outline = var1.readUnsignedByte(); - this.spriteShadow = var1.readInt(); - this.spriteFlipV = var1.readUnsignedByte() == 1; - this.spriteFlipH = var1.readUnsignedByte() == 1; - } - - if (this.type == 6) { - this.modelType = 1; - this.modelId = var1.readUnsignedShort(); - if (this.modelId == 65535) { - this.modelId = -1; - } - - this.modelOffsetX = var1.readShort(); - this.modelOffsetY = var1.readShort(); - this.modelAngleX = var1.readUnsignedShort(); - this.modelAngleY = var1.readUnsignedShort(); - this.modelAngleZ = var1.readUnsignedShort(); - this.modelZoom = var1.readUnsignedShort(); - this.sequenceId = var1.readUnsignedShort(); - if (this.sequenceId == 65535) { - this.sequenceId = -1; - } - - this.modelOrthog = var1.readUnsignedByte() == 1; - var1.readUnsignedShort(); - if (this.widthAlignment != 0) { - this.field2582 = var1.readUnsignedShort(); - } - - if (this.heightAlignment != 0) { - var1.readUnsignedShort(); - } - } - - if (this.type == 4) { - this.fontId = var1.readUnsignedShort(); - if (this.fontId == 65535) { - this.fontId = -1; - } - - this.text = var1.readStringCp1252NullTerminated(); - this.textLineHeight = var1.readUnsignedByte(); - this.textXAlignment = var1.readUnsignedByte(); - this.textYAlignment = var1.readUnsignedByte(); - this.textShadowed = var1.readUnsignedByte() == 1; - this.color = var1.readInt(); - } - - if (this.type == 3) { - this.color = var1.readInt(); - this.fill = var1.readUnsignedByte() == 1; - this.transparencyTop = var1.readUnsignedByte(); - } - - if (this.type == 9) { - this.lineWid = var1.readUnsignedByte(); - this.color = var1.readInt(); - this.field2675 = var1.readUnsignedByte() == 1; - } - - this.clickMask = var1.readMedium(); - this.dataText = var1.readStringCp1252NullTerminated(); - int var2 = var1.readUnsignedByte(); - if (var2 > 0) { - this.actions = new String[var2]; - - for (int var3 = 0; var3 < var2; ++var3) { - this.actions[var3] = var1.readStringCp1252NullTerminated(); - } - } - - this.dragZoneSize = var1.readUnsignedByte(); - this.dragThreshold = var1.readUnsignedByte(); - this.isScrollBar = var1.readUnsignedByte() == 1; - this.spellActionName = var1.readStringCp1252NullTerminated(); - this.onLoad = this.readListener(var1); - this.onMouseOver = this.readListener(var1); - this.onMouseLeave = this.readListener(var1); - this.onTargetLeave = this.readListener(var1); - this.onTargetEnter = this.readListener(var1); - this.onVarTransmit = this.readListener(var1); - this.onInvTransmit = this.readListener(var1); - this.onStatTransmit = this.readListener(var1); - this.onTimer = this.readListener(var1); - this.onOp = this.readListener(var1); - this.onMouseRepeat = this.readListener(var1); - this.onClick = this.readListener(var1); - this.onClickRepeat = this.readListener(var1); - this.onRelease = this.readListener(var1); - this.onHold = this.readListener(var1); - this.onDrag = this.readListener(var1); - this.onDragComplete = this.readListener(var1); - this.onScroll = this.readListener(var1); - this.varTransmitTriggers = this.readListenerTriggers(var1); - this.invTransmitTriggers = this.readListenerTriggers(var1); - this.statTransmitTriggers = this.readListenerTriggers(var1); - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Lkz;I)[Ljava/lang/Object;", - garbageValue = "1663050003" - ) - @Export("readListener") - Object[] readListener(Buffer var1) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return null; - } else { - Object[] var3 = new Object[var2]; - - for (int var4 = 0; var4 < var2; ++var4) { - int var5 = var1.readUnsignedByte(); - if (var5 == 0) { - var3[var4] = new Integer(var1.readInt()); - } else if (var5 == 1) { - var3[var4] = var1.readStringCp1252NullTerminated(); - } - } - - this.hasListener = true; - return var3; - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lkz;B)[I", - garbageValue = "-96" - ) - @Export("readListenerTriggers") - int[] readListenerTriggers(Buffer var1) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return null; - } else { - int[] var3 = new int[var2]; - - for (int var4 = 0; var4 < var2; ++var4) { - var3[var4] = var1.readInt(); - } - - return var3; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1566748217" - ) - @Export("swapItems") - public void swapItems(int var1, int var2) { - int var3 = this.itemIds[var2]; - this.itemIds[var2] = this.itemIds[var1]; - this.itemIds[var1] = var3; - var3 = this.itemQuantities[var2]; - this.itemQuantities[var2] = this.itemQuantities[var1]; - this.itemQuantities[var1] = var3; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(ZI)Lli;", - garbageValue = "29959208" - ) - @Export("getSprite") - public Sprite getSprite(boolean var1) { - field2668 = false; - int var2; - if (var1) { - var2 = this.spriteId; - } else { - var2 = this.spriteId2; - } - - if (var2 == -1) { - return null; - } else { - long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39); - Sprite var5 = (Sprite)Widget_cachedSprites.get(var3); - if (var5 != null) { - return var5; - } else { - var5 = FillMode.SpriteBuffer_getSprite(HealthBar.Widget_spritesArchive, var2, 0); - if (var5 == null) { - field2668 = true; - return null; - } else { - if (this.spriteFlipV) { - var5.flipVertically(); - } - - if (this.spriteFlipH) { - var5.flipHorizontally(); - } - - if (this.outline > 0) { - var5.pad(this.outline); - } - - if (this.outline >= 1) { - var5.outline(1); - } - - if (this.outline >= 2) { - var5.outline(16777215); - } - - if (this.spriteShadow != 0) { - var5.shadow(this.spriteShadow); - } - - Widget_cachedSprites.put(var5, var3); - return var5; - } - } - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)Lkf;", - garbageValue = "-925854975" - ) - @Export("getFont") - public Font getFont() { - field2668 = false; - if (this.fontId == -1) { - return null; - } else { - Font var1 = (Font)Widget_cachedFonts.get((long)this.fontId); - if (var1 != null) { - return var1; - } else { - AbstractArchive var3 = HealthBar.Widget_spritesArchive; - AbstractArchive var4 = WorldMapSprite.Widget_fontsArchive; - int var5 = this.fontId; - byte[] var7 = var3.takeFile(var5, 0); - boolean var6; - if (var7 == null) { - var6 = false; - } else { - GrandExchangeOfferWorldComparator.SpriteBuffer_decode(var7); - var6 = true; - } - - Font var2; - if (!var6) { - var2 = null; - } else { - byte[] var8 = var4.takeFile(var5, 0); - Font var10; - if (var8 == null) { - var10 = null; - } else { - Font var9 = new Font(var8, class325.SpriteBuffer_xOffsets, SecureRandomCallable.SpriteBuffer_yOffsets, class325.SpriteBuffer_spriteWidths, SoundSystem.SpriteBuffer_spriteHeights, class325.SpriteBuffer_spritePalette, InvDefinition.SpriteBuffer_pixels); - class192.SpriteBuffer_clear(); - var10 = var9; - } - - var2 = var10; - } - - if (var2 != null) { - Widget_cachedFonts.put(var2, (long)this.fontId); - } else { - field2668 = true; - } - - return var2; - } - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(II)Lli;", - garbageValue = "-1753653810" - ) - @Export("getInventorySprite") - public Sprite getInventorySprite(int var1) { - field2668 = false; - if (var1 >= 0 && var1 < this.inventorySprites.length) { - int var2 = this.inventorySprites[var1]; - if (var2 == -1) { - return null; - } else { - Sprite var3 = (Sprite)Widget_cachedSprites.get((long)var2); - if (var3 != null) { - return var3; - } else { - var3 = FillMode.SpriteBuffer_getSprite(HealthBar.Widget_spritesArchive, var2, 0); - if (var3 != null) { - Widget_cachedSprites.put(var3, (long)var2); - } else { - field2668 = true; - } - - return var3; - } - } - } else { - return null; - } - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(Liw;IZLhl;I)Ldr;", - garbageValue = "927690576" - ) - @Export("getModel") - public Model getModel(SequenceDefinition var1, int var2, boolean var3, PlayerAppearance var4) { - field2668 = false; - int var5; - int var6; - if (var3) { - var5 = this.modelType2; - var6 = this.modelId2; - } else { - var5 = this.modelType; - var6 = this.modelId; - } - - if (var5 == 0) { - return null; - } else if (var5 == 1 && var6 == -1) { - return null; - } else { - Model var7 = (Model)Widget_cachedModels.get((long)(var6 + (var5 << 16))); - if (var7 == null) { - ModelData var8; - if (var5 == 1) { - var8 = ModelData.ModelData_get(class293.Widget_modelsArchive, var6, 0); - if (var8 == null) { - field2668 = true; - return null; - } - - var7 = var8.toModel(64, 768, -50, -10, -50); - } - - if (var5 == 2) { - var8 = FontName.getNpcDefinition(var6).getModelData(); - if (var8 == null) { - field2668 = true; - return null; - } - - var7 = var8.toModel(64, 768, -50, -10, -50); - } - - if (var5 == 3) { - if (var4 == null) { - return null; - } - - var8 = var4.getModelData(); - if (var8 == null) { - field2668 = true; - return null; - } - - var7 = var8.toModel(64, 768, -50, -10, -50); - } - - if (var5 == 4) { - ItemDefinition var9 = Player.ItemDefinition_get(var6); - var8 = var9.getModelData(10); - if (var8 == null) { - field2668 = true; - return null; - } - - var7 = var8.toModel(var9.ambient + 64, var9.contrast + 768, -50, -10, -50); - } - - Widget_cachedModels.put(var7, (long)(var6 + (var5 << 16))); - } - - if (var1 != null) { - var7 = var1.transformWidgetModel(var7, var2); - } - - return var7; - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(ZI)Lhi;", - garbageValue = "-689140907" - ) - @Export("getSpriteMask") - public SpriteMask getSpriteMask(boolean var1) { - if (this.spriteId == -1) { - var1 = false; - } - - int var2 = var1 ? this.spriteId : this.spriteId2; - if (var2 == -1) { - return null; - } else { - long var3 = ((this.spriteFlipH ? 1L : 0L) << 39) + ((this.spriteFlipV ? 1L : 0L) << 38) + (long)var2 + ((long)this.outline << 36) + ((long)this.spriteShadow << 40); - SpriteMask var5 = (SpriteMask)Widget_cachedSpriteMasks.get(var3); - if (var5 != null) { - return var5; - } else { - Sprite var6 = this.getSprite(var1); - if (var6 == null) { - return null; - } else { - Sprite var7 = var6.copyNormalized(); - int[] var8 = new int[var7.subHeight]; - int[] var9 = new int[var7.subHeight]; - - for (int var10 = 0; var10 < var7.subHeight; ++var10) { - int var11 = 0; - int var12 = var7.subWidth; - - int var13; - for (var13 = 0; var13 < var7.subWidth; ++var13) { - if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { - var11 = var13; - break; - } - } - - for (var13 = var7.subWidth - 1; var13 >= var11; --var13) { - if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { - var12 = var13 + 1; - break; - } - } - - var8[var10] = var11; - var9[var10] = var12 - var11; - } - - var5 = new SpriteMask(var7.subWidth, var7.subHeight, var9, var8, var2); - Widget_cachedSpriteMasks.put(var5, var3); - return var5; - } - } - } - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", - garbageValue = "-1185181318" - ) - @Export("setAction") - public void setAction(int var1, String var2) { - if (this.actions == null || this.actions.length <= var1) { - String[] var3 = new String[var1 + 1]; - if (this.actions != null) { - for (int var4 = 0; var4 < this.actions.length; ++var4) { - var3[var4] = this.actions[var4]; - } - } - - this.actions = var3; - } - - this.actions[var1] = var2; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-847806020" - ) - static void method4074() { - for (ObjectSound var0 = (ObjectSound)ObjectSound.objectSounds.last(); var0 != null; var0 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var0.stream1 != null) { - class51.pcmStreamMixer.removeSubStream(var0.stream1); - var0.stream1 = null; - } - - if (var0.stream2 != null) { - class51.pcmStreamMixer.removeSubStream(var0.stream2); - var0.stream2 = null; - } - } - - ObjectSound.objectSounds.clear(); - } -} +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("ho") +@Implements("Widget") +public class Widget extends Node { + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("Widget_archive") + static AbstractArchive Widget_archive; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("Widget_cachedSprites") + public static EvictingDualNodeHashTable Widget_cachedSprites; + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("Widget_cachedModels") + public static EvictingDualNodeHashTable Widget_cachedModels; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("Widget_cachedFonts") + public static EvictingDualNodeHashTable Widget_cachedFonts; + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("Widget_cachedSpriteMasks") + public static EvictingDualNodeHashTable Widget_cachedSpriteMasks; + @ObfuscatedName("t") + public static boolean field2543; + @ObfuscatedName("g") + @Export("isIf3") + public boolean isIf3; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -938462923 + ) + @Export("id") + public int id; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 970038855 + ) + @Export("childIndex") + public int childIndex; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1047333541 + ) + @Export("type") + public int type; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -356920675 + ) + @Export("buttonType") + public int buttonType; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -645037763 + ) + @Export("contentType") + public int contentType; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -785941721 + ) + @Export("xAlignment") + public int xAlignment; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 2044954067 + ) + @Export("yAlignment") + public int yAlignment; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1296359215 + ) + @Export("widthAlignment") + public int widthAlignment; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = 998396021 + ) + @Export("heightAlignment") + public int heightAlignment; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -1791986137 + ) + @Export("rawX") + public int rawX; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 1824790061 + ) + @Export("rawY") + public int rawY; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -1720123363 + ) + @Export("rawWidth") + public int rawWidth; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 450063905 + ) + @Export("rawHeight") + public int rawHeight; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 654358485 + ) + @Export("x") + public int x; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -2047854973 + ) + @Export("y") + public int y; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -1115212787 + ) + @Export("width") + public int width; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = 185246961 + ) + @Export("height") + public int height; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 2031946853 + ) + public int field2655; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 540658479 + ) + public int field2629; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 1499631501 + ) + @Export("parentId") + public int parentId; + @ObfuscatedName("an") + @Export("isHidden") + public boolean isHidden; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = 1553708193 + ) + @Export("scrollX") + public int scrollX; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -1983133743 + ) + @Export("scrollY") + public int scrollY; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 993795721 + ) + @Export("scrollWidth") + public int scrollWidth; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 319178445 + ) + @Export("scrollHeight") + public int scrollHeight; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1588056221 + ) + @Export("color") + public int color; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -1094977017 + ) + @Export("color2") + public int color2; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = 1010030427 + ) + @Export("mouseOverColor") + public int mouseOverColor; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -214954083 + ) + @Export("mouseOverColor2") + public int mouseOverColor2; + @ObfuscatedName("aj") + @Export("fill") + public boolean fill; + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "Llu;" + ) + @Export("fillMode") + public FillMode fillMode; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = -1182281851 + ) + @Export("transparencyTop") + public int transparencyTop; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = -1279506063 + ) + @Export("transparencyBot") + public int transparencyBot; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = 1520637795 + ) + @Export("lineWid") + public int lineWid; + @ObfuscatedName("bx") + public boolean field2579; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = -660582185 + ) + @Export("spriteId2") + public int spriteId2; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = -842194727 + ) + @Export("spriteId") + public int spriteId; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = 1539845703 + ) + @Export("spriteAngle") + public int spriteAngle; + @ObfuscatedName("bv") + @Export("spriteTiling") + public boolean spriteTiling; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = -908982873 + ) + @Export("outline") + public int outline; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = 235051931 + ) + @Export("spriteShadow") + public int spriteShadow; + @ObfuscatedName("bz") + @Export("spriteFlipV") + public boolean spriteFlipV; + @ObfuscatedName("bc") + @Export("spriteFlipH") + public boolean spriteFlipH; + @ObfuscatedName("bk") + @ObfuscatedGetter( + intValue = -917602037 + ) + @Export("modelType") + public int modelType; + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = 352337217 + ) + @Export("modelId") + public int modelId; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = -1558533019 + ) + @Export("modelType2") + int modelType2; + @ObfuscatedName("be") + @ObfuscatedGetter( + intValue = -1849612505 + ) + @Export("modelId2") + int modelId2; + @ObfuscatedName("bu") + @ObfuscatedGetter( + intValue = -1921357951 + ) + @Export("sequenceId") + public int sequenceId; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = -803672091 + ) + @Export("sequenceId2") + public int sequenceId2; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = -617034503 + ) + @Export("modelOffsetX") + public int modelOffsetX; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = 263647227 + ) + @Export("modelOffsetY") + public int modelOffsetY; + @ObfuscatedName("by") + @ObfuscatedGetter( + intValue = -899088195 + ) + @Export("modelAngleX") + public int modelAngleX; + @ObfuscatedName("bq") + @ObfuscatedGetter( + intValue = 744470751 + ) + @Export("modelAngleY") + public int modelAngleY; + @ObfuscatedName("bo") + @ObfuscatedGetter( + intValue = 1532699993 + ) + @Export("modelAngleZ") + public int modelAngleZ; + @ObfuscatedName("br") + @ObfuscatedGetter( + intValue = -1859343581 + ) + @Export("modelZoom") + public int modelZoom; + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = -516131825 + ) + public int field2667; + @ObfuscatedName("bf") + @ObfuscatedGetter( + intValue = 820815763 + ) + public int field2601; + @ObfuscatedName("bg") + @Export("modelOrthog") + public boolean modelOrthog; + @ObfuscatedName("bw") + @Export("modelTransparency") + public boolean modelTransparency; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = 1908099759 + ) + @Export("itemQuantityMode") + public int itemQuantityMode; + @ObfuscatedName("cz") + @ObfuscatedGetter( + intValue = 8724653 + ) + @Export("fontId") + public int fontId; + @ObfuscatedName("ck") + @Export("text") + public String text; + @ObfuscatedName("cv") + @Export("text2") + public String text2; + @ObfuscatedName("co") + @ObfuscatedGetter( + intValue = -1471970549 + ) + @Export("textLineHeight") + public int textLineHeight; + @ObfuscatedName("cs") + @ObfuscatedGetter( + intValue = 275090821 + ) + @Export("textXAlignment") + public int textXAlignment; + @ObfuscatedName("cg") + @ObfuscatedGetter( + intValue = -2027130901 + ) + @Export("textYAlignment") + public int textYAlignment; + @ObfuscatedName("cn") + @Export("textShadowed") + public boolean textShadowed; + @ObfuscatedName("cd") + @ObfuscatedGetter( + intValue = 488082575 + ) + @Export("paddingX") + public int paddingX; + @ObfuscatedName("cy") + @ObfuscatedGetter( + intValue = 1814601209 + ) + @Export("paddingY") + public int paddingY; + @ObfuscatedName("cj") + @Export("inventoryXOffsets") + public int[] inventoryXOffsets; + @ObfuscatedName("cb") + @Export("inventoryYOffsets") + public int[] inventoryYOffsets; + @ObfuscatedName("cr") + @Export("inventorySprites") + public int[] inventorySprites; + @ObfuscatedName("ct") + @Export("itemActions") + public String[] itemActions; + @ObfuscatedName("ci") + @ObfuscatedGetter( + intValue = -349261461 + ) + @Export("clickMask") + public int clickMask; + @ObfuscatedName("cu") + public boolean field2619; + @ObfuscatedName("ce") + public byte[][] field2552; + @ObfuscatedName("cc") + public byte[][] field2621; + @ObfuscatedName("ca") + public int[] field2586; + @ObfuscatedName("cf") + public int[] field2548; + @ObfuscatedName("dt") + @Export("dataText") + public String dataText; + @ObfuscatedName("dv") + @Export("actions") + public String[] actions; + @ObfuscatedName("dm") + @ObfuscatedSignature( + signature = "Lho;" + ) + @Export("parent") + public Widget parent; + @ObfuscatedName("dn") + @ObfuscatedGetter( + intValue = 613508017 + ) + @Export("dragZoneSize") + public int dragZoneSize; + @ObfuscatedName("dq") + @ObfuscatedGetter( + intValue = -1263499789 + ) + @Export("dragThreshold") + public int dragThreshold; + @ObfuscatedName("dy") + @Export("isScrollBar") + public boolean isScrollBar; + @ObfuscatedName("de") + @Export("spellActionName") + public String spellActionName; + @ObfuscatedName("df") + @Export("hasListener") + public boolean hasListener; + @ObfuscatedName("dr") + @Export("onLoad") + public Object[] onLoad; + @ObfuscatedName("du") + @Export("onClick") + public Object[] onClick; + @ObfuscatedName("ds") + @Export("onClickRepeat") + public Object[] onClickRepeat; + @ObfuscatedName("dc") + @Export("onRelease") + public Object[] onRelease; + @ObfuscatedName("di") + @Export("onHold") + public Object[] onHold; + @ObfuscatedName("dk") + @Export("onMouseOver") + public Object[] onMouseOver; + @ObfuscatedName("dx") + @Export("onMouseRepeat") + public Object[] onMouseRepeat; + @ObfuscatedName("dz") + @Export("onMouseLeave") + public Object[] onMouseLeave; + @ObfuscatedName("do") + @Export("onDrag") + public Object[] onDrag; + @ObfuscatedName("dw") + @Export("onDragComplete") + public Object[] onDragComplete; + @ObfuscatedName("dd") + @Export("onTargetEnter") + public Object[] onTargetEnter; + @ObfuscatedName("dj") + @Export("onTargetLeave") + public Object[] onTargetLeave; + @ObfuscatedName("dg") + @Export("onVarTransmit") + public Object[] onVarTransmit; + @ObfuscatedName("da") + @Export("varTransmitTriggers") + public int[] varTransmitTriggers; + @ObfuscatedName("dl") + @Export("onInvTransmit") + public Object[] onInvTransmit; + @ObfuscatedName("dh") + @Export("invTransmitTriggers") + public int[] invTransmitTriggers; + @ObfuscatedName("db") + @Export("onStatTransmit") + public Object[] onStatTransmit; + @ObfuscatedName("dp") + @Export("statTransmitTriggers") + public int[] statTransmitTriggers; + @ObfuscatedName("ek") + @Export("onTimer") + public Object[] onTimer; + @ObfuscatedName("ef") + @Export("onOp") + public Object[] onOp; + @ObfuscatedName("ew") + @Export("onScroll") + public Object[] onScroll; + @ObfuscatedName("ex") + @Export("onChatTransmit") + public Object[] onChatTransmit; + @ObfuscatedName("eq") + @Export("onKey") + public Object[] onKey; + @ObfuscatedName("er") + @Export("onFriendTransmit") + public Object[] onFriendTransmit; + @ObfuscatedName("eo") + @Export("onClanTransmit") + public Object[] onClanTransmit; + @ObfuscatedName("ee") + @Export("onMiscTransmit") + public Object[] onMiscTransmit; + @ObfuscatedName("ep") + @Export("onDialogAbort") + public Object[] onDialogAbort; + @ObfuscatedName("ei") + @Export("onSubChange") + public Object[] onSubChange; + @ObfuscatedName("es") + @Export("onResize") + public Object[] onResize; + @ObfuscatedName("eg") + @Export("onStockTransmit") + public Object[] onStockTransmit; + @ObfuscatedName("ej") + public Object[] field2662; + @ObfuscatedName("en") + @Export("cs1Instructions") + public int[][] cs1Instructions; + @ObfuscatedName("eh") + @Export("cs1Comparisons") + public int[] cs1Comparisons; + @ObfuscatedName("em") + @Export("cs1ComparisonValues") + public int[] cs1ComparisonValues; + @ObfuscatedName("ev") + @ObfuscatedGetter( + intValue = 1603621761 + ) + @Export("mouseOverRedirect") + public int mouseOverRedirect; + @ObfuscatedName("ez") + @Export("spellName") + public String spellName; + @ObfuscatedName("ec") + @Export("buttonText") + public String buttonText; + @ObfuscatedName("eu") + @Export("itemIds") + public int[] itemIds; + @ObfuscatedName("ed") + @Export("itemQuantities") + public int[] itemQuantities; + @ObfuscatedName("ey") + @ObfuscatedGetter( + intValue = -1532577883 + ) + @Export("itemId") + public int itemId; + @ObfuscatedName("el") + @ObfuscatedGetter( + intValue = 878258425 + ) + @Export("itemQuantity") + public int itemQuantity; + @ObfuscatedName("ea") + @ObfuscatedGetter( + intValue = 758841865 + ) + @Export("modelFrame") + public int modelFrame; + @ObfuscatedName("et") + @ObfuscatedGetter( + intValue = 2093634115 + ) + @Export("modelFrameCycle") + public int modelFrameCycle; + @ObfuscatedName("eb") + @ObfuscatedSignature( + signature = "[Lho;" + ) + @Export("children") + public Widget[] children; + @ObfuscatedName("fb") + @Export("containsMouse") + public boolean containsMouse; + @ObfuscatedName("fe") + @Export("isClicked") + public boolean isClicked; + @ObfuscatedName("fd") + @ObfuscatedGetter( + intValue = 1204314605 + ) + public int field2558; + @ObfuscatedName("fy") + @ObfuscatedGetter( + intValue = -162526605 + ) + public int field2620; + @ObfuscatedName("ff") + @ObfuscatedGetter( + intValue = 976944717 + ) + public int field2680; + @ObfuscatedName("fo") + @ObfuscatedGetter( + intValue = 1042446467 + ) + public int field2681; + @ObfuscatedName("fk") + @ObfuscatedGetter( + intValue = -27098335 + ) + @Export("rootIndex") + public int rootIndex; + @ObfuscatedName("fq") + @ObfuscatedGetter( + intValue = -433990399 + ) + @Export("cycle") + public int cycle; + @ObfuscatedName("fc") + public int[] field2684; + @ObfuscatedName("fv") + @Export("noClickThrough") + public boolean noClickThrough; + @ObfuscatedName("fm") + @Export("noScrollThrough") + public boolean noScrollThrough; + @ObfuscatedName("fh") + public boolean field2687; + + static { + Widget_cachedSprites = new EvictingDualNodeHashTable(200); + Widget_cachedModels = new EvictingDualNodeHashTable(50); + Widget_cachedFonts = new EvictingDualNodeHashTable(20); + Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); + field2543 = false; + } + + public Widget() { + this.isIf3 = false; + this.id = -1; + this.childIndex = -1; + this.buttonType = 0; + this.contentType = 0; + this.xAlignment = 0; + this.yAlignment = 0; + this.widthAlignment = 0; + this.heightAlignment = 0; + this.rawX = 0; + this.rawY = 0; + this.rawWidth = 0; + this.rawHeight = 0; + this.x = 0; + this.y = 0; + this.width = 0; + this.height = 0; + this.field2655 = 1; + this.field2629 = 1; + this.parentId = -1; + this.isHidden = false; + this.scrollX = 0; + this.scrollY = 0; + this.scrollWidth = 0; + this.scrollHeight = 0; + this.color = 0; + this.color2 = 0; + this.mouseOverColor = 0; + this.mouseOverColor2 = 0; + this.fill = false; + this.fillMode = FillMode.SOLID; + this.transparencyTop = 0; + this.transparencyBot = 0; + this.lineWid = 1; + this.field2579 = false; + this.spriteId2 = -1; + this.spriteId = -1; + this.spriteAngle = 0; + this.spriteTiling = false; + this.outline = 0; + this.spriteShadow = 0; + this.modelType = 1; + this.modelId = -1; + this.modelType2 = 1; + this.modelId2 = -1; + this.sequenceId = -1; + this.sequenceId2 = -1; + this.modelOffsetX = 0; + this.modelOffsetY = 0; + this.modelAngleX = 0; + this.modelAngleY = 0; + this.modelAngleZ = 0; + this.modelZoom = 100; + this.field2667 = 0; + this.field2601 = 0; + this.modelOrthog = false; + this.modelTransparency = false; + this.itemQuantityMode = 2; + this.fontId = -1; + this.text = ""; + this.text2 = ""; + this.textLineHeight = 0; + this.textXAlignment = 0; + this.textYAlignment = 0; + this.textShadowed = false; + this.paddingX = 0; + this.paddingY = 0; + this.clickMask = 0; + this.field2619 = false; + this.dataText = ""; + this.parent = null; + this.dragZoneSize = 0; + this.dragThreshold = 0; + this.isScrollBar = false; + this.spellActionName = ""; + this.hasListener = false; + this.mouseOverRedirect = -1; + this.spellName = ""; + this.buttonText = "Ok"; + this.itemId = -1; + this.itemQuantity = 0; + this.modelFrame = 0; + this.modelFrameCycle = 0; + this.containsMouse = false; + this.isClicked = false; + this.field2558 = -1; + this.field2620 = 0; + this.field2680 = 0; + this.field2681 = 0; + this.rootIndex = -1; + this.cycle = -1; + this.noClickThrough = false; + this.noScrollThrough = false; + this.field2687 = false; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkl;S)V", + garbageValue = "15127" + ) + @Export("decodeLegacy") + void decodeLegacy(Buffer var1) { + this.isIf3 = false; + this.type = var1.readUnsignedByte(); + this.buttonType = var1.readUnsignedByte(); + this.contentType = var1.readUnsignedShort(); + this.rawX = var1.readShort(); + this.rawY = var1.readShort(); + this.rawWidth = var1.readUnsignedShort(); + this.rawHeight = var1.readUnsignedShort(); + this.transparencyTop = var1.readUnsignedByte(); + this.parentId = var1.readUnsignedShort(); + if (this.parentId == 65535) { + this.parentId = -1; + } else { + this.parentId += this.id & -65536; + } + + this.mouseOverRedirect = var1.readUnsignedShort(); + if (this.mouseOverRedirect == 65535) { + this.mouseOverRedirect = -1; + } + + int var2 = var1.readUnsignedByte(); + int var3; + if (var2 > 0) { + this.cs1Comparisons = new int[var2]; + this.cs1ComparisonValues = new int[var2]; + + for (var3 = 0; var3 < var2; ++var3) { + this.cs1Comparisons[var3] = var1.readUnsignedByte(); + this.cs1ComparisonValues[var3] = var1.readUnsignedShort(); + } + } + + var3 = var1.readUnsignedByte(); + int var4; + int var5; + int var6; + if (var3 > 0) { + this.cs1Instructions = new int[var3][]; + + for (var4 = 0; var4 < var3; ++var4) { + var5 = var1.readUnsignedShort(); + this.cs1Instructions[var4] = new int[var5]; + + for (var6 = 0; var6 < var5; ++var6) { + this.cs1Instructions[var4][var6] = var1.readUnsignedShort(); + if (this.cs1Instructions[var4][var6] == 65535) { + this.cs1Instructions[var4][var6] = -1; + } + } + } + } + + if (this.type == 0) { + this.scrollHeight = var1.readUnsignedShort(); + this.isHidden = var1.readUnsignedByte() == 1; + } + + if (this.type == 1) { + var1.readUnsignedShort(); + var1.readUnsignedByte(); + } + + if (this.type == 2) { + this.itemIds = new int[this.rawWidth * this.rawHeight]; + this.itemQuantities = new int[this.rawHeight * this.rawWidth]; + var4 = var1.readUnsignedByte(); + if (var4 == 1) { + this.clickMask |= 268435456; + } + + var5 = var1.readUnsignedByte(); + if (var5 == 1) { + this.clickMask |= 1073741824; + } + + var6 = var1.readUnsignedByte(); + if (var6 == 1) { + this.clickMask |= Integer.MIN_VALUE; + } + + int var7 = var1.readUnsignedByte(); + if (var7 == 1) { + this.clickMask |= 536870912; + } + + this.paddingX = var1.readUnsignedByte(); + this.paddingY = var1.readUnsignedByte(); + this.inventoryXOffsets = new int[20]; + this.inventoryYOffsets = new int[20]; + this.inventorySprites = new int[20]; + + int var8; + for (var8 = 0; var8 < 20; ++var8) { + int var9 = var1.readUnsignedByte(); + if (var9 == 1) { + this.inventoryXOffsets[var8] = var1.readShort(); + this.inventoryYOffsets[var8] = var1.readShort(); + this.inventorySprites[var8] = var1.readInt(); + } else { + this.inventorySprites[var8] = -1; + } + } + + this.itemActions = new String[5]; + + for (var8 = 0; var8 < 5; ++var8) { + String var11 = var1.readStringCp1252NullTerminated(); + if (var11.length() > 0) { + this.itemActions[var8] = var11; + this.clickMask |= 1 << var8 + 23; + } + } + } + + if (this.type == 3) { + this.fill = var1.readUnsignedByte() == 1; + } + + if (this.type == 4 || this.type == 1) { + this.textXAlignment = var1.readUnsignedByte(); + this.textYAlignment = var1.readUnsignedByte(); + this.textLineHeight = var1.readUnsignedByte(); + this.fontId = var1.readUnsignedShort(); + if (this.fontId == 65535) { + this.fontId = -1; + } + + this.textShadowed = var1.readUnsignedByte() == 1; + } + + if (this.type == 4) { + this.text = var1.readStringCp1252NullTerminated(); + this.text2 = var1.readStringCp1252NullTerminated(); + } + + if (this.type == 1 || this.type == 3 || this.type == 4) { + this.color = var1.readInt(); + } + + if (this.type == 3 || this.type == 4) { + this.color2 = var1.readInt(); + this.mouseOverColor = var1.readInt(); + this.mouseOverColor2 = var1.readInt(); + } + + if (this.type == 5) { + this.spriteId2 = var1.readInt(); + this.spriteId = var1.readInt(); + } + + if (this.type == 6) { + this.modelType = 1; + this.modelId = var1.readUnsignedShort(); + if (this.modelId == 65535) { + this.modelId = -1; + } + + this.modelType2 = 1; + this.modelId2 = var1.readUnsignedShort(); + if (this.modelId2 == 65535) { + this.modelId2 = -1; + } + + this.sequenceId = var1.readUnsignedShort(); + if (this.sequenceId == 65535) { + this.sequenceId = -1; + } + + this.sequenceId2 = var1.readUnsignedShort(); + if (this.sequenceId2 == 65535) { + this.sequenceId2 = -1; + } + + this.modelZoom = var1.readUnsignedShort(); + this.modelAngleX = var1.readUnsignedShort(); + this.modelAngleY = var1.readUnsignedShort(); + } + + if (this.type == 7) { + this.itemIds = new int[this.rawHeight * this.rawWidth]; + this.itemQuantities = new int[this.rawWidth * this.rawHeight]; + this.textXAlignment = var1.readUnsignedByte(); + this.fontId = var1.readUnsignedShort(); + if (this.fontId == 65535) { + this.fontId = -1; + } + + this.textShadowed = var1.readUnsignedByte() == 1; + this.color = var1.readInt(); + this.paddingX = var1.readShort(); + this.paddingY = var1.readShort(); + var4 = var1.readUnsignedByte(); + if (var4 == 1) { + this.clickMask |= 1073741824; + } + + this.itemActions = new String[5]; + + for (var5 = 0; var5 < 5; ++var5) { + String var10 = var1.readStringCp1252NullTerminated(); + if (var10.length() > 0) { + this.itemActions[var5] = var10; + this.clickMask |= 1 << var5 + 23; + } + } + } + + if (this.type == 8) { + this.text = var1.readStringCp1252NullTerminated(); + } + + if (this.buttonType == 2 || this.type == 2) { + this.spellActionName = var1.readStringCp1252NullTerminated(); + this.spellName = var1.readStringCp1252NullTerminated(); + var4 = var1.readUnsignedShort() & 63; + this.clickMask |= var4 << 11; + } + + if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) { + this.buttonText = var1.readStringCp1252NullTerminated(); + if (this.buttonText.length() == 0) { + if (this.buttonType == 1) { + this.buttonText = "Ok"; + } + + if (this.buttonType == 4) { + this.buttonText = "Select"; + } + + if (this.buttonType == 5) { + this.buttonText = "Select"; + } + + if (this.buttonType == 6) { + this.buttonText = "Continue"; + } + } + } + + if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5) { + this.clickMask |= 4194304; + } + + if (this.buttonType == 6) { + this.clickMask |= 1; + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-508997564" + ) + @Export("decode") + void decode(Buffer var1) { + var1.readUnsignedByte(); + this.isIf3 = true; + this.type = var1.readUnsignedByte(); + this.contentType = var1.readUnsignedShort(); + this.rawX = var1.readShort(); + this.rawY = var1.readShort(); + this.rawWidth = var1.readUnsignedShort(); + if (this.type == 9) { + this.rawHeight = var1.readShort(); + } else { + this.rawHeight = var1.readUnsignedShort(); + } + + this.widthAlignment = var1.readByte(); + this.heightAlignment = var1.readByte(); + this.xAlignment = var1.readByte(); + this.yAlignment = var1.readByte(); + this.parentId = var1.readUnsignedShort(); + if (this.parentId == 65535) { + this.parentId = -1; + } else { + this.parentId += this.id & -65536; + } + + this.isHidden = var1.readUnsignedByte() == 1; + if (this.type == 0) { + this.scrollWidth = var1.readUnsignedShort(); + this.scrollHeight = var1.readUnsignedShort(); + this.noClickThrough = var1.readUnsignedByte() == 1; + } + + if (this.type == 5) { + this.spriteId2 = var1.readInt(); + this.spriteAngle = var1.readUnsignedShort(); + this.spriteTiling = var1.readUnsignedByte() == 1; + this.transparencyTop = var1.readUnsignedByte(); + this.outline = var1.readUnsignedByte(); + this.spriteShadow = var1.readInt(); + this.spriteFlipV = var1.readUnsignedByte() == 1; + this.spriteFlipH = var1.readUnsignedByte() == 1; + } + + if (this.type == 6) { + this.modelType = 1; + this.modelId = var1.readUnsignedShort(); + if (this.modelId == 65535) { + this.modelId = -1; + } + + this.modelOffsetX = var1.readShort(); + this.modelOffsetY = var1.readShort(); + this.modelAngleX = var1.readUnsignedShort(); + this.modelAngleY = var1.readUnsignedShort(); + this.modelAngleZ = var1.readUnsignedShort(); + this.modelZoom = var1.readUnsignedShort(); + this.sequenceId = var1.readUnsignedShort(); + if (this.sequenceId == 65535) { + this.sequenceId = -1; + } + + this.modelOrthog = var1.readUnsignedByte() == 1; + var1.readUnsignedShort(); + if (this.widthAlignment != 0) { + this.field2667 = var1.readUnsignedShort(); + } + + if (this.heightAlignment != 0) { + var1.readUnsignedShort(); + } + } + + if (this.type == 4) { + this.fontId = var1.readUnsignedShort(); + if (this.fontId == 65535) { + this.fontId = -1; + } + + this.text = var1.readStringCp1252NullTerminated(); + this.textLineHeight = var1.readUnsignedByte(); + this.textXAlignment = var1.readUnsignedByte(); + this.textYAlignment = var1.readUnsignedByte(); + this.textShadowed = var1.readUnsignedByte() == 1; + this.color = var1.readInt(); + } + + if (this.type == 3) { + this.color = var1.readInt(); + this.fill = var1.readUnsignedByte() == 1; + this.transparencyTop = var1.readUnsignedByte(); + } + + if (this.type == 9) { + this.lineWid = var1.readUnsignedByte(); + this.color = var1.readInt(); + this.field2579 = var1.readUnsignedByte() == 1; + } + + this.clickMask = var1.readMedium(); + this.dataText = var1.readStringCp1252NullTerminated(); + int var2 = var1.readUnsignedByte(); + if (var2 > 0) { + this.actions = new String[var2]; + + for (int var3 = 0; var3 < var2; ++var3) { + this.actions[var3] = var1.readStringCp1252NullTerminated(); + } + } + + this.dragZoneSize = var1.readUnsignedByte(); + this.dragThreshold = var1.readUnsignedByte(); + this.isScrollBar = var1.readUnsignedByte() == 1; + this.spellActionName = var1.readStringCp1252NullTerminated(); + this.onLoad = this.readListener(var1); + this.onMouseOver = this.readListener(var1); + this.onMouseLeave = this.readListener(var1); + this.onTargetLeave = this.readListener(var1); + this.onTargetEnter = this.readListener(var1); + this.onVarTransmit = this.readListener(var1); + this.onInvTransmit = this.readListener(var1); + this.onStatTransmit = this.readListener(var1); + this.onTimer = this.readListener(var1); + this.onOp = this.readListener(var1); + this.onMouseRepeat = this.readListener(var1); + this.onClick = this.readListener(var1); + this.onClickRepeat = this.readListener(var1); + this.onRelease = this.readListener(var1); + this.onHold = this.readListener(var1); + this.onDrag = this.readListener(var1); + this.onDragComplete = this.readListener(var1); + this.onScroll = this.readListener(var1); + this.varTransmitTriggers = this.readListenerTriggers(var1); + this.invTransmitTriggers = this.readListenerTriggers(var1); + this.statTransmitTriggers = this.readListenerTriggers(var1); + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Lkl;B)[Ljava/lang/Object;", + garbageValue = "0" + ) + @Export("readListener") + Object[] readListener(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return null; + } else { + Object[] var3 = new Object[var2]; + + for (int var4 = 0; var4 < var2; ++var4) { + int var5 = var1.readUnsignedByte(); + if (var5 == 0) { + var3[var4] = new Integer(var1.readInt()); + } else if (var5 == 1) { + var3[var4] = var1.readStringCp1252NullTerminated(); + } + } + + this.hasListener = true; + return var3; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Lkl;I)[I", + garbageValue = "-132337395" + ) + @Export("readListenerTriggers") + int[] readListenerTriggers(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return null; + } else { + int[] var3 = new int[var2]; + + for (int var4 = 0; var4 < var2; ++var4) { + var3[var4] = var1.readInt(); + } + + return var3; + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1452278640" + ) + @Export("swapItems") + public void swapItems(int var1, int var2) { + int var3 = this.itemIds[var2]; + this.itemIds[var2] = this.itemIds[var1]; + this.itemIds[var1] = var3; + var3 = this.itemQuantities[var2]; + this.itemQuantities[var2] = this.itemQuantities[var1]; + this.itemQuantities[var1] = var3; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(ZB)Llf;", + garbageValue = "13" + ) + @Export("getSprite") + public Sprite getSprite(boolean var1) { + field2543 = false; + int var2; + if (var1) { + var2 = this.spriteId; + } else { + var2 = this.spriteId2; + } + + if (var2 == -1) { + return null; + } else { + long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipH ? 1L : 0L) << 39) + (long)var2 + ((long)this.outline << 36) + ((this.spriteFlipV ? 1L : 0L) << 38); + Sprite var5 = (Sprite)Widget_cachedSprites.get(var3); + if (var5 != null) { + return var5; + } else { + var5 = NPCDefinition.SpriteBuffer_getSprite(ClientPreferences.Widget_spritesArchive, var2, 0); + if (var5 == null) { + field2543 = true; + return null; + } else { + if (this.spriteFlipV) { + var5.flipVertically(); + } + + if (this.spriteFlipH) { + var5.flipHorizontally(); + } + + if (this.outline > 0) { + var5.pad(this.outline); + } + + if (this.outline >= 1) { + var5.outline(1); + } + + if (this.outline >= 2) { + var5.outline(16777215); + } + + if (this.spriteShadow != 0) { + var5.shadow(this.spriteShadow); + } + + Widget_cachedSprites.put(var5, var3); + return var5; + } + } + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)Lkn;", + garbageValue = "2078221283" + ) + @Export("getFont") + public Font getFont() { + field2543 = false; + if (this.fontId == -1) { + return null; + } else { + Font var1 = (Font)Widget_cachedFonts.get((long)this.fontId); + if (var1 != null) { + return var1; + } else { + var1 = ClanMate.method4964(ClientPreferences.Widget_spritesArchive, class2.Widget_fontsArchive, this.fontId, 0); + if (var1 != null) { + Widget_cachedFonts.put(var1, (long)this.fontId); + } else { + field2543 = true; + } + + return var1; + } + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(II)Llf;", + garbageValue = "378738987" + ) + @Export("getInventorySprite") + public Sprite getInventorySprite(int var1) { + field2543 = false; + if (var1 >= 0 && var1 < this.inventorySprites.length) { + int var2 = this.inventorySprites[var1]; + if (var2 == -1) { + return null; + } else { + Sprite var3 = (Sprite)Widget_cachedSprites.get((long)var2); + if (var3 != null) { + return var3; + } else { + var3 = NPCDefinition.SpriteBuffer_getSprite(ClientPreferences.Widget_spritesArchive, var2, 0); + if (var3 != null) { + Widget_cachedSprites.put(var3, (long)var2); + } else { + field2543 = true; + } + + return var3; + } + } + } else { + return null; + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(Lix;IZLhr;I)Ldh;", + garbageValue = "312121808" + ) + @Export("getModel") + public Model getModel(SequenceDefinition var1, int var2, boolean var3, PlayerAppearance var4) { + field2543 = false; + int var5; + int var6; + if (var3) { + var5 = this.modelType2; + var6 = this.modelId2; + } else { + var5 = this.modelType; + var6 = this.modelId; + } + + if (var5 == 0) { + return null; + } else if (var5 == 1 && var6 == -1) { + return null; + } else { + Model var7 = (Model)Widget_cachedModels.get((long)(var6 + (var5 << 16))); + if (var7 == null) { + ModelData var8; + if (var5 == 1) { + var8 = ModelData.ModelData_get(TaskHandler.Widget_modelsArchive, var6, 0); + if (var8 == null) { + field2543 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 2) { + var8 = PacketBufferNode.getNpcDefinition(var6).getModelData(); + if (var8 == null) { + field2543 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 3) { + if (var4 == null) { + return null; + } + + var8 = var4.getModelData(); + if (var8 == null) { + field2543 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 4) { + ItemDefinition var9 = Occluder.ItemDefinition_get(var6); + var8 = var9.getModelData(10); + if (var8 == null) { + field2543 = true; + return null; + } + + var7 = var8.toModel(var9.ambient + 64, var9.contrast + 768, -50, -10, -50); + } + + Widget_cachedModels.put(var7, (long)(var6 + (var5 << 16))); + } + + if (var1 != null) { + var7 = var1.transformWidgetModel(var7, var2); + } + + return var7; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(ZB)Lhz;", + garbageValue = "0" + ) + @Export("getSpriteMask") + public SpriteMask getSpriteMask(boolean var1) { + if (this.spriteId == -1) { + var1 = false; + } + + int var2 = var1 ? this.spriteId : this.spriteId2; + if (var2 == -1) { + return null; + } else { + long var3 = ((this.spriteFlipV ? 1L : 0L) << 38) + (long)var2 + ((long)this.outline << 36) + ((this.spriteFlipH ? 1L : 0L) << 39) + ((long)this.spriteShadow << 40); + SpriteMask var5 = (SpriteMask)Widget_cachedSpriteMasks.get(var3); + if (var5 != null) { + return var5; + } else { + Sprite var6 = this.getSprite(var1); + if (var6 == null) { + return null; + } else { + Sprite var7 = var6.copyNormalized(); + int[] var8 = new int[var7.subHeight]; + int[] var9 = new int[var7.subHeight]; + + for (int var10 = 0; var10 < var7.subHeight; ++var10) { + int var11 = 0; + int var12 = var7.subWidth; + + int var13; + for (var13 = 0; var13 < var7.subWidth; ++var13) { + if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { + var11 = var13; + break; + } + } + + for (var13 = var7.subWidth - 1; var13 >= var11; --var13) { + if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { + var12 = var13 + 1; + break; + } + } + + var8[var10] = var11; + var9[var10] = var12 - var11; + } + + var5 = new SpriteMask(var7.subWidth, var7.subHeight, var9, var8, var2); + Widget_cachedSpriteMasks.put(var5, var3); + return var5; + } + } + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;S)V", + garbageValue = "-24772" + ) + @Export("setAction") + public void setAction(int var1, String var2) { + if (this.actions == null || this.actions.length <= var1) { + String[] var3 = new String[var1 + 1]; + if (this.actions != null) { + for (int var4 = 0; var4 < this.actions.length; ++var4) { + var3[var4] = this.actions[var4]; + } + } + + this.actions = var3; + } + + this.actions[var1] = var2; + } +} diff --git a/runescape-client/src/main/java/World.java b/runescape-client/src/main/java/World.java index 7751f70c72..6967a37d75 100644 --- a/runescape-client/src/main/java/World.java +++ b/runescape-client/src/main/java/World.java @@ -1,197 +1,259 @@ -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.ScriptOpcodes; - -@ObfuscatedName("bb") -@Implements("World") -public class World { - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "[Lbb;" - ) - @Export("World_worlds") - static World[] World_worlds; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1009032865 - ) - @Export("World_count") - static int World_count; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -816913473 - ) - @Export("World_listCount") - static int World_listCount; - @ObfuscatedName("v") - @Export("World_sortOption2") - static int[] World_sortOption2; - @ObfuscatedName("d") - @Export("World_sortOption1") - static int[] World_sortOption1; - @ObfuscatedName("ju") - @ObfuscatedSignature( - signature = "Lhy;" - ) - static Widget field996; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1056642955 - ) - @Export("id") - int id; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1368963491 - ) - @Export("properties") - int properties; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 122779381 - ) - @Export("population") - int population; - @ObfuscatedName("s") - @Export("host") - String host; - @ObfuscatedName("p") - @Export("activity") - String activity; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1609624191 - ) - @Export("location") - int location; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1550083331 - ) - @Export("index") - int index; - - static { - World_count = 0; - World_listCount = 0; - World_sortOption2 = new int[]{1, 1, 1, 1}; - World_sortOption1 = new int[]{0, 1, 2, 3}; - } - - World() { - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "64" - ) - @Export("isMembersOnly") - boolean isMembersOnly() { - return (1 & this.properties) != 0; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-20923274" - ) - boolean method1713() { - return (2 & this.properties) != 0; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1975172927" - ) - @Export("isPvp") - boolean isPvp() { - return (4 & this.properties) != 0; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1825927120" - ) - boolean method1753() { - return (8 & this.properties) != 0; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-2106663519" - ) - @Export("isDeadman") - boolean isDeadman() { - return (536870912 & this.properties) != 0; - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-1161464357" - ) - @Export("isBeta") - boolean isBeta() { - return (33554432 & this.properties) != 0; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;Ljava/lang/String;I)I", - garbageValue = "-1736176836" - ) - public static int method1755(Buffer var0, String var1) { - int var2 = var0.offset; - byte[] var3 = ChatChannel.method2212(var1); - var0.writeSmartByteShort(var3.length); - var0.offset += class210.huffman.compress(var3, 0, var3.length, var0.array, var0.offset); - return var0.offset - var2; - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "1117911862" - ) - static int method1762(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.GETWINDOWMODE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class43.getWindowedMode(); - return 1; - } else { - int var3; - if (var0 == ScriptOpcodes.SETWINDOWMODE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var3 == 1 || var3 == 2) { - MusicPatchNode.setWindowedMode(var3); - } - - return 1; - } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Actor.clientPreferences.windowMode; - return 1; - } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { - if (var0 == 5310) { - --class160.Interpreter_intStackSize; - return 1; - } else { - return 2; - } - } else { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var3 == 1 || var3 == 2) { - Actor.clientPreferences.windowMode = var3; - class296.savePreferences(); - } - - return 1; - } - } - } -} +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.ScriptOpcodes; + +@ObfuscatedName("bo") +@Implements("World") +public class World { + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "[Lbo;" + ) + @Export("World_worlds") + static World[] World_worlds; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1109260753 + ) + @Export("World_count") + static int World_count; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1029210309 + ) + @Export("World_listCount") + static int World_listCount; + @ObfuscatedName("m") + @Export("World_sortOption2") + static int[] World_sortOption2; + @ObfuscatedName("y") + @Export("World_sortOption1") + static int[] World_sortOption1; + @ObfuscatedName("en") + @ObfuscatedGetter( + intValue = 1902437399 + ) + static int field1012; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 974966281 + ) + @Export("id") + int id; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1702314457 + ) + @Export("properties") + int properties; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 997157235 + ) + @Export("population") + int population; + @ObfuscatedName("a") + @Export("host") + String host; + @ObfuscatedName("e") + @Export("activity") + String activity; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1450881291 + ) + @Export("location") + int location; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1472418349 + ) + @Export("index") + int index; + + static { + World_count = 0; + World_listCount = 0; + World_sortOption2 = new int[]{1, 1, 1, 1}; + World_sortOption1 = new int[]{0, 1, 2, 3}; + } + + World() { + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "858641980" + ) + @Export("isMembersOnly") + boolean isMembersOnly() { + return (1 & this.properties) != 0; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-622240981" + ) + boolean method1802() { + return (2 & this.properties) != 0; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "2080738289" + ) + @Export("isPvp") + boolean isPvp() { + return (4 & this.properties) != 0; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "100459661" + ) + boolean method1774() { + return (8 & this.properties) != 0; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1262281013" + ) + @Export("isDeadman") + boolean isDeadman() { + return (536870912 & this.properties) != 0; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "-24" + ) + @Export("isBeta") + boolean isBeta() { + return (33554432 & this.properties) != 0; + } + + @ObfuscatedName("z") + @Export("base37DecodeLong") + public static String base37DecodeLong(long var0) { + if (var0 > 0L && var0 < 6582952005840035281L) { + if (0L == var0 % 37L) { + return null; + } else { + int var2 = 0; + + for (long var3 = var0; 0L != var3; var3 /= 37L) { + ++var2; + } + + StringBuilder var5; + char var8; + for (var5 = new StringBuilder(var2); var0 != 0L; var5.append(var8)) { + long var6 = var0; + var0 /= 37L; + var8 = class288.base37Table[(int)(var6 - var0 * 37L)]; + if (var8 == '_') { + int var9 = var5.length() - 1; + var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); + var8 = 160; + } + } + + var5.reverse(); + var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); + return var5.toString(); + } + } else { + return null; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IB)Ljava/lang/String;", + garbageValue = "118" + ) + @Export("colorStartTag") + static String colorStartTag(int var0) { + return ""; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-1827551520" + ) + public static int method1810(int var0, int var1) { + int var2 = var0 >>> 31; + return (var0 + var2) / var1 - var2; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "1196159395" + ) + static int method1811(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class2.method30(class2.getWidgetClickMask(var3)); + return 1; + } else if (var0 != ScriptOpcodes.CC_GETOP) { + if (var0 == ScriptOpcodes.CC_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; + } + + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } + + @ObfuscatedName("ga") + @ObfuscatedSignature( + signature = "(Lby;II)V", + garbageValue = "-310218201" + ) + @Export("getActorScreenLocation") + static final void getActorScreenLocation(Actor var0, int var1) { + PlayerAppearance.worldToScreen(var0.x, var0.y * 682054857, var1); + } + + @ObfuscatedName("jj") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "1791021557" + ) + @Export("Clan_joinChat") + static final void Clan_joinChat(String var0) { + if (!var0.equals("")) { + PacketBufferNode var1 = InterfaceParent.getPacketBufferNode(ClientPacket.field2237, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(class268.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } + } +} diff --git a/runescape-client/src/main/java/WorldMap.java b/runescape-client/src/main/java/WorldMap.java index 819c5ed9e2..29f0ff7509 100644 --- a/runescape-client/src/main/java/WorldMap.java +++ b/runescape-client/src/main/java/WorldMap.java @@ -1,1449 +1,1442 @@ -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -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("ln") -@Implements("WorldMap") -public class WorldMap { - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("fontNameVerdana11") - static final FontName fontNameVerdana11; - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("fontNameVerdana13") - static final FontName fontNameVerdana13; - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lkn;" - ) - @Export("fontNameVerdana15") - static final FontName fontNameVerdana15; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("WorldMap_archive") - AbstractArchive WorldMap_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("WorldMap_geographyArchive") - AbstractArchive WorldMap_geographyArchive; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("WorldMap_groundArchive") - AbstractArchive WorldMap_groundArchive; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lkf;" - ) - @Export("font") - Font font; - @ObfuscatedName("s") - @Export("fonts") - HashMap fonts; - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("mapSceneSprites") - IndexedSprite[] mapSceneSprites; - @ObfuscatedName("e") - @Export("details") - HashMap details; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lag;" - ) - @Export("mainMapArea") - WorldMapArea mainMapArea; - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lag;" - ) - @Export("currentMapArea") - WorldMapArea currentMapArea; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lag;" - ) - WorldMapArea field3962; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Laj;" - ) - @Export("worldMapManager") - WorldMapManager worldMapManager; - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lly;" - ) - @Export("cacheLoader") - WorldMapArchiveLoader cacheLoader; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 303275685 - ) - @Export("centerTileX") - int centerTileX; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -225681019 - ) - @Export("centerTileY") - int centerTileY; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1238415701 - ) - @Export("worldMapTargetX") - int worldMapTargetX; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -264227245 - ) - @Export("worldMapTargetY") - int worldMapTargetY; - @ObfuscatedName("b") - @Export("zoom") - float zoom; - @ObfuscatedName("ag") - @Export("zoomTarget") - float zoomTarget; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -596782653 - ) - @Export("worldMapDisplayWidth") - int worldMapDisplayWidth; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -1953124645 - ) - @Export("worldMapDisplayHeight") - int worldMapDisplayHeight; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 15596265 - ) - @Export("worldMapDisplayX") - int worldMapDisplayX; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 1826675017 - ) - @Export("worldMapDisplayY") - int worldMapDisplayY; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 172866649 - ) - @Export("maxFlashCount") - int maxFlashCount; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = -957491597 - ) - @Export("cyclesPerFlash") - int cyclesPerFlash; - @ObfuscatedName("ad") - @Export("perpetualFlash") - boolean perpetualFlash; - @ObfuscatedName("ap") - @Export("flashingElements") - HashSet flashingElements; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 168471107 - ) - @Export("flashCount") - int flashCount; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -247291767 - ) - @Export("flashCycle") - int flashCycle; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -1300084977 - ) - int field3981; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -212325427 - ) - int field3982; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -488627691 - ) - int field3983; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = -793458395 - ) - int field3987; - @ObfuscatedName("ae") - @ObfuscatedGetter( - longValue = -8307106057108321705L - ) - long field3985; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -2042558413 - ) - int field3986; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = -1762125431 - ) - int field3948; - @ObfuscatedName("aq") - boolean field3988; - @ObfuscatedName("az") - @Export("enabledElements") - HashSet enabledElements; - @ObfuscatedName("ai") - @Export("enabledCategories") - HashSet enabledCategories; - @ObfuscatedName("am") - @Export("enabledElementIds") - HashSet enabledElementIds; - @ObfuscatedName("aw") - HashSet field3992; - @ObfuscatedName("au") - @Export("elementsDisabled") - boolean elementsDisabled; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = -1597124293 - ) - int field3994; - @ObfuscatedName("bk") - @Export("menuOpcodes") - final int[] menuOpcodes; - @ObfuscatedName("bp") - List field3996; - @ObfuscatedName("bu") - @Export("iconIterator") - Iterator iconIterator; - @ObfuscatedName("bi") - HashSet field3998; - @ObfuscatedName("bv") - @ObfuscatedSignature( - signature = "Lhj;" - ) - @Export("mouseCoord") - Coord mouseCoord; - @ObfuscatedName("bf") - @Export("showCoord") - public boolean showCoord; - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "Lli;" - ) - @Export("sprite") - Sprite sprite; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = 1403177589 - ) - @Export("cachedPixelsPerTile") - int cachedPixelsPerTile; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = -1012368723 - ) - @Export("minCachedTileX") - int minCachedTileX; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = 428445179 - ) - @Export("minCachedTileY") - int minCachedTileY; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = -2041822163 - ) - int field4005; - - static { - fontNameVerdana11 = FontName.FontName_verdana11; - fontNameVerdana13 = FontName.FontName_verdana13; - fontNameVerdana15 = FontName.FontName_verdana15; - } - - public WorldMap() { - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - this.worldMapDisplayWidth = -1; - this.worldMapDisplayHeight = -1; - this.worldMapDisplayX = -1; - this.worldMapDisplayY = -1; - this.maxFlashCount = 3; - this.cyclesPerFlash = 50; - this.perpetualFlash = false; - this.flashingElements = null; - this.flashCount = -1; - this.flashCycle = -1; - this.field3981 = -1; - this.field3982 = -1; - this.field3983 = -1; - this.field3987 = -1; - this.field3988 = true; - this.enabledElements = new HashSet(); - this.enabledCategories = new HashSet(); - this.enabledElementIds = new HashSet(); - this.field3992 = new HashSet(); - this.elementsDisabled = false; - this.field3994 = 0; - this.menuOpcodes = new int[]{1008, 1009, 1010, 1011, 1012}; - this.field3998 = new HashSet(); - this.mouseCoord = null; - this.showCoord = false; - this.minCachedTileX = -1; - this.minCachedTileY = -1; - this.field4005 = -1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;Lhz;Lkf;Ljava/util/HashMap;[Llt;B)V", - garbageValue = "54" - ) - @Export("init") - public void init(AbstractArchive var1, AbstractArchive var2, AbstractArchive var3, Font var4, HashMap var5, IndexedSprite[] var6) { - this.mapSceneSprites = var6; - this.WorldMap_archive = var1; - this.WorldMap_geographyArchive = var2; - this.WorldMap_groundArchive = var3; - this.font = var4; - this.fonts = new HashMap(); - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_small, var5.get(fontNameVerdana11)); - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, var5.get(fontNameVerdana13)); - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, var5.get(fontNameVerdana15)); - this.cacheLoader = new WorldMapArchiveLoader(var1); - int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.field294.name); - int[] var8 = this.WorldMap_archive.getGroupFileIds(var7); - this.details = new HashMap(var8.length); - - for (int var9 = 0; var9 < var8.length; ++var9) { - Buffer var10 = new Buffer(this.WorldMap_archive.takeFile(var7, var8[var9])); - WorldMapArea var11 = new WorldMapArea(); - var11.read(var10, var8[var9]); - this.details.put(var11.getInternalName(), var11); - if (var11.getIsMain()) { - this.mainMapArea = var11; - } - } - - this.setCurrentMapArea(this.mainMapArea); - this.field3962 = null; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1992204657" - ) - public void method6291() { - class162.method3424(); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIZIIIIB)V", - garbageValue = "-58" - ) - @Export("onCycle") - public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) { - if (this.cacheLoader.isLoaded()) { - this.smoothZoom(); - this.scrollToTarget(); - if (var3) { - int var8 = (int)Math.ceil((double)((float)var6 / this.zoom)); - int var9 = (int)Math.ceil((double)((float)var7 / this.zoom)); - List var10 = this.worldMapManager.method601(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, var4, var5, var6, var7, var1, var2); - HashSet var11 = new HashSet(); - - Iterator var12; - AbstractWorldMapIcon var13; - ScriptEvent var14; - WorldMapEvent var15; - for (var12 = var10.iterator(); var12.hasNext(); SecureRandomFuture.runScriptEvent(var14)) { - var13 = (AbstractWorldMapIcon)var12.next(); - var11.add(var13); - var14 = new ScriptEvent(); - var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); - var14.setArgs(new Object[]{var15, var1, var2}); - if (this.field3998.contains(var13)) { - var14.setType(17); - } else { - var14.setType(15); - } - } - - var12 = this.field3998.iterator(); - - while (var12.hasNext()) { - var13 = (AbstractWorldMapIcon)var12.next(); - if (!var11.contains(var13)) { - var14 = new ScriptEvent(); - var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); - var14.setArgs(new Object[]{var15, var1, var2}); - var14.setType(16); - SecureRandomFuture.runScriptEvent(var14); - } - } - - this.field3998 = var11; - } - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIZZB)V", - garbageValue = "45" - ) - public void method6284(int var1, int var2, boolean var3, boolean var4) { - long var5 = SoundCache.method2480(); - this.method6316(var1, var2, var4, var5); - if (!this.hasTarget() && (var4 || var3)) { - if (var4) { - this.field3983 = var1; - this.field3987 = var2; - this.field3981 = this.centerTileX; - this.field3982 = this.centerTileY; - } - - if (this.field3981 != -1) { - int var7 = var1 - this.field3983; - int var8 = var2 - this.field3987; - this.setWorldMapPosition(this.field3981 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field3982, false); - } - } else { - this.method6272(); - } - - if (var4) { - this.field3985 = var5; - this.field3986 = var1; - this.field3948 = var2; - } - - } - - @ObfuscatedName("l") - void method6316(int var1, int var2, boolean var3, long var4) { - if (this.currentMapArea != null) { - int var6 = (int)((float)this.centerTileX + ((float)(var1 - this.worldMapDisplayX) - (float)this.getDisplayWith() * this.zoom / 2.0F) / this.zoom); - int var7 = (int)((float)this.centerTileY - ((float)(var2 - this.worldMapDisplayY) - (float)this.getDisplayHeight() * this.zoom / 2.0F) / this.zoom); - this.mouseCoord = this.currentMapArea.coord(var6 + this.currentMapArea.getRegionLowX() * 64, var7 + this.currentMapArea.getRegionLowY() * 64); - if (this.mouseCoord != null && var3) { - int var9; - int var10; - if (SecureRandomCallable.method1092() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { - int var13 = this.mouseCoord.x; - var9 = this.mouseCoord.y; - var10 = this.mouseCoord.plane; - PacketBufferNode var11 = MenuAction.getPacketBufferNode(ClientPacket.field2187, Client.packetWriter.isaacCipher); - var11.packetBuffer.method5500(var13); - var11.packetBuffer.writeShort(var9); - var11.packetBuffer.method5491(var10); - var11.packetBuffer.writeIntLE16(0); - Client.packetWriter.addNode(var11); - } else { - boolean var8 = true; - if (this.field3988) { - var9 = var1 - this.field3986; - var10 = var2 - this.field3948; - if (var4 - this.field3985 > 500L || var9 < -25 || var9 > 25 || var10 < -25 || var10 > 25) { - var8 = false; - } - } - - if (var8) { - PacketBufferNode var12 = MenuAction.getPacketBufferNode(ClientPacket.field2223, Client.packetWriter.isaacCipher); - var12.packetBuffer.writeShortLE(this.mouseCoord.packed()); - Client.packetWriter.addNode(var12); - this.field3985 = 0L; - } - } - } - } else { - this.mouseCoord = null; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1791757992" - ) - @Export("smoothZoom") - void smoothZoom() { - if (MenuAction.field1133 != null) { - this.zoom = this.zoomTarget; - } else { - if (this.zoom < this.zoomTarget) { - this.zoom = Math.min(this.zoomTarget, this.zoom / 30.0F + this.zoom); - } - - if (this.zoom > this.zoomTarget) { - this.zoom = Math.max(this.zoomTarget, this.zoom - this.zoom / 30.0F); - } - - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2031541689" - ) - @Export("scrollToTarget") - void scrollToTarget() { - if (this.hasTarget()) { - int var1 = this.worldMapTargetX - this.centerTileX; - int var2 = this.worldMapTargetY - this.centerTileY; - if (var1 != 0) { - var1 /= Math.min(8, Math.abs(var1)); - } - - if (var2 != 0) { - var2 /= Math.min(8, Math.abs(var2)); - } - - this.setWorldMapPosition(var1 + this.centerTileX, var2 + this.centerTileY, true); - if (this.worldMapTargetX == this.centerTileX && this.worldMapTargetY == this.centerTileY) { - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - } - - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IIZB)V", - garbageValue = "-39" - ) - @Export("setWorldMapPosition") - final void setWorldMapPosition(int var1, int var2, boolean var3) { - this.centerTileX = var1; - this.centerTileY = var2; - SoundCache.method2480(); - if (var3) { - this.method6272(); - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1320678525" - ) - final void method6272() { - this.field3987 = -1; - this.field3983 = -1; - this.field3982 = -1; - this.field3981 = -1; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "1096342718" - ) - @Export("hasTarget") - boolean hasTarget() { - return this.worldMapTargetX != -1 && this.worldMapTargetY != -1; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(IIIB)Lag;", - garbageValue = "45" - ) - @Export("mapAreaAtCoord") - public WorldMapArea mapAreaAtCoord(int var1, int var2, int var3) { - Iterator var4 = this.details.values().iterator(); - - WorldMapArea var5; - do { - if (!var4.hasNext()) { - return null; - } - - var5 = (WorldMapArea)var4.next(); - } while(!var5.containsCoord(var1, var2, var3)); - - return var5; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IIIZI)V", - garbageValue = "1738744053" - ) - public void method6275(int var1, int var2, int var3, boolean var4) { - WorldMapArea var5 = this.mapAreaAtCoord(var1, var2, var3); - if (var5 == null) { - if (!var4) { - return; - } - - var5 = this.mainMapArea; - } - - boolean var6 = false; - if (var5 != this.field3962 || var4) { - this.field3962 = var5; - this.setCurrentMapArea(var5); - var6 = true; - } - - if (var6 || var4) { - this.jump(var1, var2, var3); - } - - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-2088562038" - ) - @Export("setCurrentMapAreaId") - public void setCurrentMapAreaId(int var1) { - WorldMapArea var2 = this.getMapArea(var1); - if (var2 != null) { - this.setCurrentMapArea(var2); - } - - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-303428785" - ) - @Export("currentMapAreaId") - public int currentMapAreaId() { - return this.currentMapArea == null ? -1 : this.currentMapArea.getId(); - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(B)Lag;", - garbageValue = "1" - ) - @Export("getCurrentMapArea") - public WorldMapArea getCurrentMapArea() { - return this.currentMapArea; - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(Lag;B)V", - garbageValue = "-27" - ) - @Export("setCurrentMapArea") - void setCurrentMapArea(WorldMapArea var1) { - if (this.currentMapArea == null || var1 != this.currentMapArea) { - this.initializeWorldMapManager(var1); - this.jump(-1, -1, -1); - } - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(Lag;B)V", - garbageValue = "63" - ) - @Export("initializeWorldMapManager") - void initializeWorldMapManager(WorldMapArea var1) { - this.currentMapArea = var1; - this.worldMapManager = new WorldMapManager(this.mapSceneSprites, this.fonts, this.WorldMap_geographyArchive, this.WorldMap_groundArchive); - this.cacheLoader.reset(this.currentMapArea.getInternalName()); - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lag;Lhj;Lhj;ZB)V", - garbageValue = "0" - ) - public void method6431(WorldMapArea var1, Coord var2, Coord var3, boolean var4) { - if (var1 != null) { - if (this.currentMapArea == null || var1 != this.currentMapArea) { - this.initializeWorldMapManager(var1); - } - - if (!var4 && this.currentMapArea.containsCoord(var2.plane, var2.x, var2.y)) { - this.jump(var2.plane, var2.x, var2.y); - } else { - this.jump(var3.plane, var3.x, var3.y); - } - - } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IIIB)V", - garbageValue = "-47" - ) - @Export("jump") - void jump(int var1, int var2, int var3) { - if (this.currentMapArea != null) { - int[] var4 = this.currentMapArea.position(var1, var2, var3); - if (var4 == null) { - var4 = this.currentMapArea.position(this.currentMapArea.getOriginPlane(), this.currentMapArea.getOriginX(), this.currentMapArea.getOriginY()); - } - - this.setWorldMapPosition(var4[0] - this.currentMapArea.getRegionLowX() * 64, var4[1] - this.currentMapArea.getRegionLowY() * 64, true); - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - this.zoom = this.getZoomFromPercentage(this.currentMapArea.getZoom()); - this.zoomTarget = this.zoom; - this.field3996 = null; - this.iconIterator = null; - this.worldMapManager.clearIcons(); - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IIIIIB)V", - garbageValue = "13" - ) - @Export("draw") - public void draw(int var1, int var2, int var3, int var4, int var5) { - int[] var6 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var6); - Rasterizer2D.Rasterizer2D_setClip(var1, var2, var3 + var1, var2 + var4); - Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); - int var7 = this.cacheLoader.getPercentLoaded(); - if (var7 < 100) { - this.drawLoading(var1, var2, var3, var4, var7); - } else { - if (!this.worldMapManager.isLoaded()) { - this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); - if (!this.worldMapManager.isLoaded()) { - return; - } - } - - if (this.flashingElements != null) { - ++this.flashCycle; - if (this.flashCycle % this.cyclesPerFlash == 0) { - this.flashCycle = 0; - ++this.flashCount; - } - - if (this.flashCount >= this.maxFlashCount && !this.perpetualFlash) { - this.flashingElements = null; - } - } - - int var8 = (int)Math.ceil((double)((float)var3 / this.zoom)); - int var9 = (int)Math.ceil((double)((float)var4 / this.zoom)); - this.worldMapManager.drawTiles(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4); - if (!this.elementsDisabled) { - boolean var10 = false; - if (var5 - this.field3994 > 100) { - this.field3994 = var5; - var10 = true; - } - - this.worldMapManager.drawElements(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field3992, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10); - } - - this.method6341(var1, var2, var3, var4, var8, var9); - if (SecureRandomCallable.method1092() && this.showCoord && this.mouseCoord != null) { - this.font.draw("Coord: " + this.mouseCoord, Rasterizer2D.Rasterizer2D_xClipStart + 10, Rasterizer2D.Rasterizer2D_yClipStart + 20, 16776960, -1); - } - - this.worldMapDisplayWidth = var8; - this.worldMapDisplayHeight = var9; - this.worldMapDisplayX = var1; - this.worldMapDisplayY = var2; - Rasterizer2D.Rasterizer2D_setClipArray(var6); - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(IIIIIII)Z", - garbageValue = "-943191584" - ) - boolean method6419(int var1, int var2, int var3, int var4, int var5, int var6) { - if (this.sprite == null) { - return true; - } else if (this.sprite.subWidth == var1 && this.sprite.subHeight == var2) { - if (this.worldMapManager.pixelsPerTile != this.cachedPixelsPerTile) { - return true; - } else if (this.field4005 != Client.field892) { - return true; - } else if (var3 <= 0 && var4 <= 0) { - return var3 + var1 < var5 || var2 + var4 < var6; - } else { - return true; - } - } else { - return true; - } - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(IIIIIIB)V", - garbageValue = "-74" - ) - void method6341(int var1, int var2, int var3, int var4, int var5, int var6) { - if (MenuAction.field1133 != null) { - int var7 = 512 / (this.worldMapManager.pixelsPerTile * 2); - int var8 = var3 + 512; - int var9 = var4 + 512; - float var10 = 1.0F; - var8 = (int)((float)var8 / var10); - var9 = (int)((float)var9 / var10); - int var11 = this.getDisplayX() - var5 / 2 - var7; - int var12 = this.getDisplayY() - var6 / 2 - var7; - int var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; - int var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); - if (this.method6419(var8, var9, var13, var14, var3, var4)) { - if (this.sprite != null && this.sprite.subWidth == var8 && this.sprite.subHeight == var9) { - Arrays.fill(this.sprite.pixels, 0); - } else { - this.sprite = new Sprite(var8, var9); - } - - this.minCachedTileX = this.getDisplayX() - var5 / 2 - var7; - this.minCachedTileY = this.getDisplayY() - var6 / 2 - var7; - this.cachedPixelsPerTile = this.worldMapManager.pixelsPerTile; - MenuAction.field1133.method4296(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10); - this.field4005 = Client.field892; - var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; - var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); - } - - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128); - if (var10 == 1.0F) { - this.sprite.method6096(var13, var14, 192); - } else { - this.sprite.method6099(var13, var14, (int)((float)var8 * var10), (int)((float)var9 * var10), 192); - } - } - - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "330665907" - ) - @Export("drawOverview") - public void drawOverview(int var1, int var2, int var3, int var4) { - if (this.cacheLoader.isLoaded()) { - if (!this.worldMapManager.isLoaded()) { - this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); - if (!this.worldMapManager.isLoaded()) { - return; - } - } - - this.worldMapManager.drawOverview(var1, var2, var3, var4, this.flashingElements, this.flashCycle, this.cyclesPerFlash); - } - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "0" - ) - @Export("setZoomPercentage") - public void setZoomPercentage(int var1) { - this.zoomTarget = this.getZoomFromPercentage(var1); - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(IIIIII)V", - garbageValue = "1308590489" - ) - @Export("drawLoading") - void drawLoading(int var1, int var2, int var3, int var4, int var5) { - byte var6 = 20; - int var7 = var3 / 2 + var1; - int var8 = var4 / 2 + var2 - 18 - var6; - Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); - Rasterizer2D.Rasterizer2D_drawRectangle(var7 - 152, var8, 304, 34, -65536); - Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, var5 * 3, 30, -65536); - this.font.drawCentered("Loading...", var7, var8 + var6, -1, -1); - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(II)F", - garbageValue = "-2084145204" - ) - @Export("getZoomFromPercentage") - float getZoomFromPercentage(int var1) { - if (var1 == 25) { - return 1.0F; - } else if (var1 == 37) { - return 1.5F; - } else if (var1 == 50) { - return 2.0F; - } else if (var1 == 75) { - return 3.0F; - } else { - return var1 == 100 ? 4.0F : 8.0F; - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-83" - ) - @Export("getZoomLevel") - public int getZoomLevel() { - if ((double)this.zoomTarget == 1.0D) { - return 25; - } else if ((double)this.zoomTarget == 1.5D) { - return 37; - } else if (2.0D == (double)this.zoomTarget) { - return 50; - } else if ((double)this.zoomTarget == 3.0D) { - return 75; - } else { - return (double)this.zoomTarget == 4.0D ? 100 : 200; - } - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1483543470" - ) - @Export("loadCache") - public void loadCache() { - this.cacheLoader.load(); - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "259244874" - ) - @Export("isCacheLoaded") - public boolean isCacheLoaded() { - return this.cacheLoader.isLoaded(); - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(II)Lag;", - garbageValue = "-1932249076" - ) - @Export("getMapArea") - public WorldMapArea getMapArea(int var1) { - Iterator var2 = this.details.values().iterator(); - - WorldMapArea var3; - do { - if (!var2.hasNext()) { - return null; - } - - var3 = (WorldMapArea)var2.next(); - } while(var3.getId() != var1); - - return var3; - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-75183731" - ) - @Export("setWorldMapPositionTarget") - public void setWorldMapPositionTarget(int var1, int var2) { - if (this.currentMapArea != null && this.currentMapArea.containsPosition(var1, var2)) { - this.worldMapTargetX = var1 - this.currentMapArea.getRegionLowX() * 64; - this.worldMapTargetY = var2 - this.currentMapArea.getRegionLowY() * 64; - } - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1776242940" - ) - @Export("setWorldMapPositionTargetInstant") - public void setWorldMapPositionTargetInstant(int var1, int var2) { - if (this.currentMapArea != null) { - this.setWorldMapPosition(var1 - this.currentMapArea.getRegionLowX() * 64, var2 - this.currentMapArea.getRegionLowY() * 64, true); - this.worldMapTargetX = -1; - this.worldMapTargetY = -1; - } - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "183887580" - ) - @Export("jumpToSourceCoord") - public void jumpToSourceCoord(int var1, int var2, int var3) { - if (this.currentMapArea != null) { - int[] var4 = this.currentMapArea.position(var1, var2, var3); - if (var4 != null) { - this.setWorldMapPositionTarget(var4[0], var4[1]); - } - - } - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "283279247" - ) - @Export("jumpToSourceCoordInstant") - public void jumpToSourceCoordInstant(int var1, int var2, int var3) { - if (this.currentMapArea != null) { - int[] var4 = this.currentMapArea.position(var1, var2, var3); - if (var4 != null) { - this.setWorldMapPositionTargetInstant(var4[0], var4[1]); - } - - } - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1849438841" - ) - @Export("getDisplayX") - public int getDisplayX() { - return this.currentMapArea == null ? -1 : this.centerTileX + this.currentMapArea.getRegionLowX() * 64; - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(S)I", - garbageValue = "10636" - ) - @Export("getDisplayY") - public int getDisplayY() { - return this.currentMapArea == null ? -1 : this.centerTileY + this.currentMapArea.getRegionLowY() * 64; - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(I)Lhj;", - garbageValue = "1205285454" - ) - @Export("getDisplayCoord") - public Coord getDisplayCoord() { - return this.currentMapArea == null ? null : this.currentMapArea.coord(this.getDisplayX(), this.getDisplayY()); - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(S)I", - garbageValue = "32767" - ) - @Export("getDisplayWith") - public int getDisplayWith() { - return this.worldMapDisplayWidth; - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1098284021" - ) - @Export("getDisplayHeight") - public int getDisplayHeight() { - return this.worldMapDisplayHeight; - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "572826072" - ) - @Export("setMaxFlashCount") - public void setMaxFlashCount(int var1) { - if (var1 >= 1) { - this.maxFlashCount = var1; - } - - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-950358190" - ) - @Export("resetMaxFlashCount") - public void resetMaxFlashCount() { - this.maxFlashCount = 3; - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "420340879" - ) - @Export("setCyclesPerFlash") - public void setCyclesPerFlash(int var1) { - if (var1 >= 1) { - this.cyclesPerFlash = var1; - } - - } - - @ObfuscatedName("ac") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2062037621" - ) - @Export("resetCyclesPerFlash") - public void resetCyclesPerFlash() { - this.cyclesPerFlash = 50; - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - signature = "(ZB)V", - garbageValue = "0" - ) - @Export("setPerpetualFlash") - public void setPerpetualFlash(boolean var1) { - this.perpetualFlash = var1; - } - - @ObfuscatedName("ai") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "-68" - ) - @Export("flashElement") - public void flashElement(int var1) { - this.flashingElements = new HashSet(); - this.flashingElements.add(var1); - this.flashCount = 0; - this.flashCycle = 0; - } - - @ObfuscatedName("am") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-774711731" - ) - @Export("flashCategory") - public void flashCategory(int var1) { - this.flashingElements = new HashSet(); - this.flashCount = 0; - this.flashCycle = 0; - - for (int var2 = 0; var2 < WorldMapElement.WorldMapElement_count; ++var2) { - if (WorldMapSection1.WorldMapElement_get(var2) != null && WorldMapSection1.WorldMapElement_get(var2).category == var1) { - this.flashingElements.add(WorldMapSection1.WorldMapElement_get(var2).objectId); - } - } - - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1418784886" - ) - @Export("stopCurrentFlashes") - public void stopCurrentFlashes() { - this.flashingElements = null; - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-259302748" - ) - @Export("setElementsDisabled") - public void setElementsDisabled(boolean var1) { - this.elementsDisabled = !var1; - } - - @ObfuscatedName("bg") - @ObfuscatedSignature( - signature = "(IZI)V", - garbageValue = "-1998188868" - ) - @Export("disableElement") - public void disableElement(int var1, boolean var2) { - if (!var2) { - this.enabledElements.add(var1); - } else { - this.enabledElements.remove(var1); - } - - this.method6317(); - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - signature = "(IZB)V", - garbageValue = "51" - ) - @Export("setCategoryDisabled") - public void setCategoryDisabled(int var1, boolean var2) { - if (!var2) { - this.enabledCategories.add(var1); - } else { - this.enabledCategories.remove(var1); - } - - for (int var3 = 0; var3 < WorldMapElement.WorldMapElement_count; ++var3) { - if (WorldMapSection1.WorldMapElement_get(var3) != null && WorldMapSection1.WorldMapElement_get(var3).category == var1) { - int var4 = WorldMapSection1.WorldMapElement_get(var3).objectId; - if (!var2) { - this.enabledElementIds.add(var4); - } else { - this.enabledElementIds.remove(var4); - } - } - } - - this.method6317(); - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "8" - ) - @Export("getElementsDisabled") - public boolean getElementsDisabled() { - return !this.elementsDisabled; - } - - @ObfuscatedName("bp") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "138663468" - ) - @Export("isElementDisabled") - public boolean isElementDisabled(int var1) { - return !this.enabledElements.contains(var1); - } - - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "194496667" - ) - @Export("isCategoryDisabled") - public boolean isCategoryDisabled(int var1) { - return !this.enabledCategories.contains(var1); - } - - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "65" - ) - void method6317() { - this.field3992.clear(); - this.field3992.addAll(this.enabledElements); - this.field3992.addAll(this.enabledElementIds); - } - - @ObfuscatedName("bv") - @ObfuscatedSignature( - signature = "(IIIIIII)V", - garbageValue = "1508673538" - ) - @Export("addElementMenuOptions") - public void addElementMenuOptions(int var1, int var2, int var3, int var4, int var5, int var6) { - if (this.cacheLoader.isLoaded()) { - int var7 = (int)Math.ceil((double)((float)var3 / this.zoom)); - int var8 = (int)Math.ceil((double)((float)var4 / this.zoom)); - List var9 = this.worldMapManager.method601(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, var1, var2, var3, var4, var5, var6); - if (!var9.isEmpty()) { - Iterator var10 = var9.iterator(); - - boolean var13; - do { - if (!var10.hasNext()) { - return; - } - - AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var10.next(); - WorldMapElement var12 = WorldMapSection1.WorldMapElement_get(var11.getElement()); - var13 = false; - - for (int var14 = this.menuOpcodes.length - 1; var14 >= 0; --var14) { - if (var12.menuActions[var14] != null) { - FontName.insertMenuItemNoShift(var12.menuActions[var14], var12.menuTargetName, this.menuOpcodes[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed()); - var13 = true; - } - } - } while(!var13); - - } - } - } - - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "(ILhj;B)Lhj;", - garbageValue = "13" - ) - public Coord method6319(int var1, Coord var2) { - if (!this.cacheLoader.isLoaded()) { - return null; - } else if (!this.worldMapManager.isLoaded()) { - return null; - } else if (!this.currentMapArea.containsPosition(var2.x, var2.y)) { - return null; - } else { - HashMap var3 = this.worldMapManager.buildIcons(); - List var4 = (List)var3.get(var1); - if (var4 != null && !var4.isEmpty()) { - AbstractWorldMapIcon var5 = null; - int var6 = -1; - Iterator var7 = var4.iterator(); - - while (true) { - AbstractWorldMapIcon var8; - int var11; - do { - if (!var7.hasNext()) { - return var5.coord2; - } - - var8 = (AbstractWorldMapIcon)var7.next(); - int var9 = var8.coord2.x - var2.x; - int var10 = var8.coord2.y - var2.y; - var11 = var10 * var10 + var9 * var9; - if (var11 == 0) { - return var8.coord2; - } - } while(var11 >= var6 && var5 != null); - - var5 = var8; - var6 = var11; - } - } else { - return null; - } - } - } - - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "(IILhj;Lhj;I)V", - garbageValue = "-1682434011" - ) - @Export("menuAction") - public void menuAction(int var1, int var2, Coord var3, Coord var4) { - ScriptEvent var5 = new ScriptEvent(); - WorldMapEvent var6 = new WorldMapEvent(var2, var3, var4); - var5.setArgs(new Object[]{var6}); - switch(var1) { - case 1008: - var5.setType(10); - break; - case 1009: - var5.setType(11); - break; - case 1010: - var5.setType(12); - break; - case 1011: - var5.setType(13); - break; - case 1012: - var5.setType(14); - } - - SecureRandomFuture.runScriptEvent(var5); - } - - @ObfuscatedName("bw") - @ObfuscatedSignature( - signature = "(I)Lap;", - garbageValue = "-1152647604" - ) - @Export("iconStart") - public AbstractWorldMapIcon iconStart() { - if (!this.cacheLoader.isLoaded()) { - return null; - } else if (!this.worldMapManager.isLoaded()) { - return null; - } else { - HashMap var1 = this.worldMapManager.buildIcons(); - this.field3996 = new LinkedList(); - Iterator var2 = var1.values().iterator(); - - while (var2.hasNext()) { - List var3 = (List)var2.next(); - this.field3996.addAll(var3); - } - - this.iconIterator = this.field3996.iterator(); - return this.iconNext(); - } - } - - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "(I)Lap;", - garbageValue = "770535012" - ) - @Export("iconNext") - public AbstractWorldMapIcon iconNext() { - if (this.iconIterator == null) { - return null; - } else { - AbstractWorldMapIcon var1; - do { - if (!this.iconIterator.hasNext()) { - return null; - } - - var1 = (AbstractWorldMapIcon)this.iconIterator.next(); - } while(var1.getElement() == -1); - - return var1; - } - } -} +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +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("la") +@Implements("WorldMap") +public class WorldMap { + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("fontNameVerdana11") + static final FontName fontNameVerdana11; + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("fontNameVerdana13") + static final FontName fontNameVerdana13; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lko;" + ) + @Export("fontNameVerdana15") + static final FontName fontNameVerdana15; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMap_archive") + AbstractArchive WorldMap_archive; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMap_geographyArchive") + AbstractArchive WorldMap_geographyArchive; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMap_groundArchive") + AbstractArchive WorldMap_groundArchive; + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lkn;" + ) + @Export("font") + Font font; + @ObfuscatedName("a") + @Export("fonts") + HashMap fonts; + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("mapSceneSprites") + IndexedSprite[] mapSceneSprites; + @ObfuscatedName("w") + @Export("details") + HashMap details; + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lac;" + ) + @Export("mainMapArea") + WorldMapArea mainMapArea; + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lac;" + ) + @Export("currentMapArea") + WorldMapArea currentMapArea; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lac;" + ) + WorldMapArea field3960; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lal;" + ) + @Export("worldMapManager") + WorldMapManager worldMapManager; + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "Llj;" + ) + @Export("cacheLoader") + WorldMapArchiveLoader cacheLoader; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1954693049 + ) + @Export("centerTileX") + int centerTileX; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1682895493 + ) + @Export("centerTileY") + int centerTileY; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1567029615 + ) + @Export("worldMapTargetX") + int worldMapTargetX; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1146650801 + ) + @Export("worldMapTargetY") + int worldMapTargetY; + @ObfuscatedName("k") + @Export("zoom") + float zoom; + @ObfuscatedName("ac") + @Export("zoomTarget") + float zoomTarget; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = 1385726617 + ) + @Export("worldMapDisplayWidth") + int worldMapDisplayWidth; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -673171535 + ) + @Export("worldMapDisplayHeight") + int worldMapDisplayHeight; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 1837582351 + ) + @Export("worldMapDisplayX") + int worldMapDisplayX; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 859234001 + ) + @Export("worldMapDisplayY") + int worldMapDisplayY; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -803250815 + ) + @Export("maxFlashCount") + int maxFlashCount; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -1420038403 + ) + @Export("cyclesPerFlash") + int cyclesPerFlash; + @ObfuscatedName("ax") + @Export("perpetualFlash") + boolean perpetualFlash; + @ObfuscatedName("as") + @Export("flashingElements") + HashSet flashingElements; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -1316059479 + ) + @Export("flashCount") + int flashCount; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 1480309149 + ) + @Export("flashCycle") + int flashCycle; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 1563853833 + ) + int field3979; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 50694755 + ) + int field3991; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = 34575525 + ) + int field3957; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = 361888335 + ) + int field3982; + @ObfuscatedName("aq") + @ObfuscatedGetter( + longValue = 2458788586712283789L + ) + long field3983; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 329127117 + ) + int field3999; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1406947901 + ) + int field3985; + @ObfuscatedName("av") + boolean field3986; + @ObfuscatedName("aj") + @Export("enabledElements") + HashSet enabledElements; + @ObfuscatedName("ay") + @Export("enabledCategories") + HashSet enabledCategories; + @ObfuscatedName("au") + @Export("enabledElementIds") + HashSet enabledElementIds; + @ObfuscatedName("af") + HashSet field3993; + @ObfuscatedName("at") + @Export("elementsDisabled") + boolean elementsDisabled; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = -1409948611 + ) + int field3990; + @ObfuscatedName("bd") + @Export("menuOpcodes") + final int[] menuOpcodes; + @ObfuscatedName("bm") + List field3995; + @ObfuscatedName("bv") + @Export("iconIterator") + Iterator iconIterator; + @ObfuscatedName("bj") + HashSet field3969; + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "Lhb;" + ) + @Export("mouseCoord") + Coord mouseCoord; + @ObfuscatedName("bz") + @Export("showCoord") + public boolean showCoord; + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "Llf;" + ) + @Export("sprite") + Sprite sprite; + @ObfuscatedName("bk") + @ObfuscatedGetter( + intValue = 111655549 + ) + @Export("cachedPixelsPerTile") + int cachedPixelsPerTile; + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = 2138854549 + ) + @Export("minCachedTileX") + int minCachedTileX; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = 84437289 + ) + @Export("minCachedTileY") + int minCachedTileY; + @ObfuscatedName("be") + @ObfuscatedGetter( + intValue = 162914603 + ) + int field4004; + + static { + fontNameVerdana11 = FontName.FontName_verdana11; + fontNameVerdana13 = FontName.FontName_verdana13; + fontNameVerdana15 = FontName.FontName_verdana15; + } + + public WorldMap() { + this.worldMapTargetX = -1; + this.worldMapTargetY = -1; + this.worldMapDisplayWidth = -1; + this.worldMapDisplayHeight = -1; + this.worldMapDisplayX = -1; + this.worldMapDisplayY = -1; + this.maxFlashCount = 3; + this.cyclesPerFlash = 50; + this.perpetualFlash = false; + this.flashingElements = null; + this.flashCount = -1; + this.flashCycle = -1; + this.field3979 = -1; + this.field3991 = -1; + this.field3957 = -1; + this.field3982 = -1; + this.field3986 = true; + this.enabledElements = new HashSet(); + this.enabledCategories = new HashSet(); + this.enabledElementIds = new HashSet(); + this.field3993 = new HashSet(); + this.elementsDisabled = false; + this.field3990 = 0; + this.menuOpcodes = new int[]{1008, 1009, 1010, 1011, 1012}; + this.field3969 = new HashSet(); + this.mouseCoord = null; + this.showCoord = false; + this.minCachedTileX = -1; + this.minCachedTileY = -1; + this.field4004 = -1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;Lhp;Lkn;Ljava/util/HashMap;[Llp;B)V", + garbageValue = "1" + ) + @Export("init") + public void init(AbstractArchive var1, AbstractArchive var2, AbstractArchive var3, Font var4, HashMap var5, IndexedSprite[] var6) { + this.mapSceneSprites = var6; + this.WorldMap_archive = var1; + this.WorldMap_geographyArchive = var2; + this.WorldMap_groundArchive = var3; + this.font = var4; + this.fonts = new HashMap(); + this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_small, var5.get(fontNameVerdana11)); + this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, var5.get(fontNameVerdana13)); + this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, var5.get(fontNameVerdana15)); + this.cacheLoader = new WorldMapArchiveLoader(var1); + int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.field284.name); + int[] var8 = this.WorldMap_archive.getGroupFileIds(var7); + this.details = new HashMap(var8.length); + + for (int var9 = 0; var9 < var8.length; ++var9) { + Buffer var10 = new Buffer(this.WorldMap_archive.takeFile(var7, var8[var9])); + WorldMapArea var11 = new WorldMapArea(); + var11.read(var10, var8[var9]); + this.details.put(var11.getInternalName(), var11); + if (var11.getIsMain()) { + this.mainMapArea = var11; + } + } + + this.setCurrentMapArea(this.mainMapArea); + this.field3960 = null; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-104" + ) + public void method6291() { + WorldMapRegion.WorldMapRegion_cachedSprites.demote(5); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIZIIIII)V", + garbageValue = "1450154554" + ) + @Export("onCycle") + public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) { + if (this.cacheLoader.isLoaded()) { + this.smoothZoom(); + this.scrollToTarget(); + if (var3) { + int var8 = (int)Math.ceil((double)((float)var6 / this.zoom)); + int var9 = (int)Math.ceil((double)((float)var7 / this.zoom)); + List var10 = this.worldMapManager.method664(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, var4, var5, var6, var7, var1, var2); + HashSet var11 = new HashSet(); + + Iterator var12; + AbstractWorldMapIcon var13; + ScriptEvent var14; + WorldMapEvent var15; + for (var12 = var10.iterator(); var12.hasNext(); ParamDefinition.runScriptEvent(var14)) { + var13 = (AbstractWorldMapIcon)var12.next(); + var11.add(var13); + var14 = new ScriptEvent(); + var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); + var14.setArgs(new Object[]{var15, var1, var2}); + if (this.field3969.contains(var13)) { + var14.setType(17); + } else { + var14.setType(15); + } + } + + var12 = this.field3969.iterator(); + + while (var12.hasNext()) { + var13 = (AbstractWorldMapIcon)var12.next(); + if (!var11.contains(var13)) { + var14 = new ScriptEvent(); + var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); + var14.setArgs(new Object[]{var15, var1, var2}); + var14.setType(16); + ParamDefinition.runScriptEvent(var14); + } + } + + this.field3969 = var11; + } + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIZZI)V", + garbageValue = "-1491433552" + ) + public void method6422(int var1, int var2, boolean var3, boolean var4) { + long var5 = class30.method566(); + this.method6282(var1, var2, var4, var5); + if (!this.hasTarget() && (var4 || var3)) { + if (var4) { + this.field3957 = var1; + this.field3982 = var2; + this.field3979 = this.centerTileX; + this.field3991 = this.centerTileY; + } + + if (this.field3979 != -1) { + int var7 = var1 - this.field3957; + int var8 = var2 - this.field3982; + this.setWorldMapPosition(this.field3979 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field3991, false); + } + } else { + this.method6246(); + } + + if (var4) { + this.field3983 = var5; + this.field3999 = var1; + this.field3985 = var2; + } + + } + + @ObfuscatedName("r") + void method6282(int var1, int var2, boolean var3, long var4) { + if (this.currentMapArea != null) { + int var6 = (int)((float)this.centerTileX + ((float)(var1 - this.worldMapDisplayX) - (float)this.getDisplayWith() * this.zoom / 2.0F) / this.zoom); + int var7 = (int)((float)this.centerTileY - ((float)(var2 - this.worldMapDisplayY) - (float)this.getDisplayHeight() * this.zoom / 2.0F) / this.zoom); + this.mouseCoord = this.currentMapArea.coord(var6 + this.currentMapArea.getRegionLowX() * 64, var7 + this.currentMapArea.getRegionLowY() * 64); + if (this.mouseCoord != null && var3) { + boolean var8 = Client.staffModLevel >= 2; + if (var8 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { + class287.method5205(this.mouseCoord.x, this.mouseCoord.y, this.mouseCoord.plane, false); + } else { + boolean var9 = true; + if (this.field3986) { + int var10 = var1 - this.field3999; + int var11 = var2 - this.field3985; + if (var4 - this.field3983 > 500L || var10 < -25 || var10 > 25 || var11 < -25 || var11 > 25) { + var9 = false; + } + } + + if (var9) { + PacketBufferNode var12 = InterfaceParent.getPacketBufferNode(ClientPacket.field2253, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeInt(this.mouseCoord.packed()); + Client.packetWriter.addNode(var12); + this.field3983 = 0L; + } + } + } + } else { + this.mouseCoord = null; + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1288599041" + ) + @Export("smoothZoom") + void smoothZoom() { + if (StudioGame.field3086 != null) { + this.zoom = this.zoomTarget; + } else { + if (this.zoom < this.zoomTarget) { + this.zoom = Math.min(this.zoomTarget, this.zoom + this.zoom / 30.0F); + } + + if (this.zoom > this.zoomTarget) { + this.zoom = Math.max(this.zoomTarget, this.zoom - this.zoom / 30.0F); + } + + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1882207287" + ) + @Export("scrollToTarget") + void scrollToTarget() { + if (this.hasTarget()) { + int var1 = this.worldMapTargetX - this.centerTileX; + int var2 = this.worldMapTargetY - this.centerTileY; + if (var1 != 0) { + var1 /= Math.min(8, Math.abs(var1)); + } + + if (var2 != 0) { + var2 /= Math.min(8, Math.abs(var2)); + } + + this.setWorldMapPosition(var1 + this.centerTileX, var2 + this.centerTileY, true); + if (this.worldMapTargetX == this.centerTileX && this.centerTileY == this.worldMapTargetY) { + this.worldMapTargetX = -1; + this.worldMapTargetY = -1; + } + + } + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(IIZI)V", + garbageValue = "-1851971614" + ) + @Export("setWorldMapPosition") + final void setWorldMapPosition(int var1, int var2, boolean var3) { + this.centerTileX = var1; + this.centerTileY = var2; + class30.method566(); + if (var3) { + this.method6246(); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "953529386" + ) + final void method6246() { + this.field3982 = -1; + this.field3957 = -1; + this.field3991 = -1; + this.field3979 = -1; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "259268213" + ) + @Export("hasTarget") + boolean hasTarget() { + return this.worldMapTargetX != -1 && this.worldMapTargetY != -1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IIII)Lac;", + garbageValue = "-621566969" + ) + @Export("mapAreaAtCoord") + public WorldMapArea mapAreaAtCoord(int var1, int var2, int var3) { + Iterator var4 = this.details.values().iterator(); + + WorldMapArea var5; + do { + if (!var4.hasNext()) { + return null; + } + + var5 = (WorldMapArea)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); + + return var5; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(IIIZI)V", + garbageValue = "-2123284790" + ) + public void method6249(int var1, int var2, int var3, boolean var4) { + WorldMapArea var5 = this.mapAreaAtCoord(var1, var2, var3); + if (var5 == null) { + if (!var4) { + return; + } + + var5 = this.mainMapArea; + } + + boolean var6 = false; + if (var5 != this.field3960 || var4) { + this.field3960 = var5; + this.setCurrentMapArea(var5); + var6 = true; + } + + if (var6 || var4) { + this.jump(var1, var2, var3); + } + + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1843160894" + ) + @Export("setCurrentMapAreaId") + public void setCurrentMapAreaId(int var1) { + WorldMapArea var2 = this.getMapArea(var1); + if (var2 != null) { + this.setCurrentMapArea(var2); + } + + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1549194975" + ) + @Export("currentMapAreaId") + public int currentMapAreaId() { + return this.currentMapArea == null ? -1 : this.currentMapArea.getId(); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)Lac;", + garbageValue = "-1891004879" + ) + @Export("getCurrentMapArea") + public WorldMapArea getCurrentMapArea() { + return this.currentMapArea; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Lac;I)V", + garbageValue = "1608722350" + ) + @Export("setCurrentMapArea") + void setCurrentMapArea(WorldMapArea var1) { + if (this.currentMapArea == null || var1 != this.currentMapArea) { + this.initializeWorldMapManager(var1); + this.jump(-1, -1, -1); + } + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(Lac;I)V", + garbageValue = "1970020075" + ) + @Export("initializeWorldMapManager") + void initializeWorldMapManager(WorldMapArea var1) { + this.currentMapArea = var1; + this.worldMapManager = new WorldMapManager(this.mapSceneSprites, this.fonts, this.WorldMap_geographyArchive, this.WorldMap_groundArchive); + this.cacheLoader.reset(this.currentMapArea.getInternalName()); + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(Lac;Lhb;Lhb;ZI)V", + garbageValue = "-1837684354" + ) + public void method6426(WorldMapArea var1, Coord var2, Coord var3, boolean var4) { + if (var1 != null) { + if (this.currentMapArea == null || var1 != this.currentMapArea) { + this.initializeWorldMapManager(var1); + } + + if (!var4 && this.currentMapArea.containsCoord(var2.plane, var2.x, var2.y)) { + this.jump(var2.plane, var2.x, var2.y); + } else { + this.jump(var3.plane, var3.x, var3.y); + } + + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "283727014" + ) + @Export("jump") + void jump(int var1, int var2, int var3) { + if (this.currentMapArea != null) { + int[] var4 = this.currentMapArea.position(var1, var2, var3); + if (var4 == null) { + var4 = this.currentMapArea.position(this.currentMapArea.getOriginPlane(), this.currentMapArea.getOriginX(), this.currentMapArea.getOriginY()); + } + + this.setWorldMapPosition(var4[0] - this.currentMapArea.getRegionLowX() * 64, var4[1] - this.currentMapArea.getRegionLowY() * 64, true); + this.worldMapTargetX = -1; + this.worldMapTargetY = -1; + this.zoom = this.getZoomFromPercentage(this.currentMapArea.getZoom()); + this.zoomTarget = this.zoom; + this.field3995 = null; + this.iconIterator = null; + this.worldMapManager.clearIcons(); + } + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(IIIIII)V", + garbageValue = "-2026264211" + ) + @Export("draw") + public void draw(int var1, int var2, int var3, int var4, int var5) { + int[] var6 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var6); + Rasterizer2D.Rasterizer2D_setClip(var1, var2, var3 + var1, var2 + var4); + Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); + int var7 = this.cacheLoader.getPercentLoaded(); + if (var7 < 100) { + this.drawLoading(var1, var2, var3, var4, var7); + } else { + if (!this.worldMapManager.isLoaded()) { + this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); + if (!this.worldMapManager.isLoaded()) { + return; + } + } + + if (this.flashingElements != null) { + ++this.flashCycle; + if (this.flashCycle % this.cyclesPerFlash == 0) { + this.flashCycle = 0; + ++this.flashCount; + } + + if (this.flashCount >= this.maxFlashCount && !this.perpetualFlash) { + this.flashingElements = null; + } + } + + int var8 = (int)Math.ceil((double)((float)var3 / this.zoom)); + int var9 = (int)Math.ceil((double)((float)var4 / this.zoom)); + this.worldMapManager.drawTiles(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4); + boolean var10; + if (!this.elementsDisabled) { + var10 = false; + if (var5 - this.field3990 > 100) { + this.field3990 = var5; + var10 = true; + } + + this.worldMapManager.drawElements(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field3993, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10); + } + + this.method6259(var1, var2, var3, var4, var8, var9); + var10 = Client.staffModLevel >= 2; + if (var10 && this.showCoord && this.mouseCoord != null) { + this.font.draw("Coord: " + this.mouseCoord, Rasterizer2D.Rasterizer2D_xClipStart + 10, Rasterizer2D.Rasterizer2D_yClipStart + 20, 16776960, -1); + } + + this.worldMapDisplayWidth = var8; + this.worldMapDisplayHeight = var9; + this.worldMapDisplayX = var1; + this.worldMapDisplayY = var2; + Rasterizer2D.Rasterizer2D_setClipArray(var6); + } + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(IIIIIII)Z", + garbageValue = "-219082293" + ) + boolean method6313(int var1, int var2, int var3, int var4, int var5, int var6) { + if (this.sprite == null) { + return true; + } else if (this.sprite.subWidth == var1 && this.sprite.subHeight == var2) { + if (this.worldMapManager.pixelsPerTile != this.cachedPixelsPerTile) { + return true; + } else if (this.field4004 != Client.field905) { + return true; + } else if (var3 <= 0 && var4 <= 0) { + return var3 + var1 < var5 || var2 + var4 < var6; + } else { + return true; + } + } else { + return true; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IIIIIIB)V", + garbageValue = "-51" + ) + void method6259(int var1, int var2, int var3, int var4, int var5, int var6) { + if (StudioGame.field3086 != null) { + int var7 = 512 / (this.worldMapManager.pixelsPerTile * 2); + int var8 = var3 + 512; + int var9 = var4 + 512; + float var10 = 1.0F; + var8 = (int)((float)var8 / var10); + var9 = (int)((float)var9 / var10); + int var11 = this.getDisplayX() - var5 / 2 - var7; + int var12 = this.getDisplayY() - var6 / 2 - var7; + int var13 = var1 - (var11 + var7 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; + int var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); + if (this.method6313(var8, var9, var13, var14, var3, var4)) { + if (this.sprite != null && this.sprite.subWidth == var8 && this.sprite.subHeight == var9) { + Arrays.fill(this.sprite.pixels, 0); + } else { + this.sprite = new Sprite(var8, var9); + } + + this.minCachedTileX = this.getDisplayX() - var5 / 2 - var7; + this.minCachedTileY = this.getDisplayY() - var6 / 2 - var7; + this.cachedPixelsPerTile = this.worldMapManager.pixelsPerTile; + StudioGame.field3086.method4291(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10); + this.field4004 = Client.field905; + var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; + var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); + } + + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128); + if (1.0F == var10) { + this.sprite.method6059(var13, var14, 192); + } else { + this.sprite.method6062(var13, var14, (int)(var10 * (float)var8), (int)((float)var9 * var10), 192); + } + } + + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "2080480921" + ) + @Export("drawOverview") + public void drawOverview(int var1, int var2, int var3, int var4) { + if (this.cacheLoader.isLoaded()) { + if (!this.worldMapManager.isLoaded()) { + this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); + if (!this.worldMapManager.isLoaded()) { + return; + } + } + + this.worldMapManager.drawOverview(var1, var2, var3, var4, this.flashingElements, this.flashCycle, this.cyclesPerFlash); + } + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-182850463" + ) + @Export("setZoomPercentage") + public void setZoomPercentage(int var1) { + this.zoomTarget = this.getZoomFromPercentage(var1); + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(IIIIII)V", + garbageValue = "-715174082" + ) + @Export("drawLoading") + void drawLoading(int var1, int var2, int var3, int var4, int var5) { + byte var6 = 20; + int var7 = var3 / 2 + var1; + int var8 = var4 / 2 + var2 - 18 - var6; + Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); + Rasterizer2D.Rasterizer2D_drawRectangle(var7 - 152, var8, 304, 34, -65536); + Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, var5 * 3, 30, -65536); + this.font.drawCentered("Loading...", var7, var6 + var8, -1, -1); + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(II)F", + garbageValue = "-1053679854" + ) + @Export("getZoomFromPercentage") + float getZoomFromPercentage(int var1) { + if (var1 == 25) { + return 1.0F; + } else if (var1 == 37) { + return 1.5F; + } else if (var1 == 50) { + return 2.0F; + } else if (var1 == 75) { + return 3.0F; + } else { + return var1 == 100 ? 4.0F : 8.0F; + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-76" + ) + @Export("getZoomLevel") + public int getZoomLevel() { + if (1.0D == (double)this.zoomTarget) { + return 25; + } else if ((double)this.zoomTarget == 1.5D) { + return 37; + } else if (2.0D == (double)this.zoomTarget) { + return 50; + } else if ((double)this.zoomTarget == 3.0D) { + return 75; + } else { + return (double)this.zoomTarget == 4.0D ? 100 : 200; + } + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1380141937" + ) + @Export("loadCache") + public void loadCache() { + this.cacheLoader.load(); + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1475229253" + ) + @Export("isCacheLoaded") + public boolean isCacheLoaded() { + return this.cacheLoader.isLoaded(); + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(II)Lac;", + garbageValue = "1869906825" + ) + @Export("getMapArea") + public WorldMapArea getMapArea(int var1) { + Iterator var2 = this.details.values().iterator(); + + WorldMapArea var3; + do { + if (!var2.hasNext()) { + return null; + } + + var3 = (WorldMapArea)var2.next(); + } while(var3.getId() != var1); + + return var3; + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "368218253" + ) + @Export("setWorldMapPositionTarget") + public void setWorldMapPositionTarget(int var1, int var2) { + if (this.currentMapArea != null && this.currentMapArea.containsPosition(var1, var2)) { + this.worldMapTargetX = var1 - this.currentMapArea.getRegionLowX() * 64; + this.worldMapTargetY = var2 - this.currentMapArea.getRegionLowY() * 64; + } + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "-63" + ) + @Export("setWorldMapPositionTargetInstant") + public void setWorldMapPositionTargetInstant(int var1, int var2) { + if (this.currentMapArea != null) { + this.setWorldMapPosition(var1 - this.currentMapArea.getRegionLowX() * 64, var2 - this.currentMapArea.getRegionLowY() * 64, true); + this.worldMapTargetX = -1; + this.worldMapTargetY = -1; + } + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-1606645646" + ) + @Export("jumpToSourceCoord") + public void jumpToSourceCoord(int var1, int var2, int var3) { + if (this.currentMapArea != null) { + int[] var4 = this.currentMapArea.position(var1, var2, var3); + if (var4 != null) { + this.setWorldMapPositionTarget(var4[0], var4[1]); + } + + } + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(IIIB)V", + garbageValue = "-123" + ) + @Export("jumpToSourceCoordInstant") + public void jumpToSourceCoordInstant(int var1, int var2, int var3) { + if (this.currentMapArea != null) { + int[] var4 = this.currentMapArea.position(var1, var2, var3); + if (var4 != null) { + this.setWorldMapPositionTargetInstant(var4[0], var4[1]); + } + + } + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1574035017" + ) + @Export("getDisplayX") + public int getDisplayX() { + return this.currentMapArea == null ? -1 : this.centerTileX + this.currentMapArea.getRegionLowX() * 64; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "73" + ) + @Export("getDisplayY") + public int getDisplayY() { + return this.currentMapArea == null ? -1 : this.centerTileY + this.currentMapArea.getRegionLowY() * 64; + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(I)Lhb;", + garbageValue = "45330133" + ) + @Export("getDisplayCoord") + public Coord getDisplayCoord() { + return this.currentMapArea == null ? null : this.currentMapArea.coord(this.getDisplayX(), this.getDisplayY()); + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "29" + ) + @Export("getDisplayWith") + public int getDisplayWith() { + return this.worldMapDisplayWidth; + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-913448953" + ) + @Export("getDisplayHeight") + public int getDisplayHeight() { + return this.worldMapDisplayHeight; + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-582916792" + ) + @Export("setMaxFlashCount") + public void setMaxFlashCount(int var1) { + if (var1 >= 1) { + this.maxFlashCount = var1; + } + + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-46547597" + ) + @Export("resetMaxFlashCount") + public void resetMaxFlashCount() { + this.maxFlashCount = 3; + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1061983788" + ) + @Export("setCyclesPerFlash") + public void setCyclesPerFlash(int var1) { + if (var1 >= 1) { + this.cyclesPerFlash = var1; + } + + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-996390323" + ) + @Export("resetCyclesPerFlash") + public void resetCyclesPerFlash() { + this.cyclesPerFlash = 50; + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "87961823" + ) + @Export("setPerpetualFlash") + public void setPerpetualFlash(boolean var1) { + this.perpetualFlash = var1; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "43" + ) + @Export("flashElement") + public void flashElement(int var1) { + this.flashingElements = new HashSet(); + this.flashingElements.add(var1); + this.flashCount = 0; + this.flashCycle = 0; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + signature = "(IB)V", + garbageValue = "52" + ) + @Export("flashCategory") + public void flashCategory(int var1) { + this.flashingElements = new HashSet(); + this.flashCount = 0; + this.flashCycle = 0; + + for (int var2 = 0; var2 < WorldMapElement.WorldMapElement_count; ++var2) { + if (Decimator.WorldMapElement_get(var2) != null && Decimator.WorldMapElement_get(var2).category == var1) { + this.flashingElements.add(Decimator.WorldMapElement_get(var2).objectId); + } + } + + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-20" + ) + @Export("stopCurrentFlashes") + public void stopCurrentFlashes() { + this.flashingElements = null; + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + signature = "(ZI)V", + garbageValue = "1945794085" + ) + @Export("setElementsDisabled") + public void setElementsDisabled(boolean var1) { + this.elementsDisabled = !var1; + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + signature = "(IZS)V", + garbageValue = "128" + ) + @Export("disableElement") + public void disableElement(int var1, boolean var2) { + if (!var2) { + this.enabledElements.add(var1); + } else { + this.enabledElements.remove(var1); + } + + this.method6247(); + } + + @ObfuscatedName("bd") + @ObfuscatedSignature( + signature = "(IZI)V", + garbageValue = "1967881085" + ) + @Export("setCategoryDisabled") + public void setCategoryDisabled(int var1, boolean var2) { + if (!var2) { + this.enabledCategories.add(var1); + } else { + this.enabledCategories.remove(var1); + } + + for (int var3 = 0; var3 < WorldMapElement.WorldMapElement_count; ++var3) { + if (Decimator.WorldMapElement_get(var3) != null && Decimator.WorldMapElement_get(var3).category == var1) { + int var4 = Decimator.WorldMapElement_get(var3).objectId; + if (!var2) { + this.enabledElementIds.add(var4); + } else { + this.enabledElementIds.remove(var4); + } + } + } + + this.method6247(); + } + + @ObfuscatedName("bm") + @ObfuscatedSignature( + signature = "(B)Z", + garbageValue = "7" + ) + @Export("getElementsDisabled") + public boolean getElementsDisabled() { + return !this.elementsDisabled; + } + + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "(IS)Z", + garbageValue = "15242" + ) + @Export("isElementDisabled") + public boolean isElementDisabled(int var1) { + return !this.enabledElements.contains(var1); + } + + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "(IB)Z", + garbageValue = "0" + ) + @Export("isCategoryDisabled") + public boolean isCategoryDisabled(int var1) { + return !this.enabledCategories.contains(var1); + } + + @ObfuscatedName("bs") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1172651735" + ) + void method6247() { + this.field3993.clear(); + this.field3993.addAll(this.enabledElements); + this.field3993.addAll(this.enabledElementIds); + } + + @ObfuscatedName("bz") + @ObfuscatedSignature( + signature = "(IIIIIIB)V", + garbageValue = "-67" + ) + @Export("addElementMenuOptions") + public void addElementMenuOptions(int var1, int var2, int var3, int var4, int var5, int var6) { + if (this.cacheLoader.isLoaded()) { + int var7 = (int)Math.ceil((double)((float)var3 / this.zoom)); + int var8 = (int)Math.ceil((double)((float)var4 / this.zoom)); + List var9 = this.worldMapManager.method664(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, var1, var2, var3, var4, var5, var6); + if (!var9.isEmpty()) { + Iterator var10 = var9.iterator(); + + boolean var13; + do { + if (!var10.hasNext()) { + return; + } + + AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var10.next(); + WorldMapElement var12 = Decimator.WorldMapElement_get(var11.getElement()); + var13 = false; + + for (int var14 = this.menuOpcodes.length - 1; var14 >= 0; --var14) { + if (var12.menuActions[var14] != null) { + WorldMapData_1.insertMenuItemNoShift(var12.menuActions[var14], var12.menuTargetName, this.menuOpcodes[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed()); + var13 = true; + } + } + } while(!var13); + + } + } + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "(ILhb;I)Lhb;", + garbageValue = "1301957345" + ) + public Coord method6293(int var1, Coord var2) { + if (!this.cacheLoader.isLoaded()) { + return null; + } else if (!this.worldMapManager.isLoaded()) { + return null; + } else if (!this.currentMapArea.containsPosition(var2.x, var2.y)) { + return null; + } else { + HashMap var3 = this.worldMapManager.buildIcons(); + List var4 = (List)var3.get(var1); + if (var4 != null && !var4.isEmpty()) { + AbstractWorldMapIcon var5 = null; + int var6 = -1; + Iterator var7 = var4.iterator(); + + while (true) { + AbstractWorldMapIcon var8; + int var11; + do { + if (!var7.hasNext()) { + return var5.coord2; + } + + var8 = (AbstractWorldMapIcon)var7.next(); + int var9 = var8.coord2.x - var2.x; + int var10 = var8.coord2.y - var2.y; + var11 = var10 * var10 + var9 * var9; + if (var11 == 0) { + return var8.coord2; + } + } while(var11 >= var6 && var5 != null); + + var5 = var8; + var6 = var11; + } + } else { + return null; + } + } + } + + @ObfuscatedName("bk") + @ObfuscatedSignature( + signature = "(IILhb;Lhb;I)V", + garbageValue = "-94159159" + ) + @Export("menuAction") + public void menuAction(int var1, int var2, Coord var3, Coord var4) { + ScriptEvent var5 = new ScriptEvent(); + WorldMapEvent var6 = new WorldMapEvent(var2, var3, var4); + var5.setArgs(new Object[]{var6}); + switch(var1) { + case 1008: + var5.setType(10); + break; + case 1009: + var5.setType(11); + break; + case 1010: + var5.setType(12); + break; + case 1011: + var5.setType(13); + break; + case 1012: + var5.setType(14); + } + + ParamDefinition.runScriptEvent(var5); + } + + @ObfuscatedName("ba") + @ObfuscatedSignature( + signature = "(I)Las;", + garbageValue = "975625926" + ) + @Export("iconStart") + public AbstractWorldMapIcon iconStart() { + if (!this.cacheLoader.isLoaded()) { + return null; + } else if (!this.worldMapManager.isLoaded()) { + return null; + } else { + HashMap var1 = this.worldMapManager.buildIcons(); + this.field3995 = new LinkedList(); + Iterator var2 = var1.values().iterator(); + + while (var2.hasNext()) { + List var3 = (List)var2.next(); + this.field3995.addAll(var3); + } + + this.iconIterator = this.field3995.iterator(); + return this.iconNext(); + } + } + + @ObfuscatedName("bn") + @ObfuscatedSignature( + signature = "(I)Las;", + garbageValue = "497923892" + ) + @Export("iconNext") + public AbstractWorldMapIcon iconNext() { + if (this.iconIterator == null) { + return null; + } else { + AbstractWorldMapIcon var1; + do { + if (!this.iconIterator.hasNext()) { + return null; + } + + var1 = (AbstractWorldMapIcon)this.iconIterator.next(); + } while(var1.getElement() == -1); + + return var1; + } + } +} diff --git a/runescape-client/src/main/java/WorldMapArchiveLoader.java b/runescape-client/src/main/java/WorldMapArchiveLoader.java index 92d15cecee..ae60fc90af 100644 --- a/runescape-client/src/main/java/WorldMapArchiveLoader.java +++ b/runescape-client/src/main/java/WorldMapArchiveLoader.java @@ -1,109 +1,109 @@ -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("ly") -@Implements("WorldMapArchiveLoader") -public class WorldMapArchiveLoader { - @ObfuscatedName("l") - @Export("cacheName") - String cacheName; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("archive") - AbstractArchive archive; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1194864205 - ) - @Export("percentLoaded") - int percentLoaded; - @ObfuscatedName("v") - @Export("loaded") - boolean loaded; - - @ObfuscatedSignature( - signature = "(Lhz;)V" - ) - WorldMapArchiveLoader(AbstractArchive var1) { - this.percentLoaded = 0; - this.loaded = false; - this.archive = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "-36" - ) - @Export("reset") - void reset(String var1) { - if (var1 != null && !var1.isEmpty()) { - if (var1 != this.cacheName) { - this.cacheName = var1; - this.percentLoaded = 0; - this.loaded = false; - this.load(); - } - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1679536571" - ) - @Export("load") - int load() { - if (this.percentLoaded < 33) { - if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field295.name, this.cacheName)) { - return this.percentLoaded; - } - - this.percentLoaded = 33; - } - - if (this.percentLoaded == 33) { - if (this.archive.isValidFileName(WorldMapCacheName.field296.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field296.name, this.cacheName)) { - return this.percentLoaded; - } - - this.percentLoaded = 66; - } - - if (this.percentLoaded == 66) { - if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field298.name)) { - return this.percentLoaded; - } - - this.percentLoaded = 100; - this.loaded = true; - } - - return this.percentLoaded; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-528257438" - ) - @Export("isLoaded") - boolean isLoaded() { - return this.loaded; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "11" - ) - @Export("getPercentLoaded") - int getPercentLoaded() { - return this.percentLoaded; - } -} +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("lj") +@Implements("WorldMapArchiveLoader") +public class WorldMapArchiveLoader { + @ObfuscatedName("r") + @Export("cacheName") + String cacheName; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("archive") + AbstractArchive archive; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1787474783 + ) + @Export("percentLoaded") + int percentLoaded; + @ObfuscatedName("m") + @Export("loaded") + boolean loaded; + + @ObfuscatedSignature( + signature = "(Lhp;)V" + ) + WorldMapArchiveLoader(AbstractArchive var1) { + this.percentLoaded = 0; + this.loaded = false; + this.archive = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;B)V", + garbageValue = "98" + ) + @Export("reset") + void reset(String var1) { + if (var1 != null && !var1.isEmpty()) { + if (var1 != this.cacheName) { + this.cacheName = var1; + this.percentLoaded = 0; + this.loaded = false; + this.load(); + } + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1938361839" + ) + @Export("load") + int load() { + if (this.percentLoaded < 33) { + if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field289.name, this.cacheName)) { + return this.percentLoaded; + } + + this.percentLoaded = 33; + } + + if (this.percentLoaded == 33) { + if (this.archive.isValidFileName(WorldMapCacheName.field283.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field283.name, this.cacheName)) { + return this.percentLoaded; + } + + this.percentLoaded = 66; + } + + if (this.percentLoaded == 66) { + if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field287.name)) { + return this.percentLoaded; + } + + this.percentLoaded = 100; + this.loaded = true; + } + + return this.percentLoaded; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "741397645" + ) + @Export("isLoaded") + boolean isLoaded() { + return this.loaded; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1707041754" + ) + @Export("getPercentLoaded") + int getPercentLoaded() { + return this.percentLoaded; + } +} diff --git a/runescape-client/src/main/java/WorldMapArea.java b/runescape-client/src/main/java/WorldMapArea.java index 69bde5de26..98bd2fee69 100644 --- a/runescape-client/src/main/java/WorldMapArea.java +++ b/runescape-client/src/main/java/WorldMapArea.java @@ -1,547 +1,431 @@ -import java.util.Iterator; -import java.util.LinkedList; -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("ag") -@Implements("WorldMapArea") -public class WorldMapArea { - @ObfuscatedName("qq") - @ObfuscatedGetter( - intValue = 1818020345 - ) - static int field211; - @ObfuscatedName("bs") - static String field217; - @ObfuscatedName("df") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive18") - static Archive archive18; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1655735229 - ) - @Export("id") - int id; - @ObfuscatedName("x") - @Export("internalName") - String internalName; - @ObfuscatedName("t") - @Export("externalName") - String externalName; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1137317827 - ) - @Export("backGroundColor") - int backGroundColor; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1994031909 - ) - @Export("zoom") - int zoom; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhj;" - ) - @Export("origin") - Coord origin; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1491107613 - ) - @Export("regionLowX") - int regionLowX; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 606325911 - ) - @Export("regionHighX") - int regionHighX; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -2012001011 - ) - @Export("regionLowY") - int regionLowY; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -303428785 - ) - @Export("regionHighY") - int regionHighY; - @ObfuscatedName("n") - @Export("isMain") - boolean isMain; - @ObfuscatedName("h") - @Export("sections") - LinkedList sections; - - public WorldMapArea() { - this.id = -1; - this.backGroundColor = -1; - this.zoom = -1; - this.origin = null; - this.regionLowX = Integer.MAX_VALUE; - this.regionHighX = 0; - this.regionLowY = Integer.MAX_VALUE; - this.regionHighY = 0; - this.isMain = false; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "-895936628" - ) - @Export("read") - public void read(Buffer var1, int var2) { - this.id = var2; - this.internalName = var1.readStringCp1252NullTerminated(); - this.externalName = var1.readStringCp1252NullTerminated(); - this.origin = new Coord(var1.readInt()); - this.backGroundColor = var1.readInt(); - var1.readUnsignedByte(); - this.isMain = var1.readUnsignedByte() == 1; - this.zoom = var1.readUnsignedByte(); - int var3 = var1.readUnsignedByte(); - this.sections = new LinkedList(); - - for (int var4 = 0; var4 < var3; ++var4) { - this.sections.add(this.readWorldMapSection(var1)); - } - - this.setBounds(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;B)Lab;", - garbageValue = "-54" - ) - @Export("readWorldMapSection") - WorldMapSection readWorldMapSection(Buffer var1) { - int var2 = var1.readUnsignedByte(); - WorldMapSectionType[] var3 = new WorldMapSectionType[]{WorldMapSectionType.WORLDMAPSECTIONTYPE3, WorldMapSectionType.WORLDMAPSECTIONTYPE1, WorldMapSectionType.WORLDMAPSECTIONTYPE0, WorldMapSectionType.WORLDMAPSECTIONTYPE2}; - WorldMapSectionType var4 = (WorldMapSectionType)ServerPacket.findEnumerated(var3, var2); - Object var5 = null; - switch(var4.type) { - case 0: - var5 = new WorldMapSection1(); - break; - case 1: - var5 = new class42(); - break; - case 2: - var5 = new WorldMapSection2(); - break; - case 3: - var5 = new WorldMapSection0(); - break; - default: - throw new IllegalStateException(""); - } - - ((WorldMapSection)var5).read(var1); - return (WorldMapSection)var5; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIII)Z", - garbageValue = "937674966" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - Iterator var4 = this.sections.iterator(); - - WorldMapSection var5; - do { - if (!var4.hasNext()) { - return false; - } - - var5 = (WorldMapSection)var4.next(); - } while(!var5.containsCoord(var1, var2, var3)); - - return true; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1788477948" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - int var3 = var1 / 64; - int var4 = var2 / 64; - if (var3 >= this.regionLowX && var3 <= this.regionHighX) { - if (var4 >= this.regionLowY && var4 <= this.regionHighY) { - Iterator var5 = this.sections.iterator(); - - WorldMapSection var6; - do { - if (!var5.hasNext()) { - return false; - } - - var6 = (WorldMapSection)var5.next(); - } while(!var6.containsPosition(var1, var2)); - - return true; - } else { - return false; - } - } else { - return false; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIIB)[I", - garbageValue = "124" - ) - @Export("position") - public int[] position(int var1, int var2, int var3) { - Iterator var4 = this.sections.iterator(); - - WorldMapSection var5; - do { - if (!var4.hasNext()) { - return null; - } - - var5 = (WorldMapSection)var4.next(); - } while(!var5.containsCoord(var1, var2, var3)); - - return var5.getBorderTileLengths(var1, var2, var3); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIB)Lhj;", - garbageValue = "-63" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - Iterator var3 = this.sections.iterator(); - - WorldMapSection var4; - do { - if (!var3.hasNext()) { - return null; - } - - var4 = (WorldMapSection)var3.next(); - } while(!var4.containsPosition(var1, var2)); - - return var4.coord(var1, var2); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1096430580" - ) - @Export("setBounds") - void setBounds() { - Iterator var1 = this.sections.iterator(); - - while (var1.hasNext()) { - WorldMapSection var2 = (WorldMapSection)var1.next(); - var2.expandBounds(this); - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "-25" - ) - @Export("getId") - public int getId() { - return this.id; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(B)Z", - garbageValue = "63" - ) - @Export("getIsMain") - public boolean getIsMain() { - return this.isMain; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "1625444828" - ) - @Export("getInternalName") - public String getInternalName() { - return this.internalName; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)Ljava/lang/String;", - garbageValue = "69" - ) - @Export("getExternalName") - public String getExternalName() { - return this.externalName; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1831557755" - ) - @Export("getBackGroundColor") - int getBackGroundColor() { - return this.backGroundColor; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "201981881" - ) - @Export("getZoom") - public int getZoom() { - return this.zoom; - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1169721837" - ) - @Export("getRegionLowX") - public int getRegionLowX() { - return this.regionLowX; - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(S)I", - garbageValue = "255" - ) - @Export("getRegionHighX") - public int getRegionHighX() { - return this.regionHighX; - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1241081128" - ) - @Export("getRegionLowY") - public int getRegionLowY() { - return this.regionLowY; - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-711950518" - ) - @Export("getRegionHighY") - public int getRegionHighY() { - return this.regionHighY; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "35" - ) - @Export("getOriginX") - public int getOriginX() { - return this.origin.x; - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-377438716" - ) - @Export("getOriginPlane") - public int getOriginPlane() { - return this.origin.plane; - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2063463136" - ) - @Export("getOriginY") - public int getOriginY() { - return this.origin.y; - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(I)Lhj;", - garbageValue = "-1241114474" - ) - @Export("getOrigin") - public Coord getOrigin() { - return new Coord(this.origin); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IILfw;Lfj;I)Z", - garbageValue = "-2082294853" - ) - static final boolean method315(int var0, int var1, RouteStrategy var2, CollisionMap var3) { - int var4 = var0; - int var5 = var1; - byte var6 = 64; - byte var7 = 64; - int var8 = var0 - var6; - int var9 = var1 - var7; - class173.directions[var6][var7] = 99; - class173.distances[var6][var7] = 0; - byte var10 = 0; - int var11 = 0; - class173.bufferX[var10] = var0; - byte var10001 = var10; - int var18 = var10 + 1; - class173.bufferY[var10001] = var1; - int[][] var12 = var3.flags; - - while (var11 != var18) { - var4 = class173.bufferX[var11]; - var5 = class173.bufferY[var11]; - var11 = var11 + 1 & 4095; - int var16 = var4 - var8; - int var17 = var5 - var9; - int var13 = var4 - var3.xInset; - int var14 = var5 - var3.yInset; - if (var2.hasArrived(2, var4, var5, var3)) { - class173.field2063 = var4; - class173.field2068 = var5; - return true; - } - - int var15 = class173.distances[var16][var17] + 1; - if (var16 > 0 && class173.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136782) == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0) { - class173.bufferX[var18] = var4 - 1; - class173.bufferY[var18] = var5; - var18 = var18 + 1 & 4095; - class173.directions[var16 - 1][var17] = 2; - class173.distances[var16 - 1][var17] = var15; - } - - if (var16 < 126 && class173.directions[var16 + 1][var17] == 0 && (var12[var13 + 2][var14] & 19136899) == 0 && (var12[var13 + 2][var14 + 1] & 19136992) == 0) { - class173.bufferX[var18] = var4 + 1; - class173.bufferY[var18] = var5; - var18 = var18 + 1 & 4095; - class173.directions[var16 + 1][var17] = 8; - class173.distances[var16 + 1][var17] = var15; - } - - if (var17 > 0 && class173.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136782) == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0) { - class173.bufferX[var18] = var4; - class173.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class173.directions[var16][var17 - 1] = 1; - class173.distances[var16][var17 - 1] = var15; - } - - if (var17 < 126 && class173.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 2] & 19136824) == 0 && (var12[var13 + 1][var14 + 2] & 19136992) == 0) { - class173.bufferX[var18] = var4; - class173.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class173.directions[var16][var17 + 1] = 4; - class173.distances[var16][var17 + 1] = var15; - } - - if (var16 > 0 && var17 > 0 && class173.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14] & 19136830) == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13][var14 - 1] & 19136911) == 0) { - class173.bufferX[var18] = var4 - 1; - class173.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class173.directions[var16 - 1][var17 - 1] = 3; - class173.distances[var16 - 1][var17 - 1] = var15; - } - - if (var16 < 126 && var17 > 0 && class173.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136911) == 0 && (var12[var13 + 2][var14 - 1] & 19136899) == 0 && (var12[var13 + 2][var14] & 19136995) == 0) { - class173.bufferX[var18] = var4 + 1; - class173.bufferY[var18] = var5 - 1; - var18 = var18 + 1 & 4095; - class173.directions[var16 + 1][var17 - 1] = 9; - class173.distances[var16 + 1][var17 - 1] = var15; - } - - if (var16 > 0 && var17 < 126 && class173.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136830) == 0 && (var12[var13 - 1][var14 + 2] & 19136824) == 0 && (var12[var13][var14 + 2] & 19137016) == 0) { - class173.bufferX[var18] = var4 - 1; - class173.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class173.directions[var16 - 1][var17 + 1] = 6; - class173.distances[var16 - 1][var17 + 1] = var15; - } - - if (var16 < 126 && var17 < 126 && class173.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 2] & 19137016) == 0 && (var12[var13 + 2][var14 + 2] & 19136992) == 0 && (var12[var13 + 2][var14 + 1] & 19136995) == 0) { - class173.bufferX[var18] = var4 + 1; - class173.bufferY[var18] = var5 + 1; - var18 = var18 + 1 & 4095; - class173.directions[var16 + 1][var17 + 1] = 12; - class173.distances[var16 + 1][var17 + 1] = var15; - } - } - - class173.field2063 = var4; - class173.field2068 = var5; - return false; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "127" - ) - @Export("itemContainerSetItem") - static void itemContainerSetItem(int var0, int var1, int var2, int var3) { - ItemContainer var4 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var4 == null) { - var4 = new ItemContainer(); - ItemContainer.itemContainers.put(var4, (long)var0); - } - - if (var4.ids.length <= var1) { - int[] var5 = new int[var1 + 1]; - int[] var6 = new int[var1 + 1]; - - int var7; - for (var7 = 0; var7 < var4.ids.length; ++var7) { - var5[var7] = var4.ids[var7]; - var6[var7] = var4.quantities[var7]; - } - - for (var7 = var4.ids.length; var7 < var1; ++var7) { - var5[var7] = -1; - var6[var7] = 0; - } - - var4.ids = var5; - var4.quantities = var6; - } - - var4.ids[var1] = var2; - var4.quantities[var1] = var3; - } -} +import java.util.Iterator; +import java.util.LinkedList; +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("ac") +@Implements("WorldMapArea") +public class WorldMapArea { + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = 1141206621 + ) + static int field218; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -321078873 + ) + @Export("id") + int id; + @ObfuscatedName("n") + @Export("internalName") + String internalName; + @ObfuscatedName("v") + @Export("externalName") + String externalName; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 795826291 + ) + @Export("backGroundColor") + int backGroundColor; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1782121101 + ) + @Export("zoom") + int zoom; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhb;" + ) + @Export("origin") + Coord origin; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 546610083 + ) + @Export("regionLowX") + int regionLowX; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 178341683 + ) + @Export("regionHighX") + int regionHighX; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1886608901 + ) + @Export("regionLowY") + int regionLowY; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1084185477 + ) + @Export("regionHighY") + int regionHighY; + @ObfuscatedName("c") + @Export("isMain") + boolean isMain; + @ObfuscatedName("b") + @Export("sections") + LinkedList sections; + + public WorldMapArea() { + this.id = -1; + this.backGroundColor = -1; + this.zoom = -1; + this.origin = null; + this.regionLowX = Integer.MAX_VALUE; + this.regionHighX = 0; + this.regionLowY = Integer.MAX_VALUE; + this.regionHighY = 0; + this.isMain = false; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-2114218332" + ) + @Export("read") + public void read(Buffer var1, int var2) { + this.id = var2; + this.internalName = var1.readStringCp1252NullTerminated(); + this.externalName = var1.readStringCp1252NullTerminated(); + this.origin = new Coord(var1.readInt()); + this.backGroundColor = var1.readInt(); + var1.readUnsignedByte(); + this.isMain = var1.readUnsignedByte() == 1; + this.zoom = var1.readUnsignedByte(); + int var3 = var1.readUnsignedByte(); + this.sections = new LinkedList(); + + for (int var4 = 0; var4 < var3; ++var4) { + this.sections.add(this.readWorldMapSection(var1)); + } + + this.setBounds(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;B)Lad;", + garbageValue = "-32" + ) + @Export("readWorldMapSection") + WorldMapSection readWorldMapSection(Buffer var1) { + int var2 = var1.readUnsignedByte(); + WorldMapSectionType[] var3 = new WorldMapSectionType[]{WorldMapSectionType.WORLDMAPSECTIONTYPE0, WorldMapSectionType.WORLDMAPSECTIONTYPE2, WorldMapSectionType.WORLDMAPSECTIONTYPE3, WorldMapSectionType.WORLDMAPSECTIONTYPE1}; + WorldMapSectionType var4 = (WorldMapSectionType)NetSocket.findEnumerated(var3, var2); + Object var5 = null; + switch(var4.type) { + case 0: + var5 = new WorldMapSection2(); + break; + case 1: + var5 = new class42(); + break; + case 2: + var5 = new WorldMapSection0(); + break; + case 3: + var5 = new WorldMapSection1(); + break; + default: + throw new IllegalStateException(""); + } + + ((WorldMapSection)var5).read(var1); + return (WorldMapSection)var5; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIS)Z", + garbageValue = "-5877" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + Iterator var4 = this.sections.iterator(); + + WorldMapSection var5; + do { + if (!var4.hasNext()) { + return false; + } + + var5 = (WorldMapSection)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); + + return true; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-1223580997" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + int var3 = var1 / 64; + int var4 = var2 / 64; + if (var3 >= this.regionLowX && var3 <= this.regionHighX) { + if (var4 >= this.regionLowY && var4 <= this.regionHighY) { + Iterator var5 = this.sections.iterator(); + + WorldMapSection var6; + do { + if (!var5.hasNext()) { + return false; + } + + var6 = (WorldMapSection)var5.next(); + } while(!var6.containsPosition(var1, var2)); + + return true; + } else { + return false; + } + } else { + return false; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IIII)[I", + garbageValue = "-244878470" + ) + @Export("position") + public int[] position(int var1, int var2, int var3) { + Iterator var4 = this.sections.iterator(); + + WorldMapSection var5; + do { + if (!var4.hasNext()) { + return null; + } + + var5 = (WorldMapSection)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); + + return var5.getBorderTileLengths(var1, var2, var3); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIS)Lhb;", + garbageValue = "4910" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + Iterator var3 = this.sections.iterator(); + + WorldMapSection var4; + do { + if (!var3.hasNext()) { + return null; + } + + var4 = (WorldMapSection)var3.next(); + } while(!var4.containsPosition(var1, var2)); + + return var4.coord(var1, var2); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1572539094" + ) + @Export("setBounds") + void setBounds() { + Iterator var1 = this.sections.iterator(); + + while (var1.hasNext()) { + WorldMapSection var2 = (WorldMapSection)var1.next(); + var2.expandBounds(this); + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "5" + ) + @Export("getId") + public int getId() { + return this.id; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "1098544212" + ) + @Export("getIsMain") + public boolean getIsMain() { + return this.isMain; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(B)Ljava/lang/String;", + garbageValue = "-109" + ) + @Export("getInternalName") + public String getInternalName() { + return this.internalName; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(B)Ljava/lang/String;", + garbageValue = "24" + ) + @Export("getExternalName") + public String getExternalName() { + return this.externalName; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-614914706" + ) + @Export("getBackGroundColor") + int getBackGroundColor() { + return this.backGroundColor; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-441315832" + ) + @Export("getZoom") + public int getZoom() { + return this.zoom; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1245166704" + ) + @Export("getRegionLowX") + public int getRegionLowX() { + return this.regionLowX; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "895043593" + ) + @Export("getRegionHighX") + public int getRegionHighX() { + return this.regionHighX; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1302627979" + ) + @Export("getRegionLowY") + public int getRegionLowY() { + return this.regionLowY; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-2005373633" + ) + @Export("getRegionHighY") + public int getRegionHighY() { + return this.regionHighY; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-98" + ) + @Export("getOriginX") + public int getOriginX() { + return this.origin.x; + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "6" + ) + @Export("getOriginPlane") + public int getOriginPlane() { + return this.origin.plane; + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "87434352" + ) + @Export("getOriginY") + public int getOriginY() { + return this.origin.y; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(I)Lhb;", + garbageValue = "1917961065" + ) + @Export("getOrigin") + public Coord getOrigin() { + return new Coord(this.origin); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;Lhp;I)V", + garbageValue = "-757431099" + ) + public static void method430(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { + HitSplatDefinition.HitSplatDefinition_archive = var0; + GrandExchangeOfferNameComparator.field66 = var1; + HitSplatDefinition.HitSplatDefinition_fontsArchive = var2; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(ILkg;Lie;I)V", + garbageValue = "-1765321046" + ) + static void method429(int var0, ArchiveDisk var1, Archive var2) { + byte[] var3 = null; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + for (ArchiveDiskAction var5 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var5 != null; var5 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { + if ((long)var0 == var5.key && var1 == var5.archiveDisk && var5.type == 0) { + var3 = var5.data; + break; + } + } + } + + if (var3 != null) { + var2.load(var1, var0, var3, true); + } else { + byte[] var4 = var1.read(var0); + var2.load(var1, var0, var4, true); + } + } +} diff --git a/runescape-client/src/main/java/WorldMapAreaData.java b/runescape-client/src/main/java/WorldMapAreaData.java index b1d0c1311e..609cfc1d40 100644 --- a/runescape-client/src/main/java/WorldMapAreaData.java +++ b/runescape-client/src/main/java/WorldMapAreaData.java @@ -1,432 +1,300 @@ -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("af") -@Implements("WorldMapAreaData") -public class WorldMapAreaData extends WorldMapArea { - @ObfuscatedName("f") - @Export("worldMapData0Set") - HashSet worldMapData0Set; - @ObfuscatedName("s") - @Export("worldMapData1Set") - HashSet worldMapData1Set; - @ObfuscatedName("p") - @Export("iconList") - List iconList; - - WorldMapAreaData() { - } - - @ObfuscatedName("ba") - @ObfuscatedSignature( - signature = "(Lkz;Lkz;IZI)V", - garbageValue = "419518570" - ) - @Export("init") - void init(Buffer var1, Buffer var2, int var3, boolean var4) { - this.read(var1, var3); - int var5 = var2.readUnsignedShort(); - this.worldMapData0Set = new HashSet(var5); - - int var6; - for (var6 = 0; var6 < var5; ++var6) { - WorldMapData_0 var7 = new WorldMapData_0(); - - try { - var7.init(var2); - } catch (IllegalStateException var12) { - continue; - } - - this.worldMapData0Set.add(var7); - } - - var6 = var2.readUnsignedShort(); - this.worldMapData1Set = new HashSet(var6); - - for (int var10 = 0; var10 < var6; ++var10) { - WorldMapData_1 var8 = new WorldMapData_1(); - - try { - var8.init(var2); - } catch (IllegalStateException var11) { - continue; - } - - this.worldMapData1Set.add(var8); - } - - this.initIconsList(var2, var4); - } - - @ObfuscatedName("bz") - @ObfuscatedSignature( - signature = "(Lkz;ZI)V", - garbageValue = "-889272811" - ) - @Export("initIconsList") - void initIconsList(Buffer var1, boolean var2) { - this.iconList = new LinkedList(); - int var3 = var1.readUnsignedShort(); - - for (int var4 = 0; var4 < var3; ++var4) { - int var5 = var1.method5623(); - Coord var6 = new Coord(var1.readInt()); - boolean var7 = var1.readUnsignedByte() == 1; - if (var2 || !var7) { - this.iconList.add(new WorldMapIcon_0((Coord)null, var6, var5, (WorldMapLabel)null)); - } - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIIIIII)I", - garbageValue = "1344959877" - ) - public static int method673(int var0, int var1, int var2, int var3, int var4, int var5) { - if ((var5 & 1) == 1) { - int var6 = var3; - var3 = var4; - var4 = var6; - } - - var2 &= 3; - if (var2 == 0) { - return var0; - } else if (var2 == 1) { - return var1; - } else { - return var2 == 2 ? 7 - var0 - (var3 - 1) : 7 - var1 - (var4 - 1); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "76" - ) - static int method670(int var0, Script var1, boolean var2) { - if (var0 < 1000) { - return TileItem.method2091(var0, var1, var2); - } else if (var0 < 1100) { - return WorldMapManager.method626(var0, var1, var2); - } else if (var0 < 1200) { - return method668(var0, var1, var2); - } else if (var0 < 1300) { - return WorldMapLabelSize.method166(var0, var1, var2); - } else if (var0 < 1400) { - return WorldMapData_1.method705(var0, var1, var2); - } else if (var0 < 1500) { - return class216.method4015(var0, var1, var2); - } else if (var0 < 1600) { - return WorldMapRectangle.method255(var0, var1, var2); - } else if (var0 < 1700) { - return ModelData0.method3221(var0, var1, var2); - } else if (var0 < 1800) { - return PlayerAppearance.method3990(var0, var1, var2); - } else if (var0 < 1900) { - return AbstractWorldMapIcon.method576(var0, var1, var2); - } else if (var0 < 2000) { - return ArchiveLoader.method1096(var0, var1, var2); - } else if (var0 < 2100) { - return WorldMapManager.method626(var0, var1, var2); - } else if (var0 < 2200) { - return method668(var0, var1, var2); - } else if (var0 < 2300) { - return WorldMapLabelSize.method166(var0, var1, var2); - } else if (var0 < 2400) { - return WorldMapData_1.method705(var0, var1, var2); - } else if (var0 < 2500) { - return class216.method4015(var0, var1, var2); - } else if (var0 < 2600) { - return ModelData0.method3219(var0, var1, var2); - } else if (var0 < 2700) { - return class16.method162(var0, var1, var2); - } else if (var0 < 2800) { - return PlayerType.method4121(var0, var1, var2); - } else if (var0 < 2900) { - return class51.method861(var0, var1, var2); - } else if (var0 < 3000) { - return ArchiveLoader.method1096(var0, var1, var2); - } else if (var0 < 3200) { - return Messages.method2194(var0, var1, var2); - } else if (var0 < 3300) { - return FloorUnderlayDefinition.method4423(var0, var1, var2); - } else if (var0 < 3400) { - return class226.method4109(var0, var1, var2); - } else if (var0 < 3500) { - return DevicePcmPlayerProvider.method809(var0, var1, var2); - } else if (var0 < 3700) { - return WorldMapData_1.method702(var0, var1, var2); - } else if (var0 < 4000) { - return Clock.method3490(var0, var1, var2); - } else if (var0 < 4100) { - return HealthBar.method2006(var0, var1, var2); - } else if (var0 < 4200) { - return class49.method829(var0, var1, var2); - } else if (var0 < 4300) { - return MusicPatchNode2.method3666(var0, var1, var2); - } else if (var0 < 5100) { - return class218.method4091(var0, var1, var2); - } else if (var0 < 5400) { - return World.method1762(var0, var1, var2); - } else if (var0 < 5600) { - return SequenceDefinition.method4799(var0, var1, var2); - } else if (var0 < 5700) { - return HealthBar.method1999(var0, var1, var2); - } else if (var0 < 6300) { - return Decimator.method2494(var0, var1, var2); - } else if (var0 < 6600) { - return GrandExchangeOffer.method103(var0, var1, var2); - } else { - return var0 < 6700 ? ObjectSound.method1884(var0, var1, var2) : 2; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(ILcu;ZS)I", - garbageValue = "-53" - ) - static int method668(int var0, Script var1, boolean var2) { - int var4 = -1; - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var3 = Player.getWidget(var4); - } else { - var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - } - - if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { - class160.Interpreter_intStackSize -= 2; - var3.scrollX = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - if (var3.scrollX > var3.scrollWidth - var3.width) { - var3.scrollX = var3.scrollWidth - var3.width; - } - - if (var3.scrollX < 0) { - var3.scrollX = 0; - } - - var3.scrollY = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - if (var3.scrollY > var3.scrollHeight - var3.height) { - var3.scrollY = var3.scrollHeight - var3.height; - } - - if (var3.scrollY < 0) { - var3.scrollY = 0; - } - - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { - var3.color = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETFILL) { - var3.fill = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTRANS) { - var3.transparencyTop = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { - var3.lineWid = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { - var3.spriteId2 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { - var3.spriteAngle = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTILING) { - var3.spriteTiling = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODEL) { - var3.modelType = 1; - var3.modelId = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { - class160.Interpreter_intStackSize -= 6; - var3.modelOffsetX = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var3.modelOffsetY = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var3.modelAngleX = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - var3.modelAngleY = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3]; - var3.modelAngleZ = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 4]; - var3.modelZoom = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 5]; - WorldMapID.invalidateWidget(var3); - return 1; - } else { - int var8; - if (var0 == ScriptOpcodes.CC_SETMODELANIM) { - var8 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var8 != var3.sequenceId) { - var3.sequenceId = var8; - var3.modelFrame = 0; - var3.modelFrameCycle = 0; - WorldMapID.invalidateWidget(var3); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { - var3.modelOrthog = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXT) { - String var7 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - if (!var7.equals(var3.text)) { - var3.text = var7; - WorldMapID.invalidateWidget(var3); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { - var3.fontId = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { - class160.Interpreter_intStackSize -= 3; - var3.textXAlignment = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var3.textYAlignment = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var3.textLineHeight = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { - var3.textShadowed = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { - var3.outline = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { - var3.spriteShadow = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { - var3.spriteFlipV = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { - var3.spriteFlipH = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { - class160.Interpreter_intStackSize -= 2; - var3.scrollWidth = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var3.scrollHeight = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - WorldMapID.invalidateWidget(var3); - if (var4 != -1 && var3.type == 0) { - class197.revalidateWidgetScroll(class289.Widget_interfaceComponents[var4 >> 16], var3, false); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { - WorldMapSection1.resumePauseWidget(var3.id, var3.childIndex); - Client.meslayerContinueWidget = var3; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == 1122) { - var3.spriteId = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { - var3.color2 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == 1124) { - var3.transparencyBot = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - WorldMapID.invalidateWidget(var3); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETFILLMODE) { - var8 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - FillMode var6 = (FillMode)ServerPacket.findEnumerated(class227.FillMode_values(), var8); - if (var6 != null) { - var3.fillMode = var6; - WorldMapID.invalidateWidget(var3); - } - - return 1; - } else { - boolean var5; - if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { - var5 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - var3.field2675 = var5; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { - var5 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - var3.modelTransparency = var5; - return 1; - } else { - return 2; - } - } - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(IIIIIIII)Z", - garbageValue = "-1111796932" - ) - static final boolean method671(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = ViewportMouse.ViewportMouse_y + var6; - if (var7 < var0 && var7 < var1 && var7 < var2) { - return false; - } else { - var7 = ViewportMouse.ViewportMouse_y - var6; - if (var7 > var0 && var7 > var1 && var7 > var2) { - return false; - } else { - var7 = ViewportMouse.ViewportMouse_x + var6; - if (var7 < var3 && var7 < var4 && var7 < var5) { - return false; - } else { - var7 = ViewportMouse.ViewportMouse_x - var6; - return var7 <= var3 || var7 <= var4 || var7 <= var5; - } - } - } - } - - @ObfuscatedName("gt") - @ObfuscatedSignature( - signature = "(IIII)I", - garbageValue = "588671931" - ) - @Export("getTileHeight") - static final int getTileHeight(int var0, int var1, int var2) { - int var3 = var0 >> 7; - int var4 = var1 >> 7; - if (var3 >= 0 && var4 >= 0 && var3 <= 103 && var4 <= 103) { - int var5 = var2; - if (var2 < 3 && (Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { - var5 = var2 + 1; - } - - int var6 = var0 & 127; - int var7 = var1 & 127; - int var8 = (128 - var6) * Tiles.Tiles_heights[var5][var3][var4] + var6 * Tiles.Tiles_heights[var5][var3 + 1][var4] >> 7; - int var9 = var6 * Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] + Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) >> 7; - return var8 * (128 - var7) + var9 * var7 >> 7; - } else { - return 0; - } - } -} +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("an") +@Implements("WorldMapAreaData") +public class WorldMapAreaData extends WorldMapArea { + @ObfuscatedName("o") + @Export("worldMapData0Set") + HashSet worldMapData0Set; + @ObfuscatedName("a") + @Export("worldMapData1Set") + HashSet worldMapData1Set; + @ObfuscatedName("e") + @Export("iconList") + List iconList; + + WorldMapAreaData() { + } + + @ObfuscatedName("cs") + @ObfuscatedSignature( + signature = "(Lkl;Lkl;IZI)V", + garbageValue = "608966722" + ) + @Export("init") + void init(Buffer var1, Buffer var2, int var3, boolean var4) { + this.read(var1, var3); + int var5 = var2.readUnsignedShort(); + this.worldMapData0Set = new HashSet(var5); + + int var6; + for (var6 = 0; var6 < var5; ++var6) { + WorldMapData_0 var7 = new WorldMapData_0(); + + try { + var7.init(var2); + } catch (IllegalStateException var12) { + continue; + } + + this.worldMapData0Set.add(var7); + } + + var6 = var2.readUnsignedShort(); + this.worldMapData1Set = new HashSet(var6); + + for (int var10 = 0; var10 < var6; ++var10) { + WorldMapData_1 var8 = new WorldMapData_1(); + + try { + var8.init(var2); + } catch (IllegalStateException var11) { + continue; + } + + this.worldMapData1Set.add(var8); + } + + this.initIconsList(var2, var4); + } + + @ObfuscatedName("cg") + @ObfuscatedSignature( + signature = "(Lkl;ZI)V", + garbageValue = "-317910906" + ) + @Export("initIconsList") + void initIconsList(Buffer var1, boolean var2) { + this.iconList = new LinkedList(); + int var3 = var1.readUnsignedShort(); + + for (int var4 = 0; var4 < var3; ++var4) { + int var5 = var1.method5438(); + Coord var6 = new Coord(var1.readInt()); + boolean var7 = var1.readUnsignedByte() == 1; + if (var2 || !var7) { + this.iconList.add(new WorldMapIcon_0((Coord)null, var6, var5, (WorldMapLabel)null)); + } + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "-2123139883" + ) + static void method717(int var0) { + ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var1 != null) { + var1.remove(); + } + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-442086498" + ) + static int method716(int var0, Script var1, boolean var2) { + int var3; + int var4; + if (var0 == ScriptOpcodes.ADD) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4 + var3; + return 1; + } else if (var0 == ScriptOpcodes.SUB) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 - var4; + return 1; + } else if (var0 == ScriptOpcodes.MULTIPLY) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4 * var3; + return 1; + } else if (var0 == ScriptOpcodes.DIV) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 / var4; + return 1; + } else if (var0 == ScriptOpcodes.RANDOM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var3); + return 1; + } else if (var0 == ScriptOpcodes.RANDOMINC) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var3 + 1)); + return 1; + } else if (var0 == ScriptOpcodes.INTERPOLATE) { + Interpreter.Interpreter_intStackSize -= 5; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + int var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + int var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 4]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 + (var4 - var3) * (var7 - var5) / (var6 - var5); + return 1; + } else if (var0 == ScriptOpcodes.ADDPERCENT) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 + var4 * var3 / 100; + return 1; + } else if (var0 == ScriptOpcodes.SETBIT) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 | 1 << var4; + return 1; + } else if (var0 == ScriptOpcodes.CLEARBIT) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 & -1 - (1 << var4); + return 1; + } else if (var0 == ScriptOpcodes.TESTBIT) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var3 & 1 << var4) != 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.MOD) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 % var4; + return 1; + } else if (var0 == ScriptOpcodes.POW) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (var3 == 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, (double)var4); + } + + return 1; + } else if (var0 == ScriptOpcodes.INVPOW) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (var3 == 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + switch(var4) { + case 0: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; + break; + case 1: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; + break; + case 2: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var3); + break; + case 3: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var3); + break; + case 4: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var3)); + break; + default: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.pow((double)var3, 1.0D / (double)var4); + } + + return 1; + } + } else if (var0 == ScriptOpcodes.AND) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 & var4; + return 1; + } else if (var0 == ScriptOpcodes.OR) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 | var4; + return 1; + } else if (var0 == ScriptOpcodes.SCALE) { + Interpreter.Interpreter_intStackSize -= 3; + long var9 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + long var11 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + long var13 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(var9 * var13 / var11); + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("ev") + @ObfuscatedSignature( + signature = "(Lie;Ljava/lang/String;I)V", + garbageValue = "-1244242871" + ) + static void method718(Archive var0, String var1) { + ArchiveLoader var2 = new ArchiveLoader(var0, var1); + Client.archiveLoaders.add(var2); + Client.field908 += var2.groupCount; + } + + @ObfuscatedName("id") + @ObfuscatedSignature( + signature = "(Lho;IIIIIII)V", + garbageValue = "-1006882337" + ) + static final void method719(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (Client.field703) { + Client.alternativeScrollbarWidth = 32; + } else { + Client.alternativeScrollbarWidth = 0; + } + + Client.field703 = false; + int var7; + if (MouseHandler.MouseHandler_currentButton == 1 || !WorldMapIcon_1.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { + if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { + var0.scrollY -= 4; + WorldMapSectionType.invalidateWidget(var0); + } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { + var0.scrollY += 4; + WorldMapSectionType.invalidateWidget(var0); + } else if (var5 >= var1 - Client.alternativeScrollbarWidth && var5 < Client.alternativeScrollbarWidth + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) { + var7 = var3 * (var3 - 32) / var4; + if (var7 < 8) { + var7 = 8; + } + + int var8 = var6 - var2 - 16 - var7 / 2; + int var9 = var3 - 32 - var7; + var0.scrollY = var8 * (var4 - var3) / var9; + WorldMapSectionType.invalidateWidget(var0); + Client.field703 = true; + } + } + + if (Client.mouseWheelRotation != 0) { + var7 = var0.width; + if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) { + var0.scrollY += Client.mouseWheelRotation * 45; + WorldMapSectionType.invalidateWidget(var0); + } + } + + } +} diff --git a/runescape-client/src/main/java/WorldMapCacheName.java b/runescape-client/src/main/java/WorldMapCacheName.java index f739d74b12..b4f0a9546f 100644 --- a/runescape-client/src/main/java/WorldMapCacheName.java +++ b/runescape-client/src/main/java/WorldMapCacheName.java @@ -1,165 +1,117 @@ -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("ax") -@Implements("WorldMapCacheName") -public class WorldMapCacheName { - @ObfuscatedName("qa") - @ObfuscatedGetter( - intValue = -159199451 - ) - static int field301; - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lax;" - ) - public static final WorldMapCacheName field294; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lax;" - ) - public static final WorldMapCacheName field295; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lax;" - ) - public static final WorldMapCacheName field296; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lax;" - ) - static final WorldMapCacheName field297; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lax;" - ) - public static final WorldMapCacheName field298; - @ObfuscatedName("u") - @Export("name") - public final String name; - - static { - field294 = new WorldMapCacheName("details"); - field295 = new WorldMapCacheName("compositemap"); - field296 = new WorldMapCacheName("compositetexture"); - field297 = new WorldMapCacheName("area"); - field298 = new WorldMapCacheName("labels"); - } - - WorldMapCacheName(String var1) { - this.name = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "105" - ) - static int method594() { - return ++Messages.Messages_count - 1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "1942800503" - ) - @Export("getVarbit") - public static int getVarbit(int var0) { - VarbitDefinition var1 = Language.method3627(var0); - int var2 = var1.baseVar; - int var3 = var1.startBit; - int var4 = var1.endBit; - int var5 = Varps.Varps_masks[var4 - var3]; - return Varps.Varps_main[var2] >> var3 & var5; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;Ljava/lang/String;B)V", - garbageValue = "63" - ) - @Export("addGameMessage") - static void addGameMessage(int var0, String var1, String var2) { - UserComparator9.addChatMessage(var0, var1, var2, (String)null); - } - - @ObfuscatedName("hd") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "1635496001" - ) - @Export("updateItemPile") - static final void updateItemPile(int var0, int var1) { - NodeDeque var2 = Client.groundItems[MouseRecorder.plane][var0][var1]; - if (var2 == null) { - WorldMapIcon_1.scene.removeGroundItemPile(MouseRecorder.plane, var0, var1); - } else { - long var3 = -99999999L; - TileItem var5 = null; - - TileItem var6; - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { - ItemDefinition var7 = Player.ItemDefinition_get(var6.id); - long var8 = (long)var7.price; - if (var7.isStackable == 1) { - var8 *= (long)(var6.quantity + 1); - } - - if (var8 > var3) { - var3 = var8; - var5 = var6; - } - } - - if (var5 == null) { - WorldMapIcon_1.scene.removeGroundItemPile(MouseRecorder.plane, var0, var1); - } else { - var2.addLast(var5); - TileItem var12 = null; - TileItem var11 = null; - - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { - if (var6.id != var5.id) { - if (var12 == null) { - var12 = var6; - } - - if (var6.id != var12.id && var11 == null) { - var11 = var6; - } - } - } - - long var9 = WorldMapIcon_1.calculateTag(var0, var1, 3, false, 0); - WorldMapIcon_1.scene.newGroundItemPile(MouseRecorder.plane, var0, var1, WorldMapAreaData.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, MouseRecorder.plane), var5, var9, var12, var11); - } - } - } - - @ObfuscatedName("hz") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "2017044879" - ) - @Export("getNewestMenuIdx") - static final int getNewestMenuIdx() { - return Client.menuOptionsCount - 1; - } - - @ObfuscatedName("jz") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-415764372" - ) - static final void method592() { - for (int var0 = 0; var0 < Players.Players_count; ++var0) { - Player var1 = Client.players[Players.Players_indices[var0]]; - var1.clearIsInClanChat(); - } - - } -} +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("ao") +@Implements("WorldMapCacheName") +public class WorldMapCacheName { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lao;" + ) + public static final WorldMapCacheName field284; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lao;" + ) + public static final WorldMapCacheName field289; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lao;" + ) + public static final WorldMapCacheName field283; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lao;" + ) + static final WorldMapCacheName field285; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lao;" + ) + public static final WorldMapCacheName field287; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = 1366497929 + ) + static int field286; + @ObfuscatedName("p") + @Export("name") + public final String name; + + static { + field284 = new WorldMapCacheName("details"); + field289 = new WorldMapCacheName("compositemap"); + field283 = new WorldMapCacheName("compositetexture"); + field285 = new WorldMapCacheName("area"); + field287 = new WorldMapCacheName("labels"); + } + + WorldMapCacheName(String var1) { + this.name = var1; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1512894139" + ) + static final void method644() { + EnumDefinition.method4496("Your ignore list is full. Max of 100 for free users, and 400 for members"); + } + + @ObfuscatedName("ht") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "2059241635" + ) + @Export("updateItemPile") + static final void updateItemPile(int var0, int var1) { + NodeDeque var2 = Client.groundItems[WorldMapRectangle.plane][var0][var1]; + if (var2 == null) { + PacketWriter.scene.removeGroundItemPile(WorldMapRectangle.plane, var0, var1); + } else { + long var3 = -99999999L; + TileItem var5 = null; + + TileItem var6; + for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + ItemDefinition var7 = Occluder.ItemDefinition_get(var6.id); + long var8 = (long)var7.price; + if (var7.isStackable == 1) { + var8 *= (long)(var6.quantity + 1); + } + + if (var8 > var3) { + var3 = var8; + var5 = var6; + } + } + + if (var5 == null) { + PacketWriter.scene.removeGroundItemPile(WorldMapRectangle.plane, var0, var1); + } else { + var2.addLast(var5); + TileItem var12 = null; + TileItem var11 = null; + + for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + if (var5.id != var6.id) { + if (var12 == null) { + var12 = var6; + } + + if (var6.id != var12.id && var11 == null) { + var11 = var6; + } + } + } + + long var9 = class267.calculateTag(var0, var1, 3, false, 0); + PacketWriter.scene.newGroundItemPile(WorldMapRectangle.plane, var0, var1, MusicPatchPcmStream.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, WorldMapRectangle.plane), var5, var9, var12, var11); + } + } + } +} diff --git a/runescape-client/src/main/java/WorldMapData_0.java b/runescape-client/src/main/java/WorldMapData_0.java index 29935d0830..cf6a9d8acf 100644 --- a/runescape-client/src/main/java/WorldMapData_0.java +++ b/runescape-client/src/main/java/WorldMapData_0.java @@ -1,142 +1,466 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("e") -@Implements("WorldMapData_0") -public class WorldMapData_0 extends AbstractWorldMapData { - @ObfuscatedName("dg") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive3") - static Archive archive3; - @ObfuscatedName("ds") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive9") - static Archive archive9; - - WorldMapData_0() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1670112809" - ) - @Export("init") - void init(Buffer var1) { - int var2 = var1.readUnsignedByte(); - if (var2 != WorldMapID.field263.value) { - throw new IllegalStateException(""); - } else { - super.minPlane = var1.readUnsignedByte(); - super.planes = var1.readUnsignedByte(); - super.regionXLow = var1.readUnsignedShort() * 4096; - super.regionYLow = var1.readUnsignedShort() * 4096; - super.regionX = var1.readUnsignedShort(); - super.regionY = var1.readUnsignedShort(); - super.groupId = var1.method5623(); - super.fileId = var1.method5623(); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1969615810" - ) - @Export("readGeography") - void readGeography(Buffer var1) { - super.planes = Math.min(super.planes, 4); - super.floorUnderlayIds = new short[1][64][64]; - super.floorOverlayIds = new short[super.planes][64][64]; - super.field163 = new byte[super.planes][64][64]; - super.field159 = new byte[super.planes][64][64]; - super.decorations = new WorldMapDecoration[super.planes][64][64][]; - int var2 = var1.readUnsignedByte(); - if (var2 != class30.field253.value) { - throw new IllegalStateException(""); - } else { - int var3 = var1.readUnsignedByte(); - int var4 = var1.readUnsignedByte(); - if (var3 == super.regionX && var4 == super.regionY) { - for (int var5 = 0; var5 < 64; ++var5) { - for (int var6 = 0; var6 < 64; ++var6) { - this.readTile(var5, var6, var1); - } - } - - } else { - throw new IllegalStateException(""); - } - } - } - - public int hashCode() { - return super.regionX | super.regionY << 8; - } - - public boolean equals(Object var1) { - if (!(var1 instanceof WorldMapData_0)) { - return false; - } else { - WorldMapData_0 var2 = (WorldMapData_0)var1; - return super.regionX == var2.regionX && var2.regionY == super.regionY; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1591253708" - ) - static void method157() { - for (ObjectSound var0 = (ObjectSound)ObjectSound.objectSounds.last(); var0 != null; var0 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var0.obj != null) { - var0.set(); - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IB)Lbj;", - garbageValue = "-43" - ) - @Export("Messages_getMessage") - static Message Messages_getMessage(int var0) { - return (Message)Messages.Messages_hashTable.get((long)var0); - } - - @ObfuscatedName("hm") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-1345116753" - ) - static final void method160(int var0, int var1) { - if (Client.menuOptionsCount >= 2 || Client.isItemSelected != 0 || Client.isSpellSelected) { - if (Client.showMouseOverText) { - int var2 = WorldMapCacheName.getNewestMenuIdx(); - String var3; - if (Client.isItemSelected == 1 && Client.menuOptionsCount < 2) { - var3 = "Use" + " " + Client.selectedItemName + " " + "->"; - } else if (Client.isSpellSelected && Client.menuOptionsCount < 2) { - var3 = Client.selectedSpellActionName + " " + Client.selectedSpellName + " " + "->"; - } else { - var3 = class188.method3620(var2); - } - - if (Client.menuOptionsCount > 2) { - var3 = var3 + UserComparator7.colorStartTag(16777215) + " " + '/' + " " + (Client.menuOptionsCount - 2) + " more options"; - } - - HealthBar.fontBold12.drawRandomAlphaAndSpacing(var3, var0 + 4, var1 + 15, 16777215, 0, Client.cycle / 1000); - } - } - } -} +import java.util.Date; +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("w") +@Implements("WorldMapData_0") +public class WorldMapData_0 extends AbstractWorldMapData { + @ObfuscatedName("sz") + @ObfuscatedSignature( + signature = "Lkg;" + ) + @Export("masterDisk") + static ArchiveDisk masterDisk; + @ObfuscatedName("ex") + @ObfuscatedSignature( + signature = "Lkw;" + ) + @Export("spriteIds") + static GraphicsDefaults spriteIds; + @ObfuscatedName("gz") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("modIconSprites") + static IndexedSprite[] modIconSprites; + + WorldMapData_0() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-443857335" + ) + @Export("init") + void init(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 != WorldMapID.field256.value) { + throw new IllegalStateException(""); + } else { + super.minPlane = var1.readUnsignedByte(); + super.planes = var1.readUnsignedByte(); + super.regionXLow = var1.readUnsignedShort() * 64; + super.regionYLow = var1.readUnsignedShort() * 4096; + super.regionX = var1.readUnsignedShort(); + super.regionY = var1.readUnsignedShort(); + super.groupId = var1.method5438(); + super.fileId = var1.method5438(); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "1549979331" + ) + @Export("readGeography") + void readGeography(Buffer var1) { + super.planes = Math.min(super.planes, 4); + super.floorUnderlayIds = new short[1][64][64]; + super.floorOverlayIds = new short[super.planes][64][64]; + super.field164 = new byte[super.planes][64][64]; + super.field152 = new byte[super.planes][64][64]; + super.decorations = new WorldMapDecoration[super.planes][64][64][]; + int var2 = var1.readUnsignedByte(); + if (var2 != class30.field253.value) { + throw new IllegalStateException(""); + } else { + int var3 = var1.readUnsignedByte(); + int var4 = var1.readUnsignedByte(); + if (var3 == super.regionX && var4 == super.regionY) { + for (int var5 = 0; var5 < 64; ++var5) { + for (int var6 = 0; var6 < 64; ++var6) { + this.readTile(var5, var6, var1); + } + } + + } else { + throw new IllegalStateException(""); + } + } + } + + public boolean equals(Object var1) { + if (!(var1 instanceof WorldMapData_0)) { + return false; + } else { + WorldMapData_0 var2 = (WorldMapData_0)var1; + return var2.regionX == super.regionX && var2.regionY == super.regionY; + } + } + + public int hashCode() { + return super.regionX | super.regionY << 8; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "([Lbo;II[I[IB)V", + garbageValue = "59" + ) + @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); + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "387088123" + ) + @Export("loadInterface") + public static boolean loadInterface(int var0) { + if (ViewportMouse.Widget_loadedInterfaces[var0]) { + return true; + } else if (!Widget.Widget_archive.tryLoadGroup(var0)) { + return false; + } else { + int var1 = Widget.Widget_archive.getGroupFileCount(var0); + if (var1 == 0) { + ViewportMouse.Widget_loadedInterfaces[var0] = true; + return true; + } else { + if (UserComparator5.Widget_interfaceComponents[var0] == null) { + UserComparator5.Widget_interfaceComponents[var0] = new Widget[var1]; + } + + for (int var2 = 0; var2 < var1; ++var2) { + if (UserComparator5.Widget_interfaceComponents[var0][var2] == null) { + byte[] var3 = Widget.Widget_archive.takeFile(var0, var2); + if (var3 != null) { + UserComparator5.Widget_interfaceComponents[var0][var2] = new Widget(); + UserComparator5.Widget_interfaceComponents[var0][var2].id = var2 + (var0 << 16); + if (var3[0] == -1) { + UserComparator5.Widget_interfaceComponents[var0][var2].decode(new Buffer(var3)); + } else { + UserComparator5.Widget_interfaceComponents[var0][var2].decodeLegacy(new Buffer(var3)); + } + } + } + } + + ViewportMouse.Widget_loadedInterfaces[var0] = true; + return true; + } + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(ILhp;Ljava/lang/String;Ljava/lang/String;IZS)V", + garbageValue = "6590" + ) + public static void method194(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { + int var6 = var1.getGroupId(var2); + int var7 = var1.getFileId(var6, var3); + class197.field2386 = 1; + class197.musicTrackArchive = var1; + class188.musicTrackGroupId = var6; + class49.musicTrackFileId = var7; + TileItem.field1223 = var4; + WorldMapSectionType.musicTrackBoolean = var5; + MusicPatchNode2.field2382 = var0; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;B)I", + garbageValue = "71" + ) + @Export("hashString") + public static int hashString(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + var2 = (var2 << 5) - var2 + Entity.charToByteCp1252(var0.charAt(var3)); + } + + return var2; + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1153827827" + ) + static int method177(int var0, Script var1, boolean var2) { + String var3; + int var4; + if (var0 == ScriptOpcodes.APPEND_NUM) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var4; + return 1; + } else { + String var9; + if (var0 == ScriptOpcodes.APPEND) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var9; + return 1; + } else if (var0 == ScriptOpcodes.APPEND_SIGNNUM) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + HealthBar.intToString(var4, true); + return 1; + } else if (var0 == ScriptOpcodes.LOWERCASE) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toLowerCase(); + return 1; + } else { + int var6; + int var10; + if (var0 == ScriptOpcodes.FROMDATE) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + long var11 = 86400000L * (11745L + (long)var10); + Interpreter.Interpreter_calendar.setTime(new Date(var11)); + var6 = Interpreter.Interpreter_calendar.get(5); + int var16 = Interpreter.Interpreter_calendar.get(2); + int var8 = Interpreter.Interpreter_calendar.get(1); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6 + "-" + Interpreter.Interpreter_MONTHS[var16] + "-" + var8; + return 1; + } else if (var0 != ScriptOpcodes.TEXT_GENDER) { + if (var0 == ScriptOpcodes.TOSTRING) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Integer.toString(var10); + return 1; + } else if (var0 == ScriptOpcodes.COMPARE) { + Interpreter.Interpreter_stringStackSize -= 2; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class189.method3609(Interpreter.compareStrings(Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1], WorldMapLabelSize.clientLanguage)); + return 1; + } else { + int var5; + byte[] var13; + Font var14; + if (var0 == ScriptOpcodes.PARAHEIGHT) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var13 = Tile.archive13.takeFile(var5, 0); + var14 = new Font(var13); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14.lineCount(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.PARAWIDTH) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var13 = Tile.archive13.takeFile(var5, 0); + var14 = new Font(var13); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14.lineWidth(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.TEXT_SWITCH) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9; + } + + return 1; + } else if (var0 == ScriptOpcodes.ESCAPE) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = AbstractFont.escapeBrackets(var3); + return 1; + } else if (var0 == ScriptOpcodes.APPEND_CHAR) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + (char)var4; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISPRINTABLE) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = TileItem.isCharPrintable((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISALPHANUMERIC) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = AbstractArchive.isAlphaNumeric((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISALPHA) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = UserComparator7.isCharAlphabetic((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISNUMERIC) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = AbstractWorldMapIcon.isDigit((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STRING_LENGTH) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + if (var3 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.length(); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.SUBSTRING) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.substring(var4, var5); + return 1; + } else if (var0 == ScriptOpcodes.REMOVETAGS) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + StringBuilder var17 = new StringBuilder(var3.length()); + boolean var15 = false; + + for (var6 = 0; var6 < var3.length(); ++var6) { + char var7 = var3.charAt(var6); + if (var7 == '<') { + var15 = true; + } else if (var7 == '>') { + var15 = false; + } else if (!var15) { + var17.append(var7); + } + } + + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var17.toString(); + return 1; + } else if (var0 == ScriptOpcodes.STRING_INDEXOF_CHAR) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.indexOf(var4); + return 1; + } else if (var0 == ScriptOpcodes.STRING_INDEXOF_STRING) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.indexOf(var9, var5); + return 1; + } else if (var0 == ScriptOpcodes.UPPERCASE) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toUpperCase(); + return 1; + } else { + return 2; + } + } + } else { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + if (class223.localPlayer.appearance != null && class223.localPlayer.appearance.isFemale) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; + } + + return 1; + } + } + } + } +} diff --git a/runescape-client/src/main/java/WorldMapData_1.java b/runescape-client/src/main/java/WorldMapData_1.java index 7ddb643568..7b9df2d8d1 100644 --- a/runescape-client/src/main/java/WorldMapData_1.java +++ b/runescape-client/src/main/java/WorldMapData_1.java @@ -1,813 +1,229 @@ -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; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("ak") -@Implements("WorldMapData_1") -public class WorldMapData_1 extends AbstractWorldMapData { - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -947867455 - ) - @Export("chunkXLow") - int chunkXLow; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -35118865 - ) - @Export("chunkYLow") - int chunkYLow; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -622760109 - ) - @Export("chunkX") - int chunkX; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 332325747 - ) - @Export("chunkY") - int chunkY; - - WorldMapData_1() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1217403817" - ) - @Export("init") - void init(Buffer var1) { - int var2 = var1.readUnsignedByte(); - if (var2 != WorldMapID.field264.value) { - throw new IllegalStateException(""); - } else { - super.minPlane = var1.readUnsignedByte(); - super.planes = var1.readUnsignedByte(); - super.regionXLow = var1.readUnsignedShort() * 4096; - super.regionYLow = var1.readUnsignedShort() * 4096; - this.chunkXLow = var1.readUnsignedByte(); - this.chunkYLow = var1.readUnsignedByte(); - super.regionX = var1.readUnsignedShort(); - super.regionY = var1.readUnsignedShort(); - this.chunkX = var1.readUnsignedByte(); - this.chunkY = var1.readUnsignedByte(); - super.groupId = var1.method5623(); - super.fileId = var1.method5623(); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-1969615810" - ) - @Export("readGeography") - void readGeography(Buffer var1) { - super.planes = Math.min(super.planes, 4); - super.floorUnderlayIds = new short[1][64][64]; - super.floorOverlayIds = new short[super.planes][64][64]; - super.field163 = new byte[super.planes][64][64]; - super.field159 = new byte[super.planes][64][64]; - super.decorations = new WorldMapDecoration[super.planes][64][64][]; - int var2 = var1.readUnsignedByte(); - if (var2 != class30.field254.value) { - throw new IllegalStateException(""); - } else { - int var3 = var1.readUnsignedByte(); - int var4 = var1.readUnsignedByte(); - int var5 = var1.readUnsignedByte(); - int var6 = var1.readUnsignedByte(); - if (var3 == super.regionX && var4 == super.regionY && var5 == this.chunkX && var6 == this.chunkY) { - for (int var7 = 0; var7 < 8; ++var7) { - for (int var8 = 0; var8 < 8; ++var8) { - this.readTile(var7 + this.chunkX * 8, var8 + this.chunkY * 8, var1); - } - } - - } else { - throw new IllegalStateException(""); - } - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-42087770" - ) - @Export("getChunkXLow") - int getChunkXLow() { - return this.chunkXLow; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-194521742" - ) - @Export("getChunkYLow") - int getChunkYLow() { - return this.chunkYLow; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "123" - ) - @Export("getChunkX") - int getChunkX() { - return this.chunkX; - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(B)I", - garbageValue = "10" - ) - @Export("getChunkY") - int getChunkY() { - return this.chunkY; - } - - public boolean equals(Object var1) { - if (!(var1 instanceof WorldMapData_1)) { - return false; - } else { - WorldMapData_1 var2 = (WorldMapData_1)var1; - if (super.regionX == var2.regionX && super.regionY == var2.regionY) { - return this.chunkX == var2.chunkX && this.chunkY == var2.chunkY; - } else { - return false; - } - } - } - - public int hashCode() { - return super.regionX | super.regionY << 8 | this.chunkX << 16 | this.chunkY << 24; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "10" - ) - public static void method703(int var0, int var1) { - VarbitDefinition var2 = Language.method3627(var0); - int var3 = var2.baseVar; - int var4 = var2.startBit; - int var5 = var2.endBit; - int var6 = Varps.Varps_masks[var5 - var4]; - if (var1 < 0 || var1 > var6) { - var1 = 0; - } - - var6 <<= var4; - Varps.Varps_main[var3] = Varps.Varps_main[var3] & ~var6 | var1 << var4 & var6; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "-891659032" - ) - @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) { - 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]; - - 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] = Projectile.loadClassFromDescriptor(var8[var12]); - } - - Class var22 = Projectile.loadClassFromDescriptor(var20); - if (Projectile.loadClassFromDescriptor(var5).getClassLoader() == null) { - throw new SecurityException(); - } - - Method[] var13 = Projectile.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 (var21[var19] != var17[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 (Projectile.loadClassFromDescriptor(var5).getClassLoader() == null) { - throw new SecurityException(); - } - - var2.fields[var3] = Reflection.findField(Projectile.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("v") - @ObfuscatedSignature( - signature = "(ILcu;ZS)I", - garbageValue = "10127" - ) - static int method705(int var0, Script var1, boolean var2) { - boolean var3 = true; - Widget var4; - if (var0 >= 2000) { - var0 -= 1000; - var4 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - var3 = false; - } else { - var4 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - } - - int var11; - if (var0 == ScriptOpcodes.CC_SETOP) { - var11 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] - 1; - if (var11 >= 0 && var11 <= 9) { - var4.setAction(var11, Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]); - return 1; - } else { - --TextureProvider.Interpreter_stringStackSize; - return 1; - } - } else { - int var6; - if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { - class160.Interpreter_intStackSize -= 2; - var11 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var6 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var4.parent = class49.getWidgetChild(var11, var6); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { - var4.isScrollBar = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { - var4.dragZoneSize = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { - var4.dragThreshold = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { - var4.dataText = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { - var4.spellActionName = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { - var4.actions = null; - return 1; - } else if (var0 == 1308) { - var4.field2680 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else { - int var7; - byte[] var9; - if (var0 != ScriptOpcodes.CC_SETOPKEY) { - byte var5; - if (var0 == ScriptOpcodes.CC_SETOPTKEY) { - class160.Interpreter_intStackSize -= 2; - var5 = 10; - var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]}; - byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]}; - WorldMapIcon_0.Widget_setKey(var4, var5, var9, var10); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { - class160.Interpreter_intStackSize -= 3; - var11 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] - 1; - var6 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var7 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - if (var11 >= 0 && var11 <= 9) { - GrandExchangeOfferAgeComparator.Widget_setKeyRate(var4, var11, var6, var7); - return 1; - } else { - throw new RuntimeException(); - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { - var5 = 10; - var6 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - GrandExchangeOfferAgeComparator.Widget_setKeyRate(var4, var5, var6, var7); - return 1; - } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { - --class160.Interpreter_intStackSize; - var11 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] - 1; - if (var11 >= 0 && var11 <= 9) { - ReflectionCheck.Widget_setKeyIgnoreHeld(var4, var11); - return 1; - } else { - throw new RuntimeException(); - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { - var5 = 10; - ReflectionCheck.Widget_setKeyIgnoreHeld(var4, var5); - return 1; - } else { - return 2; - } - } else { - byte[] var8 = null; - var9 = null; - if (var3) { - class160.Interpreter_intStackSize -= 10; - - for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + class160.Interpreter_intStackSize] >= 0; var7 += 2) { - } - - if (var7 > 0) { - var8 = new byte[var7 / 2]; - var9 = new byte[var7 / 2]; - - for (var7 -= 2; var7 >= 0; var7 -= 2) { - var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + class160.Interpreter_intStackSize]; - var9[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + class160.Interpreter_intStackSize + 1]; - } - } - } else { - class160.Interpreter_intStackSize -= 2; - var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]}; - var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]}; - } - - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] - 1; - if (var7 >= 0 && var7 <= 9) { - WorldMapIcon_0.Widget_setKey(var4, var7, var8, var9); - return 1; - } else { - throw new RuntimeException(); - } - } - } - } - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "112" - ) - static int method702(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.FRIEND_COUNT) { - if (class218.friendSystem.field1034 == 0) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -2; - } else if (class218.friendSystem.field1034 == 1) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class218.friendSystem.friendsList.getSize(); - } - - return 1; - } else { - int var3; - if (var0 == ScriptOpcodes.FRIEND_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (class218.friendSystem.method1825() && var3 >= 0 && var3 < class218.friendSystem.friendsList.getSize()) { - Friend var8 = (Friend)class218.friendSystem.friendsList.get(var3); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var8.getName(); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var8.getPreviousName(); - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (class218.friendSystem.method1825() && var3 >= 0 && var3 < class218.friendSystem.friendsList.getSize()) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = ((Buddy)class218.friendSystem.friendsList.get(var3)).world; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (class218.friendSystem.method1825() && var3 >= 0 && var3 < class218.friendSystem.friendsList.getSize()) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = ((Buddy)class218.friendSystem.friendsList.get(var3)).rank; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else { - String var5; - if (var0 == ScriptOpcodes.FRIEND_SETRANK) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - int var6 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - ByteArrayPool.method5750(var5, var6); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_ADD) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class218.friendSystem.addFriend(var5); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_DEL) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class218.friendSystem.removeFriend(var5); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_ADD) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class218.friendSystem.addIgnore(var5); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_DEL) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class218.friendSystem.removeIgnore(var5); - return 1; - } else if (var0 == ScriptOpcodes.FRIEND_TEST) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var5 = GrandExchangeEvents.method68(var5); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class218.friendSystem.isFriended(new Username(var5, class4.loginType), false) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = GrandExchangeOfferUnitPriceComparator.clanChat.name; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GrandExchangeOfferUnitPriceComparator.clanChat.getSize(); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null && var3 < GrandExchangeOfferUnitPriceComparator.clanChat.getSize()) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = GrandExchangeOfferUnitPriceComparator.clanChat.get(var3).getUsername().getName(); - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null && var3 < GrandExchangeOfferUnitPriceComparator.clanChat.getSize()) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = ((Buddy)GrandExchangeOfferUnitPriceComparator.clanChat.get(var3)).getWorld(); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null && var3 < GrandExchangeOfferUnitPriceComparator.clanChat.getSize()) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = ((Buddy)GrandExchangeOfferUnitPriceComparator.clanChat.get(var3)).rank; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GrandExchangeOfferUnitPriceComparator.clanChat != null ? GrandExchangeOfferUnitPriceComparator.clanChat.minKick : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class197.clanKickUser(var5); - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GrandExchangeOfferUnitPriceComparator.clanChat != null ? GrandExchangeOfferUnitPriceComparator.clanChat.rank : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - WorldMapID.Clan_joinChat(var5); - return 1; - } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { - class51.Clan_leaveChat(); - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { - if (!class218.friendSystem.method1825()) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class218.friendSystem.ignoreList.getSize(); - } - - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (class218.friendSystem.method1825() && var3 >= 0 && var3 < class218.friendSystem.ignoreList.getSize()) { - Ignored var4 = (Ignored)class218.friendSystem.ignoreList.get(var3); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var4.getName(); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var4.getPreviousName(); - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.IGNORE_TEST) { - var5 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var5 = GrandExchangeEvents.method68(var5); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class218.friendSystem.isIgnored(new Username(var5, class4.loginType)) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null && var3 < GrandExchangeOfferUnitPriceComparator.clanChat.getSize() && GrandExchangeOfferUnitPriceComparator.clanChat.get(var3).getUsername().equals(Varps.localPlayer.username)) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null && GrandExchangeOfferUnitPriceComparator.clanChat.owner != null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = GrandExchangeOfferUnitPriceComparator.clanChat.owner; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null && var3 < GrandExchangeOfferUnitPriceComparator.clanChat.getSize() && ((ClanMate)GrandExchangeOfferUnitPriceComparator.clanChat.get(var3)).isFriend()) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { - if (var0 == 3628) { - class218.friendSystem.friendsList.removeComparator(); - return 1; - } else { - boolean var7; - if (var0 == 3629) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator1(var7)); - return 1; - } else if (var0 == 3630) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator2(var7)); - return 1; - } else if (var0 == 3631) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator3(var7)); - return 1; - } else if (var0 == 3632) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator4(var7)); - return 1; - } else if (var0 == 3633) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator5(var7)); - return 1; - } else if (var0 == 3634) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator6(var7)); - return 1; - } else if (var0 == 3635) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator7(var7)); - return 1; - } else if (var0 == 3636) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator8(var7)); - return 1; - } else if (var0 == 3637) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator9(var7)); - return 1; - } else if (var0 == 3638) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new UserComparator10(var7)); - return 1; - } else if (var0 == 3639) { - class218.friendSystem.friendsList.sort(); - return 1; - } else if (var0 == 3640) { - class218.friendSystem.ignoreList.removeComparator(); - return 1; - } else if (var0 == 3641) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.ignoreList.addComparator(new UserComparator1(var7)); - return 1; - } else if (var0 == 3642) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.ignoreList.addComparator(new UserComparator2(var7)); - return 1; - } else if (var0 == 3643) { - class218.friendSystem.ignoreList.sort(); - return 1; - } else if (var0 == 3644) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.removeComparator(); - } - - return 1; - } else if (var0 == 3645) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator1(var7)); - } - - return 1; - } else if (var0 == 3646) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator2(var7)); - } - - return 1; - } else if (var0 == 3647) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator3(var7)); - } - - return 1; - } else if (var0 == 3648) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator4(var7)); - } - - return 1; - } else if (var0 == 3649) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator5(var7)); - } - - return 1; - } else if (var0 == 3650) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator6(var7)); - } - - return 1; - } else if (var0 == 3651) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator7(var7)); - } - - return 1; - } else if (var0 == 3652) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator8(var7)); - } - - return 1; - } else if (var0 == 3653) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator9(var7)); - } - - return 1; - } else if (var0 == 3654) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new UserComparator10(var7)); - } - - return 1; - } else if (var0 == 3655) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.sort(); - } - - return 1; - } else if (var0 == 3656) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - class218.friendSystem.friendsList.addComparator(new BuddyRankComparator(var7)); - return 1; - } else if (var0 == 3657) { - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - GrandExchangeOfferUnitPriceComparator.clanChat.addComparator(new BuddyRankComparator(var7)); - } - - return 1; - } else { - return 2; - } - } - } else { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (GrandExchangeOfferUnitPriceComparator.clanChat != null && var3 < GrandExchangeOfferUnitPriceComparator.clanChat.getSize() && ((ClanMate)GrandExchangeOfferUnitPriceComparator.clanChat.get(var3)).isIgnored()) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } - } - } - } - - @ObfuscatedName("fe") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-1914093616" - ) - @Export("playSong") - static void playSong(int var0) { - if (var0 == -1 && !Client.field746) { - class226.method4108(); - } else if (var0 != -1 && var0 != Client.field857 && Client.field638 != 0 && !Client.field746) { - Archive var1 = WorldMapDecoration.archive6; - int var2 = Client.field638; - class197.field2376 = 1; - class197.musicTrackArchive = var1; - class197.musicTrackGroupId = var0; - class197.musicTrackFileId = 0; - Canvas.field395 = var2; - MouseRecorder.musicTrackBoolean = false; - ModelData0.field1833 = 2; - } - - Client.field857 = var0; - } -} +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.ScriptOpcodes; + +@ObfuscatedName("ai") +@Implements("WorldMapData_1") +public class WorldMapData_1 extends AbstractWorldMapData { + @ObfuscatedName("dl") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive14") + static Archive archive14; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -537501083 + ) + @Export("chunkXLow") + int chunkXLow; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 948345097 + ) + @Export("chunkYLow") + int chunkYLow; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 2091889323 + ) + @Export("chunkX") + int chunkX; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 494582433 + ) + @Export("chunkY") + int chunkY; + + WorldMapData_1() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-1114535893" + ) + @Export("init") + void init(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 != WorldMapID.field257.value) { + throw new IllegalStateException(""); + } else { + super.minPlane = var1.readUnsignedByte(); + super.planes = var1.readUnsignedByte(); + super.regionXLow = var1.readUnsignedShort() * 64; + super.regionYLow = var1.readUnsignedShort() * 4096; + this.chunkXLow = var1.readUnsignedByte(); + this.chunkYLow = var1.readUnsignedByte(); + super.regionX = var1.readUnsignedShort(); + super.regionY = var1.readUnsignedShort(); + this.chunkX = var1.readUnsignedByte(); + this.chunkY = var1.readUnsignedByte(); + super.groupId = var1.method5438(); + super.fileId = var1.method5438(); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "1549979331" + ) + @Export("readGeography") + void readGeography(Buffer var1) { + super.planes = Math.min(super.planes, 4); + super.floorUnderlayIds = new short[1][64][64]; + super.floorOverlayIds = new short[super.planes][64][64]; + super.field164 = new byte[super.planes][64][64]; + super.field152 = new byte[super.planes][64][64]; + super.decorations = new WorldMapDecoration[super.planes][64][64][]; + int var2 = var1.readUnsignedByte(); + if (var2 != class30.field250.value) { + throw new IllegalStateException(""); + } else { + int var3 = var1.readUnsignedByte(); + int var4 = var1.readUnsignedByte(); + int var5 = var1.readUnsignedByte(); + int var6 = var1.readUnsignedByte(); + if (var3 == super.regionX && var4 == super.regionY && var5 == this.chunkX && var6 == this.chunkY) { + for (int var7 = 0; var7 < 8; ++var7) { + for (int var8 = 0; var8 < 8; ++var8) { + this.readTile(var7 + this.chunkX * 8, var8 + this.chunkY * 8, var1); + } + } + + } else { + throw new IllegalStateException(""); + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "-57" + ) + @Export("getChunkXLow") + int getChunkXLow() { + return this.chunkXLow; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1398345797" + ) + @Export("getChunkYLow") + int getChunkYLow() { + return this.chunkYLow; + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-273717009" + ) + @Export("getChunkX") + int getChunkX() { + return this.chunkX; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "2022346742" + ) + @Export("getChunkY") + int getChunkY() { + return this.chunkY; + } + + public boolean equals(Object var1) { + if (!(var1 instanceof WorldMapData_1)) { + return false; + } else { + WorldMapData_1 var2 = (WorldMapData_1)var1; + if (var2.regionX == super.regionX && super.regionY == var2.regionY) { + return var2.chunkX == this.chunkX && this.chunkY == var2.chunkY; + } else { + return false; + } + } + } + + public int hashCode() { + return super.regionX | super.regionY << 8 | this.chunkX << 16 | this.chunkY << 24; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + garbageValue = "-1530516741" + ) + @Export("addChatMessage") + static void addChatMessage(int var0, String var1, String var2, String var3) { + ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0); + if (var4 == null) { + var4 = new ChatChannel(); + Messages.Messages_channels.put(var0, var4); + } + + Message var5 = var4.addMessage(var0, var1, var2, var3); + Messages.Messages_hashTable.put(var5, (long)var5.count); + Messages.Messages_queue.add(var5); + Client.chatCycle = Client.cycleCntr; + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(ILcu;ZB)I", + garbageValue = "43" + ) + static int method749(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + int var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (!Client.isCameraLocked) { + Client.camAngleX = var3; + Client.camAngleY = var4; + } + + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.camAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.camAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var3 < 0) { + var3 = 0; + } + + Client.camFollowHeight = var3 * -767303221; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.camFollowHeight * -844153885; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("hw") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", + garbageValue = "108879926" + ) + @Export("insertMenuItemNoShift") + public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { + AttackOption.insertMenuItem(var0, var1, var2, var3, var4, var5, false); + } +} diff --git a/runescape-client/src/main/java/WorldMapDecoration.java b/runescape-client/src/main/java/WorldMapDecoration.java index 4e4fa6a212..2a81155cee 100644 --- a/runescape-client/src/main/java/WorldMapDecoration.java +++ b/runescape-client/src/main/java/WorldMapDecoration.java @@ -1,130 +1,173 @@ -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("b") -@Implements("WorldMapDecoration") -public class WorldMapDecoration { - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Llt;" - ) - static IndexedSprite field202; - @ObfuscatedName("di") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive6") - static Archive archive6; - @ObfuscatedName("dc") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive8") - static Archive archive8; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1850288081 - ) - @Export("objectDefinitionId") - final int objectDefinitionId; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -20995345 - ) - @Export("decoration") - final int decoration; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 563692881 - ) - @Export("rotation") - final int rotation; - - WorldMapDecoration(int var1, int var2, int var3) { - this.objectDefinitionId = var1; - this.decoration = var2; - this.rotation = var3; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(CI)C", - garbageValue = "1722829704" - ) - static char method302(char var0) { - return var0 != 181 && var0 != 402 ? Character.toTitleCase(var0) : var0; - } - - @ObfuscatedName("jg") - @ObfuscatedSignature( - signature = "([Lhy;II)V", - garbageValue = "2021423451" - ) - @Export("drawModelComponents") - static final void drawModelComponents(Widget[] var0, int var1) { - for (int var2 = 0; var2 < var0.length; ++var2) { - Widget var3 = var0[var2]; - if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !NetCache.isComponentHidden(var3))) { - int var5; - if (var3.type == 0) { - if (!var3.isIf3 && NetCache.isComponentHidden(var3) && var3 != class32.mousedOverWidgetIf1) { - continue; - } - - drawModelComponents(var0, var3.id); - if (var3.children != null) { - drawModelComponents(var3.children, var3.id); - } - - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); - if (var4 != null) { - var5 = var4.group; - if (TaskHandler.loadInterface(var5)) { - drawModelComponents(class289.Widget_interfaceComponents[var5], -1); - } - } - } - - if (var3.type == 6) { - if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { - boolean var7 = Tile.runCs1(var3); - if (var7) { - var5 = var3.sequenceId2; - } else { - var5 = var3.sequenceId; - } - - if (var5 != -1) { - SequenceDefinition var6 = class83.SequenceDefinition_get(var5); - - for (var3.modelFrameCycle += Client.field683; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; WorldMapID.invalidateWidget(var3)) { - var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; - ++var3.modelFrame; - if (var3.modelFrame >= var6.frameIds.length) { - var3.modelFrame -= var6.frameCount; - if (var3.modelFrame < 0 || var3.modelFrame >= var6.frameIds.length) { - var3.modelFrame = 0; - } - } - } - } - } - - if (var3.field2594 != 0 && !var3.isIf3) { - int var8 = var3.field2594 >> 16; - var5 = var3.field2594 << 16 >> 16; - var8 *= Client.field683; - var5 *= Client.field683; - var3.modelAngleX = var8 + var3.modelAngleX & 2047; - var3.modelAngleY = var5 + var3.modelAngleY & 2047; - WorldMapID.invalidateWidget(var3); - } - } - } - } - - } -} +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("k") +@Implements("WorldMapDecoration") +public class WorldMapDecoration { + @ObfuscatedName("kw") + @ObfuscatedGetter( + intValue = -1785453027 + ) + @Export("menuHeight") + static int menuHeight; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -865323619 + ) + @Export("objectDefinitionId") + final int objectDefinitionId; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1850610867 + ) + @Export("decoration") + final int decoration; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1741054453 + ) + @Export("rotation") + final int rotation; + + WorldMapDecoration(int var1, int var2, int var3) { + this.objectDefinitionId = var1; + this.decoration = var2; + this.rotation = var3; + } + + @ObfuscatedName("z") + static boolean method346(long var0) { + return Client.method1707(var0) == 2; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)[Lgw;", + garbageValue = "1443955115" + ) + public static class185[] method348() { + return new class185[]{class185.field2299, class185.field2300, class185.field2298, class185.field2297, class185.field2295, class185.field2296, class185.field2301, class185.field2302, class185.field2303, class185.field2304}; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-9791286" + ) + static int method344(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return -1; + } else { + return var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lie;IIIBZI)V", + garbageValue = "199205492" + ) + @Export("requestNetFile") + static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) { + long var6 = (long)((var1 << 16) + var2); + NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6); + if (var8 == null) { + var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); + if (var8 == null) { + var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); + if (var8 != null) { + if (var5) { + var8.removeDual(); + NetCache.NetCache_pendingPriorityWrites.put(var8, var6); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingPriorityWritesCount; + } + + } else { + if (!var5) { + var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); + if (var8 != null) { + return; + } + } + + var8 = new NetFileRequest(); + var8.archive = var0; + var8.crc = var3; + var8.padding = var4; + if (var5) { + NetCache.NetCache_pendingPriorityWrites.put(var8, var6); + ++NetCache.NetCache_pendingPriorityWritesCount; + } else { + NetCache.NetCache_pendingWritesQueue.addFirst(var8); + NetCache.NetCache_pendingWrites.put(var8, var6); + ++NetCache.NetCache_pendingWritesCount; + } + + } + } + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-917346374" + ) + static void method349() { + Messages.Messages_channels.clear(); + Messages.Messages_hashTable.clear(); + Messages.Messages_queue.clear(); + Messages.Messages_count = 0; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "2081647418" + ) + static final int method347(int var0, int var1) { + int var2 = WorldMapLabelSize.method202(45365 + var0, var1 + 91923, 4) - 128 + (WorldMapLabelSize.method202(10294 + var0, 37821 + var1, 2) - 128 >> 1) + (WorldMapLabelSize.method202(var0, var1, 1) - 128 >> 2); + var2 = (int)((double)var2 * 0.3D) + 35; + if (var2 < 10) { + var2 = 10; + } else if (var2 > 60) { + var2 = 60; + } + + return var2; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(Lcf;B)V", + garbageValue = "0" + ) + public static final void method345(PcmPlayerProvider var0) { + PcmPlayer.pcmPlayerProvider = var0; + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "71" + ) + protected static final void method343() { + GameShell.clock.mark(); + + int var0; + for (var0 = 0; var0 < 32; ++var0) { + GameShell.field430[var0] = 0L; + } + + for (var0 = 0; var0 < 32; ++var0) { + GameShell.field431[var0] = 0L; + } + + GameShell.field419 = 0; + } +} diff --git a/runescape-client/src/main/java/WorldMapDecorationType.java b/runescape-client/src/main/java/WorldMapDecorationType.java index 4e81c592d1..0aa24c7fb2 100644 --- a/runescape-client/src/main/java/WorldMapDecorationType.java +++ b/runescape-client/src/main/java/WorldMapDecorationType.java @@ -1,360 +1,150 @@ -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.net.URL; -import java.net.URLConnection; -import java.util.Random; -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("ha") -@Implements("WorldMapDecorationType") -public enum WorldMapDecorationType implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2704(0, 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2694(1, 0), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2695(2, 0), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2697(3, 0), - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2698(9, 2), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2699(4, 1), - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2700(5, 1), - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2701(6, 1), - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2702(7, 1), - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2703(8, 1), - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2708(12, 2), - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2709(13, 2), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2706(14, 2), - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2705(15, 2), - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2717(16, 2), - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2696(17, 2), - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2710(18, 2), - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2711(19, 2), - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2712(20, 2), - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2713(21, 2), - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2714(10, 2), - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2715(11, 2), - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "Lha;" - ) - field2716(22, 3); - - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -465928431 - ) - @Export("id") - public final int id; - - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "0" - ) - WorldMapDecorationType(int var3, int var4) { - this.id = var3; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "25" - ) - static void method4099() { - Login.Login_username = Login.Login_username.trim(); - if (Login.Login_username.length() == 0) { - Canvas.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); - } else { - long var1; - try { - URL var3 = new URL(GrandExchangeEvents.method67("services", false) + "m=accountappeal/login.ws"); - URLConnection var4 = var3.openConnection(); - var4.setRequestProperty("connection", "close"); - var4.setDoInput(true); - var4.setDoOutput(true); - var4.setConnectTimeout(5000); - OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream()); - var5.write("data1=req"); - var5.flush(); - InputStream var6 = var4.getInputStream(); - Buffer var7 = new Buffer(new byte[1000]); - - while (true) { - int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); - if (var8 == -1) { - var7.offset = 0; - long var23 = var7.readLong(); - var1 = var23; - break; - } - - var7.offset += var8; - if (var7.offset >= 1000) { - var1 = 0L; - break; - } - } - } catch (Exception var34) { - var1 = 0L; - } - - byte var0; - if (var1 == 0L) { - var0 = 5; - } else { - String var35 = Login.Login_username; - Random var36 = new Random(); - Buffer var27 = new Buffer(128); - Buffer var9 = new Buffer(128); - int[] var10 = new int[]{var36.nextInt(), var36.nextInt(), (int)(var1 >> 32), (int)var1}; - var27.writeByte(10); - - int var11; - for (var11 = 0; var11 < 4; ++var11) { - var27.writeInt(var36.nextInt()); - } - - var27.writeInt(var10[0]); - var27.writeInt(var10[1]); - var27.writeLong(var1); - var27.writeLong(0L); - - for (var11 = 0; var11 < 4; ++var11) { - var27.writeInt(var36.nextInt()); - } - - var27.encryptRsa(class80.field1105, class80.field1106); - var9.writeByte(10); - - for (var11 = 0; var11 < 3; ++var11) { - var9.writeInt(var36.nextInt()); - } - - var9.writeLong(var36.nextLong()); - var9.writeLongMedium(var36.nextLong()); - SequenceDefinition.method4770(var9); - var9.writeLong(var36.nextLong()); - var9.encryptRsa(class80.field1105, class80.field1106); - var11 = Varcs.stringCp1252NullTerminatedByteSize(var35); - if (var11 % 8 != 0) { - var11 += 8 - var11 % 8; - } - - Buffer var12 = new Buffer(var11); - var12.writeStringCp1252NullTerminated(var35); - var12.offset = var11; - var12.xteaEncryptAll(var10); - Buffer var13 = new Buffer(var12.offset + var27.offset + var9.offset + 5); - var13.writeByte(2); - var13.writeByte(var27.offset); - var13.writeBytes(var27.array, 0, var27.offset); - var13.writeByte(var9.offset); - var13.writeBytes(var9.array, 0, var9.offset); - var13.writeShort(var12.offset); - var13.writeBytes(var12.array, 0, var12.offset); - byte[] var15 = var13.array; - int var17 = var15.length; - StringBuilder var18 = new StringBuilder(); - - int var21; - for (int var19 = 0; var19 < var17 + 0; var19 += 3) { - int var20 = var15[var19] & 255; - var18.append(class289.field3626[var20 >>> 2]); - if (var19 < var17 - 1) { - var21 = var15[var19 + 1] & 255; - var18.append(class289.field3626[(var20 & 3) << 4 | var21 >>> 4]); - if (var19 < var17 - 2) { - int var22 = var15[var19 + 2] & 255; - var18.append(class289.field3626[(var21 & 15) << 2 | var22 >>> 6]).append(class289.field3626[var22 & 63]); - } else { - var18.append(class289.field3626[(var21 & 15) << 2]).append("="); - } - } else { - var18.append(class289.field3626[(var20 & 3) << 4]).append("=="); - } - } - - String var16 = var18.toString(); - var16 = var16; - - byte var31; - try { - URL var28 = new URL(GrandExchangeEvents.method67("services", false) + "m=accountappeal/login.ws"); - URLConnection var37 = var28.openConnection(); - var37.setDoInput(true); - var37.setDoOutput(true); - var37.setConnectTimeout(5000); - OutputStreamWriter var29 = new OutputStreamWriter(var37.getOutputStream()); - var29.write("data2=" + FriendsList.method5163(var16) + "&dest=" + FriendsList.method5163("passwordchoice.ws")); - var29.flush(); - InputStream var30 = var37.getInputStream(); - var13 = new Buffer(new byte[1000]); - - while (true) { - var21 = var30.read(var13.array, var13.offset, 1000 - var13.offset); - if (var21 == -1) { - var29.close(); - var30.close(); - String var32 = new String(var13.array); - if (var32.startsWith("OFFLINE")) { - var31 = 4; - } else if (var32.startsWith("WRONG")) { - var31 = 7; - } else if (var32.startsWith("RELOAD")) { - var31 = 3; - } else if (var32.startsWith("Not permitted for social network accounts.")) { - var31 = 6; - } else { - var13.xteaDecryptAll(var10); - - while (var13.offset > 0 && var13.array[var13.offset - 1] == 0) { - --var13.offset; - } - - var32 = new String(var13.array, 0, var13.offset); - if (MouseRecorder.isValidURL(var32)) { - WorldMapIcon_0.openURL(var32, true, false); - var31 = 2; - } else { - var31 = 5; - } - } - break; - } - - var13.offset += var21; - if (var13.offset >= 1000) { - var31 = 5; - break; - } - } - } catch (Throwable var33) { - var33.printStackTrace(); - var31 = 5; - } - - var0 = var31; - } - - switch(var0) { - case 2: - Canvas.setLoginResponseString(Strings.field3008, Strings.field2966, Strings.field2844); - Login.loginIndex = 6; - break; - case 3: - Canvas.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 4: - Canvas.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); - break; - case 5: - Canvas.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); - break; - case 6: - Canvas.setLoginResponseString("", "Error connecting to server.", ""); - break; - case 7: - Canvas.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); - } - - } - } -} +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("hn") +@Implements("WorldMapDecorationType") +public enum WorldMapDecorationType implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2710(0, 0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2700(1, 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2701(2, 0), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2702(3, 0), + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2708(9, 2), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2712(4, 1), + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2705(5, 1), + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2713(6, 1), + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2703(7, 1), + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2706(8, 1), + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2709(12, 2), + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2719(13, 2), + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2711(14, 2), + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2707(15, 2), + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2699(16, 2), + @ObfuscatedName("w") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2714(17, 2), + @ObfuscatedName("t") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2715(18, 2), + @ObfuscatedName("g") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2716(19, 2), + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2717(20, 2), + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2718(21, 2), + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2704(10, 2), + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2720(11, 2), + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "Lhn;" + ) + field2721(22, 3); + + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -240297385 + ) + @Export("id") + public final int id; + + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "0" + ) + WorldMapDecorationType(int var3, int var4) { + this.id = var3; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } +} diff --git a/runescape-client/src/main/java/WorldMapElement.java b/runescape-client/src/main/java/WorldMapElement.java index f461384360..cb7f9e46ec 100644 --- a/runescape-client/src/main/java/WorldMapElement.java +++ b/runescape-client/src/main/java/WorldMapElement.java @@ -1,423 +1,342 @@ -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("iu") -@Implements("WorldMapElement") -public class WorldMapElement extends DualNode { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("WorldMapElement_archive") - public static AbstractArchive WorldMapElement_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "[Liu;" - ) - @Export("WorldMapElement_cached") - public static WorldMapElement[] WorldMapElement_cached; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 471217631 - ) - @Export("WorldMapElement_count") - public static int WorldMapElement_count; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Let;" - ) - @Export("WorldMapElement_cachedSprites") - static EvictingDualNodeHashTable WorldMapElement_cachedSprites; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1264216493 - ) - @Export("objectId") - public final int objectId; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -617299153 - ) - @Export("sprite1") - public int sprite1; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 599415769 - ) - @Export("sprite2") - int sprite2; - @ObfuscatedName("v") - @Export("name") - public String name; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -732973265 - ) - public int field3195; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -215017427 - ) - @Export("textSize") - public int textSize; - @ObfuscatedName("h") - @Export("menuActions") - public String[] menuActions; - @ObfuscatedName("f") - @Export("menuTargetName") - public String menuTargetName; - @ObfuscatedName("s") - int[] field3183; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -391425933 - ) - int field3194; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1176780449 - ) - int field3198; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 284270197 - ) - int field3199; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -572189601 - ) - int field3200; - @ObfuscatedName("y") - @ObfuscatedSignature( - signature = "Lie;" - ) - @Export("horizontalAlignment") - public HorizontalAlignment horizontalAlignment; - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "Lii;" - ) - @Export("verticalAlignment") - public VerticalAlignment verticalAlignment; - @ObfuscatedName("k") - int[] field3203; - @ObfuscatedName("w") - byte[] field3204; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1900378841 - ) - @Export("category") - public int category; - - static { - WorldMapElement_cachedSprites = new EvictingDualNodeHashTable(256); - } - - public WorldMapElement(int var1) { - this.sprite1 = -1; - this.sprite2 = -1; - this.textSize = 0; - this.menuActions = new String[5]; - this.field3194 = Integer.MAX_VALUE; - this.field3198 = Integer.MAX_VALUE; - this.field3199 = Integer.MIN_VALUE; - this.field3200 = Integer.MIN_VALUE; - this.horizontalAlignment = HorizontalAlignment.HorizontalAlignment_centered; - this.verticalAlignment = VerticalAlignment.VerticalAlignment_centered; - this.category = -1; - this.objectId = var1; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "-766770853" - ) - @Export("decode") - public void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); - if (var2 == 0) { - return; - } - - this.decodeNext(var1, var2); - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkz;II)V", - garbageValue = "801744823" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - this.sprite1 = var1.method5623(); - } else if (var2 == 2) { - this.sprite2 = var1.method5623(); - } else if (var2 == 3) { - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 4) { - this.field3195 = var1.readMedium(); - } else if (var2 == 5) { - var1.readMedium(); - } else if (var2 == 6) { - this.textSize = var1.readUnsignedByte(); - } else { - int var3; - if (var2 == 7) { - var3 = var1.readUnsignedByte(); - if ((var3 & 1) == 0) { - } - - if ((var3 & 2) == 2) { - } - } else if (var2 == 8) { - var1.readUnsignedByte(); - } else if (var2 >= 10 && var2 <= 14) { - this.menuActions[var2 - 10] = var1.readStringCp1252NullTerminated(); - } else if (var2 == 15) { - var3 = var1.readUnsignedByte(); - this.field3183 = new int[var3 * 2]; - - int var4; - for (var4 = 0; var4 < var3 * 2; ++var4) { - this.field3183[var4] = var1.readShort(); - } - - var1.readInt(); - var4 = var1.readUnsignedByte(); - this.field3203 = new int[var4]; - - int var5; - for (var5 = 0; var5 < this.field3203.length; ++var5) { - this.field3203[var5] = var1.readInt(); - } - - this.field3204 = new byte[var3]; - - for (var5 = 0; var5 < var3; ++var5) { - this.field3204[var5] = var1.readByte(); - } - } else if (var2 != 16) { - if (var2 == 17) { - this.menuTargetName = var1.readStringCp1252NullTerminated(); - } else if (var2 == 18) { - var1.method5623(); - } else if (var2 == 19) { - this.category = var1.readUnsignedShort(); - } else if (var2 == 21) { - var1.readInt(); - } else if (var2 == 22) { - var1.readInt(); - } else if (var2 == 23) { - var1.readUnsignedByte(); - var1.readUnsignedByte(); - var1.readUnsignedByte(); - } else if (var2 == 24) { - var1.readShort(); - var1.readShort(); - } else if (var2 == 25) { - var1.method5623(); - } else if (var2 == 28) { - var1.readUnsignedByte(); - } else if (var2 == 29) { - this.horizontalAlignment = (HorizontalAlignment)ServerPacket.findEnumerated(VarcInt.method4396(), var1.readUnsignedByte()); - } else if (var2 == 30) { - this.verticalAlignment = (VerticalAlignment)ServerPacket.findEnumerated(ItemContainer.method1120(), var1.readUnsignedByte()); - } - } - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1597557891" - ) - public void method4378() { - if (this.field3183 != null) { - for (int var1 = 0; var1 < this.field3183.length; var1 += 2) { - if (this.field3183[var1] < this.field3194) { - this.field3194 = this.field3183[var1]; - } else if (this.field3183[var1] > this.field3199) { - this.field3199 = this.field3183[var1]; - } - - if (this.field3183[var1 + 1] < this.field3198) { - this.field3198 = this.field3183[var1 + 1]; - } else if (this.field3183[var1 + 1] > this.field3200) { - this.field3200 = this.field3183[var1 + 1]; - } - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(ZB)Lli;", - garbageValue = "24" - ) - @Export("getSpriteBool") - public Sprite getSpriteBool(boolean var1) { - int var2 = this.sprite1; - return this.getSprite(var2); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)Lli;", - garbageValue = "37" - ) - @Export("getSprite") - Sprite getSprite(int var1) { - if (var1 < 0) { - return null; - } else { - Sprite var2 = (Sprite)WorldMapElement_cachedSprites.get((long)var1); - if (var2 != null) { - return var2; - } else { - var2 = FillMode.SpriteBuffer_getSprite(WorldMapElement_archive, var1, 0); - if (var2 != null) { - WorldMapElement_cachedSprites.put(var2, (long)var1); - } - - return var2; - } - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-854181096" - ) - @Export("getObjectId") - public int getObjectId() { - return this.objectId; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "-13" - ) - public static int method4390(int var0) { - return var0 >> 11 & 63; - } - - @ObfuscatedName("hi") - @ObfuscatedSignature( - signature = "(ZLkt;B)V", - garbageValue = "-4" - ) - @Export("updateNpcs") - static final void updateNpcs(boolean var0, PacketBuffer var1) { - Client.field742 = 0; - Client.field666 = 0; - PacketBuffer var2 = Client.packetWriter.packetBuffer; - var2.importIndex(); - int var3 = var2.readBits(8); - int var4; - if (var3 < Client.npcCount) { - for (var4 = var3; var4 < Client.npcCount; ++var4) { - Client.field731[++Client.field742 - 1] = Client.npcIndices[var4]; - } - } - - if (var3 > Client.npcCount) { - throw new RuntimeException(""); - } else { - Client.npcCount = 0; - - for (var4 = 0; var4 < var3; ++var4) { - int var5 = Client.npcIndices[var4]; - NPC var6 = Client.npcs[var5]; - int var7 = var2.readBits(1); - if (var7 == 0) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var6.npcCycle = Client.cycle; - } else { - int var8 = var2.readBits(2); - if (var8 == 0) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var6.npcCycle = Client.cycle; - Client.field881[++Client.field666 - 1] = var5; - } else { - int var9; - int var10; - if (var8 == 1) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var6.npcCycle = Client.cycle; - var9 = var2.readBits(3); - var6.method2010(var9, (byte)1); - var10 = var2.readBits(1); - if (var10 == 1) { - Client.field881[++Client.field666 - 1] = var5; - } - } else if (var8 == 2) { - Client.npcIndices[++Client.npcCount - 1] = var5; - var6.npcCycle = Client.cycle; - var9 = var2.readBits(3); - var6.method2010(var9, (byte)2); - var10 = var2.readBits(3); - var6.method2010(var10, (byte)2); - int var11 = var2.readBits(1); - if (var11 == 1) { - Client.field881[++Client.field666 - 1] = var5; - } - } else if (var8 == 3) { - Client.field731[++Client.field742 - 1] = var5; - } - } - } - } - - class1.method15(var0, var1); - ObjectSound.method1888(var1); - - int var12; - for (var12 = 0; var12 < Client.field742; ++var12) { - var3 = Client.field731[var12]; - if (Client.npcs[var3].npcCycle != Client.cycle) { - Client.npcs[var3].definition = null; - Client.npcs[var3] = null; - } - } - - if (var1.offset != Client.packetWriter.serverPacketLength) { - throw new RuntimeException(var1.offset + "," + Client.packetWriter.serverPacketLength); - } else { - for (var12 = 0; var12 < Client.npcCount; ++var12) { - if (Client.npcs[Client.npcIndices[var12]] == null) { - throw new RuntimeException(var12 + "," + Client.npcCount); - } - } - - } - } - } - - @ObfuscatedName("hs") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1891347440" - ) - static final void method4392(int var0, int var1, int var2, int var3) { - for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { - if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetHeights[var4] + Client.rootWidgetYs[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { - Client.field828[var4] = true; - } - } - - } -} +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("ij") +@Implements("WorldMapElement") +public class WorldMapElement extends DualNode { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("WorldMapElement_archive") + public static AbstractArchive WorldMapElement_archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "[Lij;" + ) + @Export("WorldMapElement_cached") + public static WorldMapElement[] WorldMapElement_cached; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1558298053 + ) + @Export("WorldMapElement_count") + public static int WorldMapElement_count; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lem;" + ) + @Export("WorldMapElement_cachedSprites") + public static EvictingDualNodeHashTable WorldMapElement_cachedSprites; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1924770341 + ) + @Export("objectId") + public final int objectId; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1840035745 + ) + @Export("sprite1") + public int sprite1; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1186818379 + ) + @Export("sprite2") + int sprite2; + @ObfuscatedName("m") + @Export("name") + public String name; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1029556521 + ) + public int field3195; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1307651093 + ) + @Export("textSize") + public int textSize; + @ObfuscatedName("b") + @Export("menuActions") + public String[] menuActions; + @ObfuscatedName("o") + @Export("menuTargetName") + public String menuTargetName; + @ObfuscatedName("a") + int[] field3189; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 404495527 + ) + int field3200; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1206163627 + ) + int field3198; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1982173019 + ) + int field3202; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1981308333 + ) + int field3203; + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "Lin;" + ) + @Export("horizontalAlignment") + public HorizontalAlignment horizontalAlignment; + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "Lim;" + ) + @Export("verticalAlignment") + public VerticalAlignment verticalAlignment; + @ObfuscatedName("s") + int[] field3194; + @ObfuscatedName("f") + byte[] field3207; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1937119401 + ) + @Export("category") + public int category; + + static { + WorldMapElement_cachedSprites = new EvictingDualNodeHashTable(256); + } + + public WorldMapElement(int var1) { + this.sprite1 = -1; + this.sprite2 = -1; + this.textSize = 0; + this.menuActions = new String[5]; + this.field3200 = Integer.MAX_VALUE; + this.field3198 = Integer.MAX_VALUE; + this.field3202 = Integer.MIN_VALUE; + this.field3203 = Integer.MIN_VALUE; + this.horizontalAlignment = HorizontalAlignment.HorizontalAlignment_centered; + this.verticalAlignment = VerticalAlignment.VerticalAlignment_centered; + this.category = -1; + this.objectId = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)V", + garbageValue = "-1143859499" + ) + @Export("decode") + public void decode(Buffer var1) { + while (true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "-195345385" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.sprite1 = var1.method5438(); + } else if (var2 == 2) { + this.sprite2 = var1.method5438(); + } else if (var2 == 3) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 4) { + this.field3195 = var1.readMedium(); + } else if (var2 == 5) { + var1.readMedium(); + } else if (var2 == 6) { + this.textSize = var1.readUnsignedByte(); + } else { + int var3; + if (var2 == 7) { + var3 = var1.readUnsignedByte(); + if ((var3 & 1) == 0) { + } + + if ((var3 & 2) == 2) { + } + } else if (var2 == 8) { + var1.readUnsignedByte(); + } else if (var2 >= 10 && var2 <= 14) { + this.menuActions[var2 - 10] = var1.readStringCp1252NullTerminated(); + } else if (var2 == 15) { + var3 = var1.readUnsignedByte(); + this.field3189 = new int[var3 * 2]; + + int var4; + for (var4 = 0; var4 < var3 * 2; ++var4) { + this.field3189[var4] = var1.readShort(); + } + + var1.readInt(); + var4 = var1.readUnsignedByte(); + this.field3194 = new int[var4]; + + int var5; + for (var5 = 0; var5 < this.field3194.length; ++var5) { + this.field3194[var5] = var1.readInt(); + } + + this.field3207 = new byte[var3]; + + for (var5 = 0; var5 < var3; ++var5) { + this.field3207[var5] = var1.readByte(); + } + } else if (var2 != 16) { + if (var2 == 17) { + this.menuTargetName = var1.readStringCp1252NullTerminated(); + } else if (var2 == 18) { + var1.method5438(); + } else if (var2 == 19) { + this.category = var1.readUnsignedShort(); + } else if (var2 == 21) { + var1.readInt(); + } else if (var2 == 22) { + var1.readInt(); + } else if (var2 == 23) { + var1.readUnsignedByte(); + var1.readUnsignedByte(); + var1.readUnsignedByte(); + } else if (var2 == 24) { + var1.readShort(); + var1.readShort(); + } else if (var2 == 25) { + var1.method5438(); + } else if (var2 == 28) { + var1.readUnsignedByte(); + } else if (var2 == 29) { + this.horizontalAlignment = (HorizontalAlignment)NetSocket.findEnumerated(PlayerAppearance.method4000(), var1.readUnsignedByte()); + } else if (var2 == 30) { + VerticalAlignment[] var6 = new VerticalAlignment[]{VerticalAlignment.field3172, VerticalAlignment.field3170, VerticalAlignment.VerticalAlignment_centered}; + this.verticalAlignment = (VerticalAlignment)NetSocket.findEnumerated(var6, var1.readUnsignedByte()); + } + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "9" + ) + public void method4338() { + if (this.field3189 != null) { + for (int var1 = 0; var1 < this.field3189.length; var1 += 2) { + if (this.field3189[var1] < this.field3200) { + this.field3200 = this.field3189[var1]; + } else if (this.field3189[var1] > this.field3202) { + this.field3202 = this.field3189[var1]; + } + + if (this.field3189[var1 + 1] < this.field3198) { + this.field3198 = this.field3189[var1 + 1]; + } else if (this.field3189[var1 + 1] > this.field3203) { + this.field3203 = this.field3189[var1 + 1]; + } + } + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(ZB)Llf;", + garbageValue = "-63" + ) + @Export("getSpriteBool") + public Sprite getSpriteBool(boolean var1) { + int var2 = this.sprite1; + return this.getSprite(var2); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)Llf;", + garbageValue = "-444494070" + ) + @Export("getSprite") + Sprite getSprite(int var1) { + if (var1 < 0) { + return null; + } else { + Sprite var2 = (Sprite)WorldMapElement_cachedSprites.get((long)var1); + if (var2 != null) { + return var2; + } else { + var2 = NPCDefinition.SpriteBuffer_getSprite(WorldMapElement_archive, var1, 0); + if (var2 != null) { + WorldMapElement_cachedSprites.put(var2, (long)var1); + } + + return var2; + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1309666771" + ) + @Export("getObjectId") + public int getObjectId() { + return this.objectId; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "-1979971580" + ) + public static void method4348(int var0, int var1) { + VarbitDefinition var3 = (VarbitDefinition)VarbitDefinition.VarbitDefinition_cached.get((long)var0); + VarbitDefinition var2; + if (var3 != null) { + var2 = var3; + } else { + byte[] var8 = VarbitDefinition.VarbitDefinition_archive.takeFile(14, var0); + var3 = new VarbitDefinition(); + if (var8 != null) { + var3.decode(new Buffer(var8)); + } + + VarbitDefinition.VarbitDefinition_cached.put(var3, (long)var0); + var2 = var3; + } + + int var4 = var2.baseVar; + int var5 = var2.startBit; + int var6 = var2.endBit; + int var7 = Varps.Varps_masks[var6 - var5]; + if (var1 < 0 || var1 > var7) { + var1 = 0; + } + + var7 <<= var5; + Varps.Varps_main[var4] = Varps.Varps_main[var4] & ~var7 | var1 << var5 & var7; + } +} diff --git a/runescape-client/src/main/java/WorldMapEvent.java b/runescape-client/src/main/java/WorldMapEvent.java index c61c8913a7..04189164b7 100644 --- a/runescape-client/src/main/java/WorldMapEvent.java +++ b/runescape-client/src/main/java/WorldMapEvent.java @@ -1,84 +1,124 @@ -import java.security.SecureRandom; -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("ae") -@Implements("WorldMapEvent") -public class WorldMapEvent { - @ObfuscatedName("d") - @Export("ByteArrayPool_arrays") - static byte[][][] ByteArrayPool_arrays; - @ObfuscatedName("ey") - @Export("secureRandom") - static SecureRandom secureRandom; - @ObfuscatedName("gn") - @Export("regionMapArchiveIds") - static int[] regionMapArchiveIds; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -85527785 - ) - @Export("mapElement") - public int mapElement; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhj;" - ) - @Export("coord1") - public Coord coord1; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhj;" - ) - @Export("coord2") - public Coord coord2; - - @ObfuscatedSignature( - signature = "(ILhj;Lhj;)V" - ) - public WorldMapEvent(int var1, Coord var2, Coord var3) { - this.mapElement = var1; - this.coord1 = var2; - this.coord2 = var3; - } - - @ObfuscatedName("ij") - @ObfuscatedSignature( - signature = "(Lhy;III)V", - garbageValue = "-2056894678" - ) - @Export("alignWidgetPosition") - static void alignWidgetPosition(Widget var0, int var1, int var2) { - if (var0.xAlignment == 0) { - var0.x = var0.rawX; - } else if (var0.xAlignment == 1) { - var0.x = var0.rawX + (var1 - var0.width) / 2; - } else if (var0.xAlignment == 2) { - var0.x = var1 - var0.width - var0.rawX; - } else if (var0.xAlignment == 3) { - var0.x = var0.rawX * var1 >> 14; - } else if (var0.xAlignment == 4) { - var0.x = (var0.rawX * var1 >> 14) + (var1 - var0.width) / 2; - } else { - var0.x = var1 - var0.width - (var0.rawX * var1 >> 14); - } - - if (var0.yAlignment == 0) { - var0.y = var0.rawY; - } else if (var0.yAlignment == 1) { - var0.y = (var2 - var0.height) / 2 + var0.rawY; - } else if (var0.yAlignment == 2) { - var0.y = var2 - var0.height - var0.rawY; - } else if (var0.yAlignment == 3) { - var0.y = var2 * var0.rawY >> 14; - } else if (var0.yAlignment == 4) { - var0.y = (var2 - var0.height) / 2 + (var2 * var0.rawY >> 14); - } else { - var0.y = var2 - var0.height - (var2 * var0.rawY >> 14); - } - - } -} +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("aq") +@Implements("WorldMapEvent") +public class WorldMapEvent { + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "Lhc;" + ) + @Export("NetCache_currentResponse") + static NetFileRequest NetCache_currentResponse; + @ObfuscatedName("ek") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive20") + static Archive archive20; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -133473401 + ) + @Export("mapElement") + public int mapElement; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lhb;" + ) + @Export("coord1") + public Coord coord1; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhb;" + ) + @Export("coord2") + public Coord coord2; + + @ObfuscatedSignature( + signature = "(ILhb;Lhb;)V" + ) + public WorldMapEvent(int var1, Coord var2, Coord var3) { + this.mapElement = var1; + this.coord1 = var2; + this.coord2 = var3; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "1393398598" + ) + static int method801(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return 0; + } else if (var1 == -1) { + return 0; + } else { + int var3 = 0; + + for (int var4 = 0; var4 < var2.quantities.length; ++var4) { + if (var2.ids[var4] == var1) { + var3 += var2.quantities[var4]; + } + } + + return var3; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(BI)C", + garbageValue = "1512501229" + ) + public static char method802(byte var0) { + int var1 = var0 & 255; + if (var1 == 0) { + throw new IllegalArgumentException("" + Integer.toString(var1, 16)); + } else { + if (var1 >= 128 && var1 < 160) { + char var2 = class287.cp1252AsciiExtension[var1 - 128]; + if (var2 == 0) { + var2 = '?'; + } + + var1 = var2; + } + + return (char)var1; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "782060885" + ) + static final int method800(int var0, int var1) { + if (var0 == -2) { + return 12345678; + } else if (var0 == -1) { + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return var1; + } else { + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 65408) + var1; + } + } +} diff --git a/runescape-client/src/main/java/WorldMapID.java b/runescape-client/src/main/java/WorldMapID.java index 06ffdbe9a5..93493821c7 100644 --- a/runescape-client/src/main/java/WorldMapID.java +++ b/runescape-client/src/main/java/WorldMapID.java @@ -1,210 +1,196 @@ -import java.util.Date; -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("al") -@Implements("WorldMapID") -public class WorldMapID { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lal;" - ) - static final WorldMapID field263; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lal;" - ) - static final WorldMapID field264; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1185944763 - ) - @Export("value") - final int value; - - static { - field263 = new WorldMapID(0); - field264 = new WorldMapID(1); - } - - WorldMapID(int var1) { - this.value = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;I)V", - garbageValue = "969965104" - ) - public static void method526(AbstractArchive var0, AbstractArchive var1) { - KitDefinition.KitDefinition_archive = var0; - KitDefinition.KitDefinition_modelsArchive = var1; - KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); - } - - @ObfuscatedName("c") - public static String method522(long var0) { - Calendar.Calendar_calendar.setTime(new Date(var0)); - int var2 = Calendar.Calendar_calendar.get(7); - int var3 = Calendar.Calendar_calendar.get(5); - int var4 = Calendar.Calendar_calendar.get(2); - int var5 = Calendar.Calendar_calendar.get(1); - int var6 = Calendar.Calendar_calendar.get(11); - int var7 = Calendar.Calendar_calendar.get(12); - int var8 = Calendar.Calendar_calendar.get(13); - return Calendar.DAYS_OF_THE_WEEK[var2 - 1] + ", " + var3 / 10 + var3 % 10 + "-" + Calendar.MONTH_NAMES_ENGLISH_GERMAN[0][var4] + "-" + var5 + " " + var6 / 10 + var6 % 10 + ":" + var7 / 10 + var7 % 10 + ":" + var8 / 10 + var8 % 10 + " GMT"; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIIIB)V", - garbageValue = "1" - ) - static void method521(int var0, int var1, int var2, int var3) { - for (ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { - if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { - int var5 = 0; - if (var1 > var4.field1043 * 16384) { - var5 += var1 - var4.field1043 * 16384; - } else if (var1 < var4.x * 16384) { - var5 += var4.x * 16384 - var1; - } - - if (var2 > var4.field1051 * 16384) { - var5 += var2 - var4.field1051 * 16384; - } else if (var2 < var4.y * 16384) { - var5 += var4.y * 16384 - var2; - } - - if (var5 - 64 <= var4.field1039 && Client.field860 != 0 && var0 == var4.plane) { - var5 -= 64; - if (var5 < 0) { - var5 = 0; - } - - int var6 = (var4.field1039 - var5) * Client.field860 / var4.field1039; - if (var4.stream1 == null) { - if (var4.soundEffectId >= 0) { - SoundEffect var7 = SoundEffect.readSoundEffect(class13.archive4, var4.soundEffectId, 0); - if (var7 != null) { - RawSound var8 = var7.toRawSound().resample(class81.decimator); - RawPcmStream var9 = RawPcmStream.createRawPcmStream(var8, 100, var6); - var9.setNumLoops(-1); - class51.pcmStreamMixer.addSubStream(var9); - var4.stream1 = var9; - } - } - } else { - var4.stream1.method2514(var6); - } - - if (var4.stream2 == null) { - if (var4.soundEffectIds != null && (var4.field1042 -= var3) <= 0) { - int var11 = (int)(Math.random() * (double)var4.soundEffectIds.length); - SoundEffect var12 = SoundEffect.readSoundEffect(class13.archive4, var4.soundEffectIds[var11], 0); - if (var12 != null) { - RawSound var13 = var12.toRawSound().resample(class81.decimator); - RawPcmStream var10 = RawPcmStream.createRawPcmStream(var13, 100, var6); - var10.setNumLoops(0); - class51.pcmStreamMixer.addSubStream(var10); - var4.stream2 = var10; - var4.field1042 = var4.field1048 + (int)(Math.random() * (double)(var4.field1049 - var4.field1048)); - } - } - } else { - var4.stream2.method2514(var6); - if (!var4.stream2.hasNext()) { - var4.stream2 = null; - } - } - } else { - if (var4.stream1 != null) { - class51.pcmStreamMixer.removeSubStream(var4.stream1); - var4.stream1 = null; - } - - if (var4.stream2 != null) { - class51.pcmStreamMixer.removeSubStream(var4.stream2); - var4.stream2 = null; - } - } - } - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IZIZI)V", - garbageValue = "-704520516" - ) - @Export("sortWorldList") - static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { - if (World.World_worlds != null) { - VertexNormal.doWorldSorting(0, World.World_worlds.length - 1, var0, var1, var2, var3); - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-354748408" - ) - static void method520(boolean var0) { - Login.Login_response1 = ""; - Login.Login_response2 = "Enter your username/email & password."; - Login.Login_response3 = ""; - Login.loginIndex = 2; - if (var0) { - Login.Login_password = ""; - } - - if (Login.Login_username == null || Login.Login_username.length() <= 0) { - if (Actor.clientPreferences.rememberedUsername != null) { - Login.Login_username = Actor.clientPreferences.rememberedUsername; - Client.Login_isUsernameRemembered = true; - } else { - Client.Login_isUsernameRemembered = false; - } - } - - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { - Login.currentLoginField = 1; - } else { - Login.currentLoginField = 0; - } - - } - - @ObfuscatedName("js") - @ObfuscatedSignature( - signature = "(Lhy;B)V", - garbageValue = "-19" - ) - @Export("invalidateWidget") - static void invalidateWidget(Widget var0) { - if (var0.cycle == Client.field826) { - Client.field827[var0.rootIndex] = true; - } - - } - - @ObfuscatedName("kr") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "1" - ) - @Export("Clan_joinChat") - static final void Clan_joinChat(String var0) { - if (!var0.equals("")) { - PacketBufferNode var1 = MenuAction.getPacketBufferNode(ClientPacket.field2252, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); - } - } -} +import java.applet.Applet; +import java.awt.Desktop; +import java.awt.Desktop.Action; +import java.net.URI; +import java.net.URL; +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 netscape.javascript.JSObject; + +@ObfuscatedName("ar") +@Implements("WorldMapID") +public class WorldMapID { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lar;" + ) + static final WorldMapID field256; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lar;" + ) + static final WorldMapID field257; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Llf;" + ) + @Export("leftTitleSprite") + static Sprite leftTitleSprite; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -81572617 + ) + static int field259; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1325901065 + ) + @Export("value") + final int value; + + static { + field256 = new WorldMapID(0); + field257 = new WorldMapID(1); + } + + WorldMapID(int var1) { + this.value = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZLjava/lang/String;ZI)V", + garbageValue = "-1035717036" + ) + static void method568(String var0, boolean var1, String var2, boolean var3) { + if (var1) { + if (!var3 && Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) { + try { + Desktop.getDesktop().browse(new URI(var0)); + return; + } catch (Exception var5) { + } + } + + if (class51.field406.startsWith("win") && !var3) { + Interpreter.method2021(var0, 0); + return; + } + + if (class51.field406.startsWith("mac")) { + method567(var0, 1, var2); + return; + } + + Interpreter.method2021(var0, 2); + } else { + Interpreter.method2021(var0, 3); + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ILjava/lang/String;I)Z", + garbageValue = "-1037909601" + ) + static boolean method567(String var0, int var1, String var2) { + if (var1 == 0) { + try { + if (!class51.field406.startsWith("win")) { + throw new Exception(); + } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { + throw new Exception(); + } else { + String var13 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; + + for (int var4 = 0; var4 < var0.length(); ++var4) { + if (var13.indexOf(var0.charAt(var4)) == -1) { + throw new Exception(); + } + } + + Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); + return true; + } + } catch (Throwable var8) { + return false; + } + } else if (var1 == 1) { + try { + Applet var7 = class51.applet; + Object[] var5 = new Object[]{(new URL(class51.applet.getCodeBase(), var0)).toString()}; + Object var3 = JSObject.getWindow(var7).call(var2, var5); + return var3 != null; + } catch (Throwable var9) { + return false; + } + } else if (var1 == 2) { + try { + class51.applet.getAppletContext().showDocument(new URL(class51.applet.getCodeBase(), var0), "_blank"); + return true; + } catch (Exception var10) { + return false; + } + } else if (var1 == 3) { + try { + class47.method881(class51.applet, "loggedout"); + } catch (Throwable var12) { + } + + try { + class51.applet.getAppletContext().showDocument(new URL(class51.applet.getCodeBase(), var0), "_top"); + return true; + } catch (Exception var11) { + return false; + } + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IIII)V", + garbageValue = "-2144797919" + ) + static final void method569(int var0, int var1, int var2) { + int var3; + for (var3 = 0; var3 < 8; ++var3) { + for (int var4 = 0; var4 < 8; ++var4) { + Tiles.Tiles_heights[var0][var3 + var1][var4 + var2] = 0; + } + } + + if (var1 > 0) { + for (var3 = 1; var3 < 8; ++var3) { + Tiles.Tiles_heights[var0][var1][var3 + var2] = Tiles.Tiles_heights[var0][var1 - 1][var3 + var2]; + } + } + + if (var2 > 0) { + for (var3 = 1; var3 < 8; ++var3) { + Tiles.Tiles_heights[var0][var3 + var1][var2] = Tiles.Tiles_heights[var0][var3 + var1][var2 - 1]; + } + } + + if (var1 > 0 && Tiles.Tiles_heights[var0][var1 - 1][var2] != 0) { + Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1 - 1][var2]; + } else if (var2 > 0 && Tiles.Tiles_heights[var0][var1][var2 - 1] != 0) { + Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1][var2 - 1]; + } else if (var1 > 0 && var2 > 0 && Tiles.Tiles_heights[var0][var1 - 1][var2 - 1] != 0) { + Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1 - 1][var2 - 1]; + } + + } + + @ObfuscatedName("fy") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "95" + ) + @Export("playPcmPlayers") + static final void playPcmPlayers() { + if (GrandExchangeOfferWorldComparator.pcmPlayer1 != null) { + GrandExchangeOfferWorldComparator.pcmPlayer1.run(); + } + + if (class219.pcmPlayer0 != null) { + class219.pcmPlayer0.run(); + } + + } +} diff --git a/runescape-client/src/main/java/WorldMapIcon_0.java b/runescape-client/src/main/java/WorldMapIcon_0.java index 726f73fa1d..26a809df5a 100644 --- a/runescape-client/src/main/java/WorldMapIcon_0.java +++ b/runescape-client/src/main/java/WorldMapIcon_0.java @@ -1,485 +1,157 @@ -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("y") -@Implements("WorldMapIcon_0") -public class WorldMapIcon_0 extends AbstractWorldMapIcon { - @ObfuscatedName("cm") - public static char field126; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 948071377 - ) - @Export("element") - final int element; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lao;" - ) - @Export("label") - final WorldMapLabel label; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -2038423021 - ) - @Export("subWidth") - final int subWidth; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1663169023 - ) - @Export("subHeight") - final int subHeight; - - @ObfuscatedSignature( - signature = "(Lhj;Lhj;ILao;)V" - ) - WorldMapIcon_0(Coord var1, Coord var2, int var3, WorldMapLabel var4) { - super(var1, var2); - this.element = var3; - this.label = var4; - WorldMapElement var5 = WorldMapSection1.WorldMapElement_get(this.getElement()); - Sprite var6 = var5.getSpriteBool(false); - if (var6 != null) { - this.subWidth = var6.subWidth; - this.subHeight = var6.subHeight; - } else { - this.subWidth = 0; - this.subHeight = 0; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "861849893" - ) - @Export("getElement") - public int getElement() { - return this.element; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Lao;", - garbageValue = "1066707711" - ) - @Export("getLabel") - WorldMapLabel getLabel() { - return this.label; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1386026878" - ) - @Export("getSubWidth") - int getSubWidth() { - return this.subWidth; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "174908718" - ) - @Export("getSubHeight") - int getSubHeight() { - return this.subHeight; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIILfw;Lfj;Z[I[II)I", - garbageValue = "-1532162381" - ) - public static int method194(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4, boolean var5, int[] var6, int[] var7) { - int var9; - for (int var8 = 0; var8 < 128; ++var8) { - for (var9 = 0; var9 < 128; ++var9) { - class173.directions[var8][var9] = 0; - class173.distances[var8][var9] = 99999999; - } - } - - int var10; - int var11; - byte var13; - int var14; - int var15; - int var17; - int var19; - int var20; - int var21; - boolean var28; - int var30; - int var31; - int var33; - if (var2 == 1) { - var10 = var0; - var11 = var1; - byte var12 = 64; - var13 = 64; - var14 = var0 - var12; - var15 = var1 - var13; - class173.directions[var12][var13] = 99; - class173.distances[var12][var13] = 0; - byte var16 = 0; - var17 = 0; - class173.bufferX[var16] = var0; - var33 = var16 + 1; - class173.bufferY[var16] = var1; - int[][] var18 = var4.flags; - - boolean var29; - while (true) { - if (var33 == var17) { - class173.field2063 = var10; - class173.field2068 = var11; - var29 = false; - break; - } - - var10 = class173.bufferX[var17]; - var11 = class173.bufferY[var17]; - var17 = var17 + 1 & 4095; - var30 = var10 - var14; - var31 = var11 - var15; - var19 = var10 - var4.xInset; - var20 = var11 - var4.yInset; - if (var3.hasArrived(1, var10, var11, var4)) { - class173.field2063 = var10; - class173.field2068 = var11; - var29 = true; - break; - } - - var21 = class173.distances[var30][var31] + 1; - if (var30 > 0 && class173.directions[var30 - 1][var31] == 0 && (var18[var19 - 1][var20] & 19136776) == 0) { - class173.bufferX[var33] = var10 - 1; - class173.bufferY[var33] = var11; - var33 = var33 + 1 & 4095; - class173.directions[var30 - 1][var31] = 2; - class173.distances[var30 - 1][var31] = var21; - } - - if (var30 < 127 && class173.directions[var30 + 1][var31] == 0 && (var18[var19 + 1][var20] & 19136896) == 0) { - class173.bufferX[var33] = var10 + 1; - class173.bufferY[var33] = var11; - var33 = var33 + 1 & 4095; - class173.directions[var30 + 1][var31] = 8; - class173.distances[var30 + 1][var31] = var21; - } - - if (var31 > 0 && class173.directions[var30][var31 - 1] == 0 && (var18[var19][var20 - 1] & 19136770) == 0) { - class173.bufferX[var33] = var10; - class173.bufferY[var33] = var11 - 1; - var33 = var33 + 1 & 4095; - class173.directions[var30][var31 - 1] = 1; - class173.distances[var30][var31 - 1] = var21; - } - - if (var31 < 127 && class173.directions[var30][var31 + 1] == 0 && (var18[var19][var20 + 1] & 19136800) == 0) { - class173.bufferX[var33] = var10; - class173.bufferY[var33] = var11 + 1; - var33 = var33 + 1 & 4095; - class173.directions[var30][var31 + 1] = 4; - class173.distances[var30][var31 + 1] = var21; - } - - if (var30 > 0 && var31 > 0 && class173.directions[var30 - 1][var31 - 1] == 0 && (var18[var19 - 1][var20 - 1] & 19136782) == 0 && (var18[var19 - 1][var20] & 19136776) == 0 && (var18[var19][var20 - 1] & 19136770) == 0) { - class173.bufferX[var33] = var10 - 1; - class173.bufferY[var33] = var11 - 1; - var33 = var33 + 1 & 4095; - class173.directions[var30 - 1][var31 - 1] = 3; - class173.distances[var30 - 1][var31 - 1] = var21; - } - - if (var30 < 127 && var31 > 0 && class173.directions[var30 + 1][var31 - 1] == 0 && (var18[var19 + 1][var20 - 1] & 19136899) == 0 && (var18[var19 + 1][var20] & 19136896) == 0 && (var18[var19][var20 - 1] & 19136770) == 0) { - class173.bufferX[var33] = var10 + 1; - class173.bufferY[var33] = var11 - 1; - var33 = var33 + 1 & 4095; - class173.directions[var30 + 1][var31 - 1] = 9; - class173.distances[var30 + 1][var31 - 1] = var21; - } - - if (var30 > 0 && var31 < 127 && class173.directions[var30 - 1][var31 + 1] == 0 && (var18[var19 - 1][var20 + 1] & 19136824) == 0 && (var18[var19 - 1][var20] & 19136776) == 0 && (var18[var19][var20 + 1] & 19136800) == 0) { - class173.bufferX[var33] = var10 - 1; - class173.bufferY[var33] = var11 + 1; - var33 = var33 + 1 & 4095; - class173.directions[var30 - 1][var31 + 1] = 6; - class173.distances[var30 - 1][var31 + 1] = var21; - } - - if (var30 < 127 && var31 < 127 && class173.directions[var30 + 1][var31 + 1] == 0 && (var18[var19 + 1][var20 + 1] & 19136992) == 0 && (var18[var19 + 1][var20] & 19136896) == 0 && (var18[var19][var20 + 1] & 19136800) == 0) { - class173.bufferX[var33] = var10 + 1; - class173.bufferY[var33] = var11 + 1; - var33 = var33 + 1 & 4095; - class173.directions[var30 + 1][var31 + 1] = 12; - class173.distances[var30 + 1][var31 + 1] = var21; - } - } - - var28 = var29; - } else if (var2 == 2) { - var28 = WorldMapArea.method315(var0, var1, var3, var4); - } else { - var28 = Strings.method4103(var0, var1, var2, var3, var4); - } - - var9 = var0 - 64; - var10 = var1 - 64; - var11 = class173.field2063; - var30 = class173.field2068; - if (!var28) { - var31 = Integer.MAX_VALUE; - var14 = Integer.MAX_VALUE; - byte var32 = 10; - var33 = var3.approxDestinationX; - var17 = var3.approxDestinationY; - int var27 = var3.approxDestinationSizeX; - var19 = var3.approxDestinationSizeY; - - for (var20 = var33 - var32; var20 <= var32 + var33; ++var20) { - for (var21 = var17 - var32; var21 <= var32 + var17; ++var21) { - int var22 = var20 - var9; - int var23 = var21 - var10; - if (var22 >= 0 && var23 >= 0 && var22 < 128 && var23 < 128 && class173.distances[var22][var23] < 100) { - int var24 = 0; - if (var20 < var33) { - var24 = var33 - var20; - } else if (var20 > var27 + var33 - 1) { - var24 = var20 - (var27 + var33 - 1); - } - - int var25 = 0; - if (var21 < var17) { - var25 = var17 - var21; - } else if (var21 > var17 + var19 - 1) { - var25 = var21 - (var19 + var17 - 1); - } - - int var26 = var25 * var25 + var24 * var24; - if (var26 < var31 || var31 == var26 && class173.distances[var22][var23] < var14) { - var31 = var26; - var14 = class173.distances[var22][var23]; - var11 = var20; - var30 = var21; - } - } - } - } - - if (var31 == Integer.MAX_VALUE) { - return -1; - } - } - - if (var0 == var11 && var30 == var1) { - return 0; - } else { - var13 = 0; - class173.bufferX[var13] = var11; - var31 = var13 + 1; - class173.bufferY[var13] = var30; - - for (var14 = var15 = class173.directions[var11 - var9][var30 - var10]; var0 != var11 || var30 != var1; var14 = class173.directions[var11 - var9][var30 - var10]) { - if (var14 != var15) { - var15 = var14; - class173.bufferX[var31] = var11; - class173.bufferY[var31++] = var30; - } - - if ((var14 & 2) != 0) { - ++var11; - } else if ((var14 & 8) != 0) { - --var11; - } - - if ((var14 & 1) != 0) { - ++var30; - } else if ((var14 & 4) != 0) { - --var30; - } - } - - var33 = 0; - - while (var31-- > 0) { - var6[var33] = class173.bufferX[var31]; - var7[var33++] = class173.bufferY[var31]; - if (var33 >= var6.length) { - break; - } - } - - return var33; - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZZI)V", - garbageValue = "-1584053866" - ) - @Export("openURL") - public static void openURL(String var0, boolean var1, boolean var2) { - class42.method754(var0, var1, "openjs", var2); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "651689176" - ) - public static final void method174(int var0, int var1) { - ViewportMouse.ViewportMouse_x = var0; - ViewportMouse.ViewportMouse_y = var1; - ViewportMouse.ViewportMouse_isInViewport = true; - ViewportMouse.ViewportMouse_entityCount = 0; - ViewportMouse.ViewportMouse_false0 = false; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;S)I", - garbageValue = "23261" - ) - public static int method195(CharSequence var0) { - int var1 = var0.length(); - int var2 = 0; - - for (int var3 = 0; var3 < var1; ++var3) { - var2 = (var2 << 5) - var2 + var0.charAt(var3); - } - - return var2; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Lhy;I[B[BI)V", - garbageValue = "2116245618" - ) - @Export("Widget_setKey") - static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) { - if (var0.field2671 == null) { - if (var2 == null) { - return; - } - - var0.field2671 = new byte[11][]; - var0.field2614 = new byte[11][]; - var0.field2615 = new int[11]; - var0.field2616 = new int[11]; - } - - var0.field2671[var1] = var2; - if (var2 != null) { - var0.field2612 = true; - } else { - var0.field2612 = false; - - for (int var4 = 0; var4 < var0.field2671.length; ++var4) { - if (var0.field2671[var4] != null) { - var0.field2612 = true; - break; - } - } - } - - var0.field2614[var1] = var3; - } - - @ObfuscatedName("es") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "0" - ) - @Export("updateGameState") - static void updateGameState(int var0) { - if (var0 != Client.gameState) { - if (Client.gameState == 0) { - Coord.client.method915(); - } - - if (var0 == 20 || var0 == 40 || var0 == 45) { - Client.loginState = 0; - Client.field656 = 0; - Client.field841 = 0; - Client.timer.method4971(var0); - if (var0 != 20) { - PacketWriter.method2238(false); - } - } - - if (var0 != 20 && var0 != 40 && ArchiveLoader.field512 != null) { - ArchiveLoader.field512.close(); - ArchiveLoader.field512 = null; - } - - if (Client.gameState == 25) { - Client.field678 = 0; - Client.field674 = 0; - Client.field851 = 1; - Client.field676 = 0; - Client.field872 = 1; - } - - if (var0 != 5 && var0 != 10) { - if (var0 == 20) { - VarpDefinition.method4354(FontName.archive10, WorldMapDecoration.archive8, true, Client.gameState == 11 ? 4 : 0); - } else if (var0 == 11) { - VarpDefinition.method4354(FontName.archive10, WorldMapDecoration.archive8, false, 4); - } else if (Login.field1181) { - Login.titleboxSprite = null; - class191.titlebuttonSprite = null; - UserComparator10.runesSprite = null; - Login.leftTitleSprite = null; - class191.rightTitleSprite = null; - HealthBar.logoSprite = null; - FileSystem.title_muteSprite = null; - GrandExchangeOfferWorldComparator.options_buttons_0Sprite = null; - Login.options_buttons_2Sprite = null; - class162.worldSelectBackSprites = null; - PlayerType.worldSelectFlagSprites = null; - FileSystem.worldSelectArrows = null; - class226.worldSelectStars = null; - GrandExchangeOfferWorldComparator.field32 = null; - UserComparator5.loginScreenRunesAnimation.method1795(); - WallDecoration.method3256(2); - class173.method3575(true); - Login.field1181 = false; - } - } else { - VarpDefinition.method4354(FontName.archive10, WorldMapDecoration.archive8, true, 0); - } - - Client.gameState = var0; - } - } - - @ObfuscatedName("ew") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-934752862" - ) - static final void method196(int var0) { - class40.method736(); - switch(var0) { - case 1: - Login.loginIndex = 24; - Canvas.setLoginResponseString("", "You were disconnected from the server.", ""); - break; - case 2: - Login.loginIndex = 24; - Canvas.setLoginResponseString("The game servers are currently being updated.", "Please wait a few minutes and try again.", ""); - } - - } -} +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("x") +@Implements("WorldMapIcon_0") +public class WorldMapIcon_0 extends AbstractWorldMapIcon { + @ObfuscatedName("sm") + @Export("foundItemIds") + static short[] foundItemIds; + @ObfuscatedName("be") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("worldSelectLeftSprite") + static IndexedSprite worldSelectLeftSprite; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -189436837 + ) + @Export("element") + final int element; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Law;" + ) + @Export("label") + final WorldMapLabel label; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 704139389 + ) + @Export("subWidth") + final int subWidth; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 155630147 + ) + @Export("subHeight") + final int subHeight; + + @ObfuscatedSignature( + signature = "(Lhb;Lhb;ILaw;)V" + ) + WorldMapIcon_0(Coord var1, Coord var2, int var3, WorldMapLabel var4) { + super(var1, var2); + this.element = var3; + this.label = var4; + WorldMapElement var5 = Decimator.WorldMapElement_get(this.getElement()); + Sprite var6 = var5.getSpriteBool(false); + if (var6 != null) { + this.subWidth = var6.subWidth; + this.subHeight = var6.subHeight; + } else { + this.subWidth = 0; + this.subHeight = 0; + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "16" + ) + @Export("getElement") + public int getElement() { + return this.element; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Law;", + garbageValue = "13348956" + ) + @Export("getLabel") + WorldMapLabel getLabel() { + return this.label; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-175699296" + ) + @Export("getSubWidth") + int getSubWidth() { + return this.subWidth; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "806304417" + ) + @Export("getSubHeight") + int getSubHeight() { + return this.subHeight; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Lhp;Ljava/lang/String;Ljava/lang/String;I)[Llp;", + garbageValue = "-29773382" + ) + public static IndexedSprite[] method222(AbstractArchive var0, String var1, String var2) { + int var3 = var0.getGroupId(var1); + int var4 = var0.getFileId(var3, var2); + return class297.method5374(var0, var3, var4); + } + + @ObfuscatedName("jd") + @ObfuscatedSignature( + signature = "(Lho;I)V", + garbageValue = "-1181739841" + ) + static final void method221(Widget var0) { + int var1 = var0.contentType; + if (var1 == 324) { + if (Client.field900 == -1) { + Client.field900 = var0.spriteId2; + Client.field901 = var0.spriteId; + } + + if (Client.playerAppearance.isFemale) { + var0.spriteId2 = Client.field900; + } else { + var0.spriteId2 = Client.field901; + } + + } else if (var1 == 325) { + if (Client.field900 == -1) { + Client.field900 = var0.spriteId2; + Client.field901 = var0.spriteId; + } + + if (Client.playerAppearance.isFemale) { + var0.spriteId2 = Client.field901; + } else { + var0.spriteId2 = Client.field900; + } + + } else if (var1 == 327) { + var0.modelAngleX = 150; + var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; + var0.modelType = 5; + var0.modelId = 0; + } else if (var1 == 328) { + var0.modelAngleX = 150; + var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; + var0.modelType = 5; + var0.modelId = 1; + } + } +} diff --git a/runescape-client/src/main/java/WorldMapIcon_1.java b/runescape-client/src/main/java/WorldMapIcon_1.java index d74076eef5..6f40ebba11 100644 --- a/runescape-client/src/main/java/WorldMapIcon_1.java +++ b/runescape-client/src/main/java/WorldMapIcon_1.java @@ -1,195 +1,177 @@ -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("o") -@Implements("WorldMapIcon_1") -public class WorldMapIcon_1 extends AbstractWorldMapIcon { - @ObfuscatedName("ql") - @ObfuscatedSignature( - signature = "Ldh;" - ) - @Export("pcmPlayer0") - static PcmPlayer pcmPlayer0; - @ObfuscatedName("gf") - @ObfuscatedSignature( - signature = "Lep;" - ) - @Export("scene") - static Scene scene; - @ObfuscatedName("gx") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("scrollBarSprites") - static IndexedSprite[] scrollBarSprites; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 638368553 - ) - @Export("objectDefId") - final int objectDefId; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lav;" - ) - @Export("region") - final WorldMapRegion region; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 815655685 - ) - @Export("element") - int element; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lao;" - ) - @Export("label") - WorldMapLabel label; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1653555009 - ) - @Export("subWidth") - int subWidth; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -499996175 - ) - @Export("subHeight") - int subHeight; - - @ObfuscatedSignature( - signature = "(Lhj;Lhj;ILav;)V" - ) - WorldMapIcon_1(Coord var1, Coord var2, int var3, WorldMapRegion var4) { - super(var1, var2); - this.objectDefId = var3; - this.region = var4; - this.init(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "861849893" - ) - @Export("getElement") - public int getElement() { - return this.element; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)Lao;", - garbageValue = "1066707711" - ) - @Export("getLabel") - WorldMapLabel getLabel() { - return this.label; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1386026878" - ) - @Export("getSubWidth") - int getSubWidth() { - return this.subWidth; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "174908718" - ) - @Export("getSubHeight") - int getSubHeight() { - return this.subHeight; - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "3174" - ) - @Export("init") - void init() { - this.element = WallDecoration.getObjectDefinition(this.objectDefId).transform().mapIconId; - this.label = this.region.createMapLabel(WorldMapSection1.WorldMapElement_get(this.element)); - WorldMapElement var1 = WorldMapSection1.WorldMapElement_get(this.getElement()); - Sprite var2 = var1.getSpriteBool(false); - if (var2 != null) { - this.subWidth = var2.subWidth; - this.subHeight = var2.subHeight; - } else { - this.subWidth = 0; - this.subHeight = 0; - } - - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIIZII)J", - garbageValue = "583805703" - ) - @Export("calculateTag") - public static long calculateTag(int var0, int var1, int var2, boolean var3, int var4) { - long var5 = (long)((var0 & 127) << 0 | (var1 & 127) << 7 | (var2 & 3) << 14) | ((long)var4 & 4294967295L) << 17; - if (var3) { - var5 |= 65536L; - } - - return var5; - } - - @ObfuscatedName("is") - @ObfuscatedSignature( - signature = "(IIIIIIB)V", - garbageValue = "-116" - ) - static final void method278(int var0, int var1, int var2, int var3, int var4, int var5) { - int var6 = var2 - var0; - int var7 = var3 - var1; - int var8 = var6 >= 0 ? var6 : -var6; - int var9 = var7 >= 0 ? var7 : -var7; - int var10 = var8; - if (var8 < var9) { - var10 = var9; - } - - if (var10 != 0) { - int var11 = (var6 << 16) / var10; - int var12 = (var7 << 16) / var10; - if (var12 <= var11) { - var11 = -var11; - } else { - var12 = -var12; - } - - int var13 = var5 * var12 >> 17; - int var14 = var5 * var12 + 1 >> 17; - int var15 = var5 * var11 >> 17; - int var16 = var5 * var11 + 1 >> 17; - var0 -= Rasterizer2D.Rasterizer2D_xClipStart; - var1 -= Rasterizer2D.Rasterizer2D_yClipStart; - int var17 = var0 + var13; - int var18 = var0 - var14; - int var19 = var0 + var6 - var14; - int var20 = var0 + var6 + var13; - int var21 = var15 + var1; - int var22 = var1 - var16; - int var23 = var7 + var1 - var16; - int var24 = var7 + var15 + var1; - Rasterizer3D.method2970(var17, var18, var19); - Rasterizer3D.method2990(var21, var22, var23, var17, var18, var19, var4); - Rasterizer3D.method2970(var17, var19, var20); - Rasterizer3D.method2990(var21, var23, var24, var17, var19, var20, var4); - } - } -} +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("d") +@Implements("WorldMapIcon_1") +public class WorldMapIcon_1 extends AbstractWorldMapIcon { + @ObfuscatedName("cp") + @Export("mouseCam") + static boolean mouseCam; + @ObfuscatedName("gd") + @Export("regionLandArchives") + static byte[][] regionLandArchives; + @ObfuscatedName("hv") + @ObfuscatedGetter( + intValue = -767824539 + ) + @Export("cameraZ") + static int cameraZ; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -90223087 + ) + @Export("objectDefId") + final int objectDefId; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Laa;" + ) + @Export("region") + final WorldMapRegion region; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1981898425 + ) + @Export("element") + int element; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Law;" + ) + @Export("label") + WorldMapLabel label; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1086525415 + ) + @Export("subWidth") + int subWidth; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 73044895 + ) + @Export("subHeight") + int subHeight; + + @ObfuscatedSignature( + signature = "(Lhb;Lhb;ILaa;)V" + ) + WorldMapIcon_1(Coord var1, Coord var2, int var3, WorldMapRegion var4) { + super(var1, var2); + this.objectDefId = var3; + this.region = var4; + this.init(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "16" + ) + @Export("getElement") + public int getElement() { + return this.element; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)Law;", + garbageValue = "13348956" + ) + @Export("getLabel") + WorldMapLabel getLabel() { + return this.label; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-175699296" + ) + @Export("getSubWidth") + int getSubWidth() { + return this.subWidth; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "806304417" + ) + @Export("getSubHeight") + int getSubHeight() { + return this.subHeight; + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-93" + ) + @Export("init") + void init() { + this.element = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(this.objectDefId).transform().mapIconId; + this.label = this.region.createMapLabel(Decimator.WorldMapElement_get(this.element)); + WorldMapElement var1 = Decimator.WorldMapElement_get(this.getElement()); + Sprite var2 = var1.getSpriteBool(false); + if (var2 != null) { + this.subWidth = var2.subWidth; + this.subHeight = var2.subHeight; + } else { + this.subWidth = 0; + this.subHeight = 0; + } + + } + + @ObfuscatedName("eb") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-806150701" + ) + static final void method314() { + FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); + KitDefinition.KitDefinition_cached.clear(); + ObjectDefinition.ObjectDefinition_cached.clear(); + ObjectDefinition.ObjectDefinition_cachedModelData.clear(); + ObjectDefinition.ObjectDefinition_cachedEntities.clear(); + ObjectDefinition.ObjectDefinition_cachedModels.clear(); + NPCDefinition.NpcDefinition_cached.clear(); + NPCDefinition.NpcDefinition_cachedModels.clear(); + InterfaceParent.method1193(); + SequenceDefinition.SequenceDefinition_cached.clear(); + SequenceDefinition.SequenceDefinition_cachedFrames.clear(); + class219.method4067(); + VarbitDefinition.VarbitDefinition_cached.clear(); + MusicPatch.method3859(); + GrandExchangeEvent.method83(); + HealthBarDefinition.HealthBarDefinition_cached.clear(); + HealthBarDefinition.HealthBarDefinition_cachedSprites.clear(); + StructDefinition.StructDefinition_cached.clear(); + TextureProvider.method2742(); + WorldMapElement.WorldMapElement_cachedSprites.clear(); + UserComparator1.method5827(); + Widget.Widget_cachedSprites.clear(); + Widget.Widget_cachedModels.clear(); + Widget.Widget_cachedFonts.clear(); + Widget.Widget_cachedSpriteMasks.clear(); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); + Script.Script_cached.clear(); + class1.archive0.clearFiles(); + WorldMapLabelSize.archive1.clearFiles(); + BoundaryObject.archive3.clearFiles(); + GrandExchangeOfferAgeComparator.archive4.clearFiles(); + class3.archive5.clearFiles(); + class225.archive6.clearFiles(); + Language.archive7.clearFiles(); + GrandExchangeOfferAgeComparator.archive8.clearFiles(); + AttackOption.archive9.clearFiles(); + Client.archive10.clearFiles(); + ClanMate.archive11.clearFiles(); + GrandExchangeOfferOwnWorldComparator.archive12.clearFiles(); + } +} diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index 27c809d0d9..5addfdb503 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -1,70 +1,79 @@ -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("ao") -@Implements("WorldMapLabel") -public class WorldMapLabel { - @ObfuscatedName("dq") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive14") - static Archive archive14; - @ObfuscatedName("c") - @Export("text") - String text; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1500544575 - ) - @Export("width") - int width; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 654109137 - ) - @Export("height") - int height; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lq;" - ) - @Export("size") - WorldMapLabelSize size; - - @ObfuscatedSignature( - signature = "(Ljava/lang/String;IILq;)V" - ) - WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { - this.text = var1; - this.width = var2; - this.height = var3; - this.size = var4; - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "55939772" - ) - static int method381(int var0) { - return (int)((Math.log((double)var0) / Interpreter.field1070 - 7.0D) * 256.0D); - } - - @ObfuscatedName("ju") - @ObfuscatedSignature( - signature = "(Lhy;I)Lhy;", - garbageValue = "-658225047" - ) - static Widget method382(Widget var0) { - Widget var1 = FontName.method5290(var0); - if (var1 == null) { - var1 = var0.parent; - } - - return var1; - } -} +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("aw") +@Implements("WorldMapLabel") +public class WorldMapLabel { + @ObfuscatedName("cj") + @ObfuscatedSignature( + signature = "Lbn;" + ) + @Export("mouseRecorder") + static MouseRecorder mouseRecorder; + @ObfuscatedName("db") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive19") + static Archive archive19; + @ObfuscatedName("z") + @Export("text") + String text; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -38349507 + ) + @Export("width") + int width; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -212014043 + ) + @Export("height") + int height; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lg;" + ) + @Export("size") + WorldMapLabelSize size; + + @ObfuscatedSignature( + signature = "(Ljava/lang/String;IILg;)V" + ) + WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { + this.text = var1; + this.width = var2; + this.height = var3; + this.size = var4; + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + signature = "(ILhb;ZI)V", + garbageValue = "203573450" + ) + static void method439(int var0, Coord var1, boolean var2) { + WorldMapArea var3 = Decimator.getWorldMap().getMapArea(var0); + int var4 = class223.localPlayer.plane; + int var5 = class223.baseX * 64 + (class223.localPlayer.x >> 7); + int var6 = class286.baseY * 64 + (class223.localPlayer.y * 682054857 >> 7); + Coord var7 = new Coord(var4, var5, var6); + Decimator.getWorldMap().method6426(var3, var7, var1, var2); + } + + @ObfuscatedName("kq") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "125" + ) + @Export("Clan_leaveChat") + static final void Clan_leaveChat() { + PacketBufferNode var0 = InterfaceParent.getPacketBufferNode(ClientPacket.field2237, Client.packetWriter.isaacCipher); + var0.packetBuffer.writeByte(0); + Client.packetWriter.addNode(var0); + } +} diff --git a/runescape-client/src/main/java/WorldMapLabelSize.java b/runescape-client/src/main/java/WorldMapLabelSize.java index 08a14193ba..1c54deb53b 100644 --- a/runescape-client/src/main/java/WorldMapLabelSize.java +++ b/runescape-client/src/main/java/WorldMapLabelSize.java @@ -1,172 +1,171 @@ -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.ScriptOpcodes; - -@ObfuscatedName("q") -@Implements("WorldMapLabelSize") -public class WorldMapLabelSize { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lq;" - ) - @Export("WorldMapLabelSize_small") - public static final WorldMapLabelSize WorldMapLabelSize_small; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lq;" - ) - @Export("WorldMapLabelSize_medium") - public static final WorldMapLabelSize WorldMapLabelSize_medium; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lq;" - ) - @Export("WorldMapLabelSize_large") - public static final WorldMapLabelSize WorldMapLabelSize_large; - @ObfuscatedName("gy") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("mapMarkerSprites") - static Sprite[] mapMarkerSprites; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -776092595 - ) - final int field113; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1063281473 - ) - final int field114; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1099337759 - ) - final int field116; - - static { - WorldMapLabelSize_small = new WorldMapLabelSize(1, 0, 4); - WorldMapLabelSize_medium = new WorldMapLabelSize(2, 1, 2); - WorldMapLabelSize_large = new WorldMapLabelSize(0, 2, 0); - } - - WorldMapLabelSize(int var1, int var2, int var3) { - this.field113 = var1; - this.field114 = var2; - this.field116 = var3; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(FB)Z", - garbageValue = "104" - ) - boolean method167(float var1) { - return var1 >= (float)this.field116; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "966574081" - ) - static int method166(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - } else { - var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - } - - WorldMapID.invalidateWidget(var3); - if (var0 != ScriptOpcodes.CC_SETOBJECT && var0 != ScriptOpcodes.CC_SETOBJECT_NONUM && var0 != ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM) { - if (var0 == ScriptOpcodes.CC_SETNPCHEAD) { - var3.modelType = 2; - var3.modelId = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { - var3.modelType = 3; - var3.modelId = Varps.localPlayer.appearance.getChatHeadId(); - return 1; - } else { - return 2; - } - } else { - class160.Interpreter_intStackSize -= 2; - int var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - int var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var3.itemId = var4; - var3.itemQuantity = var5; - ItemDefinition var6 = Player.ItemDefinition_get(var4); - var3.modelAngleX = var6.xan2d; - var3.modelAngleY = var6.yan2d; - var3.modelAngleZ = var6.zan2d; - var3.modelOffsetX = var6.offsetX2d; - var3.modelOffsetY = var6.offsetY2d; - var3.modelZoom = var6.zoom2d; - if (var0 == ScriptOpcodes.CC_SETOBJECT_NONUM) { - var3.itemQuantityMode = 0; - } else if (var0 == ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM | 1 == var6.isStackable) { - var3.itemQuantityMode = 1; - } else { - var3.itemQuantityMode = 2; - } - - if (var3.field2582 > 0) { - var3.modelZoom = var3.modelZoom * 32 / var3.field2582; - } else if (var3.rawWidth > 0) { - var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; - } - - return 1; - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;B)V", - garbageValue = "-55" - ) - static final void method172(String var0) { - PacketBufferNode var1 = MenuAction.getPacketBufferNode(ClientPacket.field2190, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); - } - - @ObfuscatedName("hp") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "408332868" - ) - static final void method173() { - int var0 = FileSystem.menuX; - int var1 = class83.menuY; - int var2 = class173.menuWidth; - int var3 = FaceNormal.menuHeight; - int var4 = 6116423; - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, var4); - Rasterizer2D.Rasterizer2D_fillRectangle(var0 + 1, var1 + 1, var2 - 2, 16, 0); - Rasterizer2D.Rasterizer2D_drawRectangle(var0 + 1, var1 + 18, var2 - 2, var3 - 19, 0); - HealthBar.fontBold12.draw("Choose Option", var0 + 3, var1 + 14, var4, -1); - int var5 = MouseHandler.MouseHandler_x; - int var6 = MouseHandler.MouseHandler_y; - - for (int var7 = 0; var7 < Client.menuOptionsCount; ++var7) { - int var8 = var1 + (Client.menuOptionsCount - 1 - var7) * 15 + 31; - int var9 = 16777215; - if (var5 > var0 && var5 < var2 + var0 && var6 > var8 - 13 && var6 < var8 + 3) { - var9 = 16776960; - } - - HealthBar.fontBold12.draw(class188.method3620(var7), var0 + 3, var8, var9, 0); - } - - WorldMapElement.method4392(FileSystem.menuX, class83.menuY, class173.menuWidth, FaceNormal.menuHeight); - } -} +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("g") +@Implements("WorldMapLabelSize") +public class WorldMapLabelSize { + @ObfuscatedName("qv") + @ObfuscatedSignature( + signature = "Lca;" + ) + @Export("pcmStreamMixer") + static PcmStreamMixer pcmStreamMixer; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lg;" + ) + @Export("WorldMapLabelSize_small") + public static final WorldMapLabelSize WorldMapLabelSize_small; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lg;" + ) + @Export("WorldMapLabelSize_medium") + public static final WorldMapLabelSize WorldMapLabelSize_medium; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lg;" + ) + @Export("WorldMapLabelSize_large") + public static final WorldMapLabelSize WorldMapLabelSize_large; + @ObfuscatedName("bc") + @ObfuscatedSignature( + signature = "Lgt;" + ) + @Export("clientLanguage") + static Language clientLanguage; + @ObfuscatedName("du") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive1") + static Archive archive1; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1343624191 + ) + final int field107; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1129278847 + ) + final int field108; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1652176271 + ) + final int field109; + + static { + WorldMapLabelSize_small = new WorldMapLabelSize(1, 0, 4); + WorldMapLabelSize_medium = new WorldMapLabelSize(0, 1, 2); + WorldMapLabelSize_large = new WorldMapLabelSize(2, 2, 0); + } + + WorldMapLabelSize(int var1, int var2, int var3) { + this.field107 = var1; + this.field108 = var2; + this.field109 = var3; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(FI)Z", + garbageValue = "-1695259698" + ) + boolean method198(float var1) { + return var1 >= (float)this.field109; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)[Lg;", + garbageValue = "1124237372" + ) + static WorldMapLabelSize[] method196() { + return new WorldMapLabelSize[]{WorldMapLabelSize_large, WorldMapLabelSize_small, WorldMapLabelSize_medium}; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "255" + ) + public static int method197() { + return ++MouseHandler.MouseHandler_idleCycles - 1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(IIII)I", + garbageValue = "-962048478" + ) + static final int method202(int var0, int var1, int var2) { + int var3 = var0 / var2; + int var4 = var0 & var2 - 1; + int var5 = var1 / var2; + int var6 = var1 & var2 - 1; + int var7 = Login.method2096(var3, var5); + int var8 = Login.method2096(var3 + 1, var5); + int var9 = Login.method2096(var3, var5 + 1); + int var10 = Login.method2096(var3 + 1, var5 + 1); + int var12 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; + int var11 = ((65536 - var12) * var7 >> 16) + (var12 * var8 >> 16); + int var14 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; + int var13 = ((65536 - var14) * var9 >> 16) + (var10 * var14 >> 16); + int var16 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var6 * 1024 / var2] >> 1; + int var15 = ((65536 - var16) * var11 >> 16) + (var13 * var16 >> 16); + return var15; + } + + @ObfuscatedName("hu") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;I)V", + garbageValue = "-1330882873" + ) + static void method201(int var0, String var1) { + int var2 = Players.Players_count; + int[] var3 = Players.Players_indices; + boolean var4 = false; + Username var5 = new Username(var1, WorldMapSection1.loginType); + + for (int var6 = 0; var6 < var2; ++var6) { + Player var7 = Client.players[var3[var6]]; + if (var7 != null && var7 != class223.localPlayer && var7.username != null && var7.username.equals(var5)) { + PacketBufferNode var8; + if (var0 == 1) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2231, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var3[var6]); + var8.packetBuffer.method5452(0); + Client.packetWriter.addNode(var8); + } else if (var0 == 4) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2271, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3[var6]); + var8.packetBuffer.method5453(0); + Client.packetWriter.addNode(var8); + } else if (var0 == 6) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2214, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3[var6]); + var8.packetBuffer.method5452(0); + Client.packetWriter.addNode(var8); + } else if (var0 == 7) { + var8 = InterfaceParent.getPacketBufferNode(ClientPacket.field2274, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5461(var3[var6]); + var8.packetBuffer.method5452(0); + Client.packetWriter.addNode(var8); + } + + var4 = true; + break; + } + } + + if (!var4) { + class210.addGameMessage(4, "", "Unable to find " + var1); + } + + } +} diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java index 0a67b0887a..24c95213c8 100644 --- a/runescape-client/src/main/java/WorldMapManager.java +++ b/runescape-client/src/main/java/WorldMapManager.java @@ -1,565 +1,978 @@ -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -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.ScriptOpcodes; - -@ObfuscatedName("aj") -@Implements("WorldMapManager") -public final class WorldMapManager { - @ObfuscatedName("c") - @Export("loaded") - boolean loaded; - @ObfuscatedName("x") - @Export("loadStarted") - boolean loadStarted; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Laf;" - ) - @Export("mapAreaData") - WorldMapAreaData mapAreaData; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lli;" - ) - @Export("compositeTextureSprite") - Sprite compositeTextureSprite; - @ObfuscatedName("l") - @Export("icons") - HashMap icons; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "[[Lav;" - ) - @Export("regions") - WorldMapRegion[][] regions; - @ObfuscatedName("j") - HashMap field316; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("mapSceneSprites") - IndexedSprite[] mapSceneSprites; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("geographyArchive") - final AbstractArchive geographyArchive; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("groundArchive") - final AbstractArchive groundArchive; - @ObfuscatedName("n") - @Export("fonts") - final HashMap fonts; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1330898357 - ) - @Export("tileX") - int tileX; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1132932451 - ) - @Export("tileY") - int tileY; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1471356409 - ) - @Export("tileWidth") - int tileWidth; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -937081536 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1622137941 - ) - @Export("pixelsPerTile") - public int pixelsPerTile; - - @ObfuscatedSignature( - signature = "([Llt;Ljava/util/HashMap;Lhz;Lhz;)V" - ) - public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { - this.loaded = false; - this.loadStarted = false; - this.field316 = new HashMap(); - this.pixelsPerTile = 0; - this.mapSceneSprites = var1; - this.fonts = var2; - this.geographyArchive = var3; - this.groundArchive = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Ljava/lang/String;ZI)V", - garbageValue = "1921148815" - ) - @Export("load") - public void load(AbstractArchive var1, String var2, boolean var3) { - if (!this.loadStarted) { - this.loaded = false; - this.loadStarted = true; - System.nanoTime(); - int var4 = var1.getGroupId(WorldMapCacheName.field294.name); - int var5 = var1.getFileId(var4, var2); - Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field294.name, var2)); - Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field295.name, var2)); - System.nanoTime(); - System.nanoTime(); - this.mapAreaData = new WorldMapAreaData(); - - try { - this.mapAreaData.init(var6, var7, var5, var3); - } catch (IllegalStateException var19) { - return; - } - - this.mapAreaData.getOriginX(); - this.mapAreaData.getOriginPlane(); - this.mapAreaData.getOriginY(); - this.tileX = this.mapAreaData.getRegionLowX() * 64; - this.tileY = this.mapAreaData.getRegionLowY() * 64; - this.tileWidth = (this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1) * 64; - this.tileHeight = (this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1) * 4096; - int var16 = this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1; - int var9 = this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1; - System.nanoTime(); - System.nanoTime(); - ScriptFrame.WorldMapRegion_clearCachedSprites(); - this.regions = new WorldMapRegion[var16][var9]; - Iterator var10 = this.mapAreaData.worldMapData0Set.iterator(); - - while (var10.hasNext()) { - WorldMapData_0 var11 = (WorldMapData_0)var10.next(); - int var12 = var11.regionX; - int var13 = var11.regionY; - int var14 = var12 - this.mapAreaData.getRegionLowX(); - int var15 = var13 - this.mapAreaData.getRegionLowY(); - this.regions[var14][var15] = new WorldMapRegion(var12, var13, this.mapAreaData.getBackGroundColor(), this.fonts); - this.regions[var14][var15].initWorldMapData0(var11, this.mapAreaData.iconList); - } - - for (int var17 = 0; var17 < var16; ++var17) { - for (int var18 = 0; var18 < var9; ++var18) { - if (this.regions[var17][var18] == null) { - this.regions[var17][var18] = new WorldMapRegion(this.mapAreaData.getRegionLowX() + var17, this.mapAreaData.getRegionLowY() + var18, this.mapAreaData.getBackGroundColor(), this.fonts); - this.regions[var17][var18].initWorldMapData1(this.mapAreaData.worldMapData1Set, this.mapAreaData.iconList); - } - } - } - - System.nanoTime(); - System.nanoTime(); - if (var1.isValidFileName(WorldMapCacheName.field296.name, var2)) { - byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field296.name, var2); - this.compositeTextureSprite = class16.convertJpgToSprite(var20); - } - - System.nanoTime(); - var1.clearGroups(); - var1.clearFiles(); - this.loaded = true; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "23" - ) - @Export("clearIcons") - public final void clearIcons() { - this.icons = null; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIIIIIIII)V", - garbageValue = "1356275131" - ) - @Export("drawTiles") - public final void drawTiles(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int[] var9 = Rasterizer2D.Rasterizer2D_pixels; - int var10 = Rasterizer2D.Rasterizer2D_width; - int var11 = Rasterizer2D.Rasterizer2D_height; - int[] var12 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var12); - WorldMapRectangle var13 = this.createWorldMapRectangle(var1, var2, var3, var4); - float var14 = this.getPixelsPerTile(var7 - var5, var3 - var1); - int var15 = (int)Math.ceil((double)var14); - this.pixelsPerTile = var15; - if (!this.field316.containsKey(var15)) { - class40 var16 = new class40(var15); - var16.init(); - this.field316.put(var15, var16); - } - - int var23 = var13.x + var13.width - 1; - int var17 = var13.y + var13.height - 1; - - int var18; - int var19; - for (var18 = var13.x; var18 <= var23; ++var18) { - for (var19 = var13.y; var19 <= var17; ++var19) { - this.regions[var18][var19].drawTile(var15, (class40)this.field316.get(var15), this.mapSceneSprites, this.geographyArchive, this.groundArchive); - } - } - - Rasterizer2D.Rasterizer2D_replace(var9, var10, var11); - Rasterizer2D.Rasterizer2D_setClipArray(var12); - var18 = (int)(64.0F * var14); - var19 = this.tileX * 4096 + var1; - int var20 = this.tileY * 4096 + var2; - - for (int var21 = var13.x; var21 < var13.width + var13.x; ++var21) { - for (int var22 = var13.y; var22 < var13.height + var13.y; ++var22) { - this.regions[var21][var22].method384(var5 + var18 * (this.regions[var21][var22].regionX * 64 - var19) / 64, var8 - var18 * (this.regions[var21][var22].regionY * 64 - var20 + 64) / 64, var18); - } - } - - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", - garbageValue = "-1964916849" - ) - @Export("drawElements") - public final void drawElements(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, HashSet var9, HashSet var10, int var11, int var12, boolean var13) { - WorldMapRectangle var14 = this.createWorldMapRectangle(var1, var2, var3, var4); - float var15 = this.getPixelsPerTile(var7 - var5, var3 - var1); - int var16 = (int)(var15 * 64.0F); - int var17 = this.tileX * 4096 + var1; - int var18 = this.tileY * 4096 + var2; - - int var19; - int var20; - for (var19 = var14.x; var19 < var14.x + var14.width; ++var19) { - for (var20 = var14.y; var20 < var14.y + var14.height; ++var20) { - if (var13) { - this.regions[var19][var20].initWorldMapIcon1s(); - } - - this.regions[var19][var20].method390(var5 + var16 * (this.regions[var19][var20].regionX * 64 - var17) / 64, var8 - var16 * (this.regions[var19][var20].regionY * 64 - var18 + 64) / 64, var16, var9); - } - } - - if (var10 != null && var11 > 0) { - for (var19 = var14.x; var19 < var14.x + var14.width; ++var19) { - for (var20 = var14.y; var20 < var14.y + var14.height; ++var20) { - this.regions[var19][var20].flashElements(var10, var11, var12); - } - } - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIIILjava/util/HashSet;IIB)V", - garbageValue = "-15" - ) - @Export("drawOverview") - public void drawOverview(int var1, int var2, int var3, int var4, HashSet var5, int var6, int var7) { - if (this.compositeTextureSprite != null) { - this.compositeTextureSprite.drawScaledAt(var1, var2, var3, var4); - if (var6 > 0 && var6 % var7 < var7 / 2) { - if (this.icons == null) { - this.buildIcons0(); - } - - Iterator var8 = var5.iterator(); - - while (true) { - List var10; - do { - if (!var8.hasNext()) { - return; - } - - int var9 = (Integer)var8.next(); - var10 = (List)this.icons.get(var9); - } while(var10 == null); - - Iterator var11 = var10.iterator(); - - while (var11.hasNext()) { - AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var11.next(); - int var13 = var3 * (var12.coord2.x - this.tileX * 4096) / (this.tileWidth * 4096); - int var14 = var4 - (var12.coord2.y - this.tileY * 4096) * var4 / (this.tileHeight * 64); - Rasterizer2D.Rasterizer2D_drawCircleAlpha(var13 + var1, var14 + var2, 2, 16776960, 256); - } - } - } - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IIIIIIIIIII)Ljava/util/List;", - garbageValue = "1014404462" - ) - public List method601(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { - LinkedList var11 = new LinkedList(); - if (!this.loaded) { - return var11; - } else { - WorldMapRectangle var12 = this.createWorldMapRectangle(var1, var2, var3, var4); - float var13 = this.getPixelsPerTile(var7, var3 - var1); - int var14 = (int)(64.0F * var13); - int var15 = this.tileX * 4096 + var1; - int var16 = this.tileY * 4096 + var2; - - for (int var17 = var12.x; var17 < var12.x + var12.width; ++var17) { - for (int var18 = var12.y; var18 < var12.height + var12.y; ++var18) { - List var19 = this.regions[var17][var18].method415(var5 + var14 * (this.regions[var17][var18].regionX * 64 - var15) / 64, var8 + var6 - var14 * (this.regions[var17][var18].regionY * 64 - var16 + 64) / 64, var14, var9, var10); - if (!var19.isEmpty()) { - var11.addAll(var19); - } - } - } - - return var11; - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(IIIIB)Lm;", - garbageValue = "72" - ) - @Export("createWorldMapRectangle") - WorldMapRectangle createWorldMapRectangle(int var1, int var2, int var3, int var4) { - WorldMapRectangle var5 = new WorldMapRectangle(this); - int var6 = this.tileX * 4096 + var1; - int var7 = this.tileY * 4096 + var2; - int var8 = var3 + this.tileX * 4096; - int var9 = this.tileY * 4096 + var4; - int var10 = var6 / 64; - int var11 = var7 / 64; - int var12 = var8 / 64; - int var13 = var9 / 64; - var5.width = var12 - var10 + 1; - var5.height = var13 - var11 + 1; - var5.x = var10 - this.mapAreaData.getRegionLowX(); - var5.y = var11 - this.mapAreaData.getRegionLowY(); - if (var5.x < 0) { - var5.width += var5.x; - var5.x = 0; - } - - if (var5.x > this.regions.length - var5.width) { - var5.width = this.regions.length - var5.x; - } - - if (var5.y < 0) { - var5.height += var5.y; - var5.y = 0; - } - - if (var5.y > this.regions[0].length - var5.height) { - var5.height = this.regions[0].length - var5.y; - } - - var5.width = Math.min(var5.width, this.regions.length); - var5.height = Math.min(var5.height, this.regions[0].length); - return var5; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "2078225278" - ) - @Export("isLoaded") - public boolean isLoaded() { - return this.loaded; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)Ljava/util/HashMap;", - garbageValue = "99820694" - ) - @Export("buildIcons") - public HashMap buildIcons() { - this.buildIcons0(); - return this.icons; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1308712327" - ) - @Export("buildIcons0") - void buildIcons0() { - if (this.icons == null) { - this.icons = new HashMap(); - } - - this.icons.clear(); - - for (int var1 = 0; var1 < this.regions.length; ++var1) { - for (int var2 = 0; var2 < this.regions[var1].length; ++var2) { - List var3 = this.regions[var1][var2].icons(); - Iterator var4 = var3.iterator(); - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); - if (var5.hasValidElement()) { - int var6 = var5.getElement(); - if (!this.icons.containsKey(var6)) { - LinkedList var7 = new LinkedList(); - var7.add(var5); - this.icons.put(var6, var7); - } else { - List var8 = (List)this.icons.get(var6); - var8.add(var5); - } - } - } - } - } - - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(III)F", - garbageValue = "1710515807" - ) - @Export("getPixelsPerTile") - float getPixelsPerTile(int var1, int var2) { - float var3 = (float)var1 / (float)var2; - if (var3 > 8.0F) { - return 8.0F; - } else if (var3 < 1.0F) { - return 1.0F; - } else { - int var4 = Math.round(var3); - return Math.abs((float)var4 - var3) < 0.05F ? (float)var4 : var3; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Ljava/io/File;Ljava/io/File;I)V", - garbageValue = "788469236" - ) - static void method611(File var0, File var1) { - try { - AccessFile var2 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); - Buffer var3 = new Buffer(500); - var3.writeByte(3); - var3.writeByte(var1 != null ? 1 : 0); - var3.writeCESU8(var0.getPath()); - if (var1 != null) { - var3.writeCESU8(""); - } - - var2.write(var3.array, 0, var3.offset); - var2.close(); - } catch (IOException var4) { - var4.printStackTrace(); - } - - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "-62" - ) - static int method626(int var0, Script var1, boolean var2) { - int var3 = -1; - Widget var4; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - var4 = Player.getWidget(var3); - } else { - var4 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - } - - if (var0 == ScriptOpcodes.CC_SETPOSITION) { - class160.Interpreter_intStackSize -= 4; - var4.rawX = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4.rawY = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var4.xAlignment = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - var4.yAlignment = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3]; - WorldMapID.invalidateWidget(var4); - Coord.client.alignWidget(var4); - if (var3 != -1 && var4.type == 0) { - class197.revalidateWidgetScroll(class289.Widget_interfaceComponents[var3 >> 16], var4, false); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETSIZE) { - class160.Interpreter_intStackSize -= 4; - var4.rawWidth = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4.rawHeight = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var4.widthAlignment = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - var4.heightAlignment = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3]; - WorldMapID.invalidateWidget(var4); - Coord.client.alignWidget(var4); - if (var3 != -1 && var4.type == 0) { - class197.revalidateWidgetScroll(class289.Widget_interfaceComponents[var3 >> 16], var4, false); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETHIDE) { - boolean var5 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - if (var5 != var4.isHidden) { - var4.isHidden = var5; - WorldMapID.invalidateWidget(var4); - } - - return 1; - } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { - var4.noClickThrough = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { - var4.noScrollThrough = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "-1672724249" - ) - @Export("Messages_getNextChatID") - static int Messages_getNextChatID(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); - if (var1 == null) { - return -1; - } else { - return var1.previousDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.previousDual).count; - } - } -} +import java.io.BufferedReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringReader; +import java.io.StringWriter; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +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("al") +@Implements("WorldMapManager") +public final class WorldMapManager { + @ObfuscatedName("ai") + @Export("null_string") + protected static String null_string; + @ObfuscatedName("z") + @Export("loaded") + boolean loaded; + @ObfuscatedName("n") + @Export("loadStarted") + boolean loadStarted; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lan;" + ) + @Export("mapAreaData") + WorldMapAreaData mapAreaData; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Llf;" + ) + @Export("compositeTextureSprite") + Sprite compositeTextureSprite; + @ObfuscatedName("r") + @Export("icons") + HashMap icons; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "[[Laa;" + ) + @Export("regions") + WorldMapRegion[][] regions; + @ObfuscatedName("q") + HashMap field301; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("mapSceneSprites") + IndexedSprite[] mapSceneSprites; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("geographyArchive") + final AbstractArchive geographyArchive; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("groundArchive") + final AbstractArchive groundArchive; + @ObfuscatedName("c") + @Export("fonts") + final HashMap fonts; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -753174201 + ) + @Export("tileX") + int tileX; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 16562041 + ) + @Export("tileY") + int tileY; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -2004318801 + ) + @Export("tileWidth") + int tileWidth; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -933992128 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1390818345 + ) + @Export("pixelsPerTile") + public int pixelsPerTile; + + @ObfuscatedSignature( + signature = "([Llp;Ljava/util/HashMap;Lhp;Lhp;)V" + ) + public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { + this.loaded = false; + this.loadStarted = false; + this.field301 = new HashMap(); + this.pixelsPerTile = 0; + this.mapSceneSprites = var1; + this.fonts = var2; + this.geographyArchive = var3; + this.groundArchive = var4; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Ljava/lang/String;ZS)V", + garbageValue = "8475" + ) + @Export("load") + public void load(AbstractArchive var1, String var2, boolean var3) { + if (!this.loadStarted) { + this.loaded = false; + this.loadStarted = true; + System.nanoTime(); + int var4 = var1.getGroupId(WorldMapCacheName.field284.name); + int var5 = var1.getFileId(var4, var2); + Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field284.name, var2)); + Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field289.name, var2)); + System.nanoTime(); + System.nanoTime(); + this.mapAreaData = new WorldMapAreaData(); + + try { + this.mapAreaData.init(var6, var7, var5, var3); + } catch (IllegalStateException var19) { + return; + } + + this.mapAreaData.getOriginX(); + this.mapAreaData.getOriginPlane(); + this.mapAreaData.getOriginY(); + this.tileX = this.mapAreaData.getRegionLowX() * 64; + this.tileY = this.mapAreaData.getRegionLowY() * 64; + this.tileWidth = (this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1) * 64; + this.tileHeight = (this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1) * 4096; + int var16 = this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1; + int var9 = this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1; + System.nanoTime(); + System.nanoTime(); + class3.WorldMapRegion_clearCachedSprites(); + this.regions = new WorldMapRegion[var16][var9]; + Iterator var10 = this.mapAreaData.worldMapData0Set.iterator(); + + while (var10.hasNext()) { + WorldMapData_0 var11 = (WorldMapData_0)var10.next(); + int var12 = var11.regionX; + int var13 = var11.regionY; + int var14 = var12 - this.mapAreaData.getRegionLowX(); + int var15 = var13 - this.mapAreaData.getRegionLowY(); + this.regions[var14][var15] = new WorldMapRegion(var12, var13, this.mapAreaData.getBackGroundColor(), this.fonts); + this.regions[var14][var15].initWorldMapData0(var11, this.mapAreaData.iconList); + } + + for (int var17 = 0; var17 < var16; ++var17) { + for (int var18 = 0; var18 < var9; ++var18) { + if (this.regions[var17][var18] == null) { + this.regions[var17][var18] = new WorldMapRegion(this.mapAreaData.getRegionLowX() + var17, this.mapAreaData.getRegionLowY() + var18, this.mapAreaData.getBackGroundColor(), this.fonts); + this.regions[var17][var18].initWorldMapData1(this.mapAreaData.worldMapData1Set, this.mapAreaData.iconList); + } + } + } + + System.nanoTime(); + System.nanoTime(); + if (var1.isValidFileName(WorldMapCacheName.field283.name, var2)) { + byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field283.name, var2); + this.compositeTextureSprite = class40.convertJpgToSprite(var20); + } + + System.nanoTime(); + var1.clearGroups(); + var1.clearFiles(); + this.loaded = true; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1715469054" + ) + @Export("clearIcons") + public final void clearIcons() { + this.icons = null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIIIIIII)V", + garbageValue = "-99829048" + ) + @Export("drawTiles") + public final void drawTiles(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int[] var9 = Rasterizer2D.Rasterizer2D_pixels; + int var10 = Rasterizer2D.Rasterizer2D_width; + int var11 = Rasterizer2D.Rasterizer2D_height; + int[] var12 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var12); + WorldMapRectangle var13 = this.createWorldMapRectangle(var1, var2, var3, var4); + float var14 = this.getPixelsPerTile(var7 - var5, var3 - var1); + int var15 = (int)Math.ceil((double)var14); + this.pixelsPerTile = var15; + if (!this.field301.containsKey(var15)) { + class40 var16 = new class40(var15); + var16.init(); + this.field301.put(var15, var16); + } + + int var23 = var13.width + var13.x - 1; + int var17 = var13.y + var13.height - 1; + + int var18; + int var19; + for (var18 = var13.x; var18 <= var23; ++var18) { + for (var19 = var13.y; var19 <= var17; ++var19) { + this.regions[var18][var19].drawTile(var15, (class40)this.field301.get(var15), this.mapSceneSprites, this.geographyArchive, this.groundArchive); + } + } + + Rasterizer2D.Rasterizer2D_replace(var9, var10, var11); + Rasterizer2D.Rasterizer2D_setClipArray(var12); + var18 = (int)(var14 * 64.0F); + var19 = this.tileX * 4096 + var1; + int var20 = this.tileY * 4096 + var2; + + for (int var21 = var13.x; var21 < var13.width + var13.x; ++var21) { + for (int var22 = var13.y; var22 < var13.y + var13.height; ++var22) { + this.regions[var21][var22].method441(var5 + var18 * (this.regions[var21][var22].regionX * 64 - var19) / 64, var8 - var18 * (this.regions[var21][var22].regionY * 64 - var20 + 64) / 64, var18); + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", + garbageValue = "-1410717760" + ) + @Export("drawElements") + public final void drawElements(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, HashSet var9, HashSet var10, int var11, int var12, boolean var13) { + WorldMapRectangle var14 = this.createWorldMapRectangle(var1, var2, var3, var4); + float var15 = this.getPixelsPerTile(var7 - var5, var3 - var1); + int var16 = (int)(64.0F * var15); + int var17 = this.tileX * 4096 + var1; + int var18 = this.tileY * 4096 + var2; + + int var19; + int var20; + for (var19 = var14.x; var19 < var14.x + var14.width; ++var19) { + for (var20 = var14.y; var20 < var14.y + var14.height; ++var20) { + if (var13) { + this.regions[var19][var20].initWorldMapIcon1s(); + } + + this.regions[var19][var20].method451(var5 + var16 * (this.regions[var19][var20].regionX * 64 - var17) / 64, var8 - var16 * (this.regions[var19][var20].regionY * 64 - var18 + 64) / 64, var16, var9); + } + } + + if (var10 != null && var11 > 0) { + for (var19 = var14.x; var19 < var14.x + var14.width; ++var19) { + for (var20 = var14.y; var20 < var14.height + var14.y; ++var20) { + this.regions[var19][var20].flashElements(var10, var11, var12); + } + } + } + + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IIIILjava/util/HashSet;IIB)V", + garbageValue = "-113" + ) + @Export("drawOverview") + public void drawOverview(int var1, int var2, int var3, int var4, HashSet var5, int var6, int var7) { + if (this.compositeTextureSprite != null) { + this.compositeTextureSprite.drawScaledAt(var1, var2, var3, var4); + if (var6 > 0 && var6 % var7 < var7 / 2) { + if (this.icons == null) { + this.buildIcons0(); + } + + Iterator var8 = var5.iterator(); + + while (true) { + List var10; + do { + if (!var8.hasNext()) { + return; + } + + int var9 = (Integer)var8.next(); + var10 = (List)this.icons.get(var9); + } while(var10 == null); + + Iterator var11 = var10.iterator(); + + while (var11.hasNext()) { + AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var11.next(); + int var13 = var3 * (var12.coord2.x - this.tileX * 4096) / (this.tileWidth * 4096); + int var14 = var4 - (var12.coord2.y - this.tileY * 4096) * var4 / (this.tileHeight * 64); + Rasterizer2D.Rasterizer2D_drawCircleAlpha(var13 + var1, var14 + var2, 2, 16776960, 256); + } + } + } + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIIIIIIIII)Ljava/util/List;", + garbageValue = "642627718" + ) + public List method664(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + LinkedList var11 = new LinkedList(); + if (!this.loaded) { + return var11; + } else { + WorldMapRectangle var12 = this.createWorldMapRectangle(var1, var2, var3, var4); + float var13 = this.getPixelsPerTile(var7, var3 - var1); + int var14 = (int)(var13 * 64.0F); + int var15 = this.tileX * 4096 + var1; + int var16 = this.tileY * 4096 + var2; + + for (int var17 = var12.x; var17 < var12.x + var12.width; ++var17) { + for (int var18 = var12.y; var18 < var12.y + var12.height; ++var18) { + List var19 = this.regions[var17][var18].method472(var5 + var14 * (this.regions[var17][var18].regionX * 64 - var15) / 64, var8 + var6 - var14 * (this.regions[var17][var18].regionY * 64 - var16 + 64) / 64, var14, var9, var10); + if (!var19.isEmpty()) { + var11.addAll(var19); + } + } + } + + return var11; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(IIIII)Lj;", + garbageValue = "1969728750" + ) + @Export("createWorldMapRectangle") + WorldMapRectangle createWorldMapRectangle(int var1, int var2, int var3, int var4) { + WorldMapRectangle var5 = new WorldMapRectangle(this); + int var6 = this.tileX * 4096 + var1; + int var7 = this.tileY * 4096 + var2; + int var8 = var3 + this.tileX * 4096; + int var9 = this.tileY * 4096 + var4; + int var10 = var6 / 64; + int var11 = var7 / 64; + int var12 = var8 / 64; + int var13 = var9 / 64; + var5.width = var12 - var10 + 1; + var5.height = var13 - var11 + 1; + var5.x = var10 - this.mapAreaData.getRegionLowX(); + var5.y = var11 - this.mapAreaData.getRegionLowY(); + if (var5.x < 0) { + var5.width += var5.x; + var5.x = 0; + } + + if (var5.x > this.regions.length - var5.width) { + var5.width = this.regions.length - var5.x; + } + + if (var5.y < 0) { + var5.height += var5.y; + var5.y = 0; + } + + if (var5.y > this.regions[0].length - var5.height) { + var5.height = this.regions[0].length - var5.y; + } + + var5.width = Math.min(var5.width, this.regions.length); + var5.height = Math.min(var5.height, this.regions[0].length); + return var5; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-1274702917" + ) + @Export("isLoaded") + public boolean isLoaded() { + return this.loaded; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)Ljava/util/HashMap;", + garbageValue = "1690655537" + ) + @Export("buildIcons") + public HashMap buildIcons() { + this.buildIcons0(); + return this.icons; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-273211151" + ) + @Export("buildIcons0") + void buildIcons0() { + if (this.icons == null) { + this.icons = new HashMap(); + } + + this.icons.clear(); + + for (int var1 = 0; var1 < this.regions.length; ++var1) { + for (int var2 = 0; var2 < this.regions[var1].length; ++var2) { + List var3 = this.regions[var1][var2].icons(); + Iterator var4 = var3.iterator(); + + while (var4.hasNext()) { + AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); + if (var5.hasValidElement()) { + int var6 = var5.getElement(); + if (!this.icons.containsKey(var6)) { + LinkedList var7 = new LinkedList(); + var7.add(var5); + this.icons.put(var6, var7); + } else { + List var8 = (List)this.icons.get(var6); + var8.add(var5); + } + } + } + } + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(III)F", + garbageValue = "-1120188290" + ) + @Export("getPixelsPerTile") + float getPixelsPerTile(int var1, int var2) { + float var3 = (float)var1 / (float)var2; + if (var3 > 8.0F) { + return 8.0F; + } else if (var3 < 1.0F) { + return 1.0F; + } else { + int var4 = Math.round(var3); + return Math.abs((float)var4 - var3) < 0.05F ? (float)var4 : var3; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkf;IB)V", + garbageValue = "74" + ) + @Export("updatePlayers") + static final void updatePlayers(PacketBuffer var0, int var1) { + int var2 = var0.offset; + Players.Players_pendingUpdateCount = 0; + int var3 = 0; + var0.importIndex(); + + int var4; + int var5; + int var6; + int var8; + int var9; + byte[] var10000; + for (var4 = 0; var4 < Players.Players_count; ++var4) { + var5 = Players.Players_indices[var4]; + if ((Players.field1244[var5] & 1) == 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else { + var6 = var0.readBits(1); + if (var6 == 0) { + var8 = var0.readBits(2); + if (var8 == 0) { + var9 = 0; + } else if (var8 == 1) { + var9 = var0.readBits(5); + } else if (var8 == 2) { + var9 = var0.readBits(8); + } else { + var9 = var0.readBits(11); + } + + var3 = var9; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else { + UrlRequest.readPlayerUpdate(var0, var5); + } + } + } + } + + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for (var4 = 0; var4 < Players.Players_count; ++var4) { + var5 = Players.Players_indices[var4]; + if ((Players.field1244[var5] & 1) != 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else { + var6 = var0.readBits(1); + if (var6 == 0) { + var8 = var0.readBits(2); + if (var8 == 0) { + var9 = 0; + } else if (var8 == 1) { + var9 = var0.readBits(5); + } else if (var8 == 2) { + var9 = var0.readBits(8); + } else { + var9 = var0.readBits(11); + } + + var3 = var9; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else { + UrlRequest.readPlayerUpdate(var0, var5); + } + } + } + } + + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { + var5 = Players.Players_emptyIndices[var4]; + if ((Players.field1244[var5] & 1) != 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else { + var6 = var0.readBits(1); + if (var6 == 0) { + var8 = var0.readBits(2); + if (var8 == 0) { + var9 = 0; + } else if (var8 == 1) { + var9 = var0.readBits(5); + } else if (var8 == 2) { + var9 = var0.readBits(8); + } else { + var9 = var0.readBits(11); + } + + var3 = var9; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else if (class290.updateExternalPlayer(var0, var5)) { + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } + } + } + } + + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { + var5 = Players.Players_emptyIndices[var4]; + if ((Players.field1244[var5] & 1) == 0) { + if (var3 > 0) { + --var3; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else { + var6 = var0.readBits(1); + if (var6 == 0) { + var8 = var0.readBits(2); + if (var8 == 0) { + var9 = 0; + } else if (var8 == 1) { + var9 = var0.readBits(5); + } else if (var8 == 2) { + var9 = var0.readBits(8); + } else { + var9 = var0.readBits(11); + } + + var3 = var9; + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } else if (class290.updateExternalPlayer(var0, var5)) { + var10000 = Players.field1244; + var10000[var5] = (byte)(var10000[var5] | 2); + } + } + } + } + + var0.exportIndex(); + if (var3 != 0) { + throw new RuntimeException(); + } else { + Players.Players_count = 0; + Players.Players_emptyIdxCount = 0; + + Player var16; + for (var4 = 1; var4 < 2048; ++var4) { + var10000 = Players.field1244; + var10000[var4] = (byte)(var10000[var4] >> 1); + var16 = Client.players[var4]; + if (var16 != null) { + Players.Players_indices[++Players.Players_count - 1] = var4; + } else { + Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var4; + } + } + + for (var3 = 0; var3 < Players.Players_pendingUpdateCount; ++var3) { + var4 = Players.Players_pendingUpdateIndices[var3]; + var16 = Client.players[var4]; + var6 = var0.readUnsignedByte(); + if ((var6 & 1) != 0) { + var6 += var0.readUnsignedByte() << 8; + } + + byte var7 = -1; + if ((var6 & 256) != 0) { + for (var8 = 0; var8 < 3; ++var8) { + var16.actions[var8] = var0.readStringCp1252NullTerminated(); + } + } + + if ((var6 & 2048) != 0) { + var16.spotAnimation = var0.readUnsignedShort(); + var8 = var0.readInt(); + var16.heightOffset = var8 >> 16; + var16.field969 = (var8 & 65535) + Client.cycle; + var16.spotAnimationFrame = 0; + var16.spotAnimationFrameCycle = 0; + if (var16.field969 > Client.cycle) { + var16.spotAnimationFrame = -1; + } + + if (var16.spotAnimation == 65535) { + var16.spotAnimation = -1; + } + } + + if ((var6 & 2) != 0) { + var16.overheadText = var0.readStringCp1252NullTerminated(); + if (var16.overheadText.charAt(0) == '~') { + var16.overheadText = var16.overheadText.substring(1); + class210.addGameMessage(2, var16.username.getName(), var16.overheadText); + } else if (var16 == class223.localPlayer) { + class210.addGameMessage(2, var16.username.getName(), var16.overheadText); + } + + var16.isAutoChatting = false; + var16.overheadTextColor = 0; + var16.overheadTextEffect = 0; + var16.overheadTextCyclesRemaining = 150; + } + + if ((var6 & 8) != 0) { + var8 = var0.method5456(); + byte[] var17 = new byte[var8]; + Buffer var10 = new Buffer(var17); + var0.method5479(var17, 0, var8); + Players.field1236[var4] = var10; + var16.read(var10); + } + + int var11; + int var12; + int var15; + if ((var6 & 128) != 0) { + var8 = var0.readUnsignedShort(); + PlayerType var22 = (PlayerType)NetSocket.findEnumerated(class226.PlayerType_values(), var0.readUnsignedByte()); + boolean var18 = var0.method5456() == 1; + var11 = var0.method5456(); + var12 = var0.offset; + if (var16.username != null && var16.appearance != null) { + boolean var13 = false; + if (var22.isUser && Tiles.friendSystem.isIgnored(var16.username)) { + var13 = true; + } + + if (!var13 && Client.field634 == 0 && !var16.isHidden) { + Players.field1246.offset = 0; + var0.method5478(Players.field1246.array, 0, var11); + Players.field1246.offset = 0; + String var14 = AbstractFont.escapeBrackets(NetSocket.method3467(class65.method1250(Players.field1246))); + var16.overheadText = var14.trim(); + var16.overheadTextColor = var8 >> 8; + var16.overheadTextEffect = var8 & 255; + var16.overheadTextCyclesRemaining = 150; + var16.isAutoChatting = var18; + var16.field944 = var16 != class223.localPlayer && var22.isUser && "" != Client.field907 && var14.toLowerCase().indexOf(Client.field907) == -1; + if (var22.isPrivileged) { + var15 = var18 ? 91 : 1; + } else { + var15 = var18 ? 90 : 2; + } + + if (var22.modIcon != -1) { + class210.addGameMessage(var15, class247.method4443(var22.modIcon) + var16.username.getName(), var14); + } else { + class210.addGameMessage(var15, var16.username.getName(), var14); + } + } + } + + var0.offset = var11 + var12; + } + + if ((var6 & 4096) != 0) { + Players.field1235[var4] = var0.readByte(); + } + + if ((var6 & 16) != 0) { + var8 = var0.method5632(); + if (var8 == 65535) { + var8 = -1; + } + + var9 = var0.readUnsignedByte(); + LoginPacket.performPlayerAnimation(var16, var8, var9); + } + + if ((var6 & 512) != 0) { + var7 = var0.readByte(); + } + + if ((var6 & 1024) != 0) { + var16.field971 = var0.method5458(); + var16.field973 = var0.method5460(); + var16.field972 = var0.method5458(); + var16.field974 = var0.method5458(); + var16.field948 = var0.readUnsignedShort() + Client.cycle; + var16.field976 = var0.method5632() + Client.cycle; + var16.field977 = var0.method5465(); + if (var16.field621) { + var16.field971 += var16.tileX; + var16.field973 += var16.tileY; + var16.field972 += var16.tileX; + var16.field974 += var16.tileY; + var16.pathLength = 0; + } else { + var16.field971 += var16.pathX[0]; + var16.field973 += var16.pathY[0]; + var16.field972 += var16.pathX[0]; + var16.field974 += var16.pathY[0]; + var16.pathLength = 1; + } + + var16.field988 = 0; + } + + if ((var6 & 4) != 0) { + var8 = var0.method5455(); + int var19; + int var21; + int var23; + if (var8 > 0) { + for (var9 = 0; var9 < var8; ++var9) { + var11 = -1; + var12 = -1; + var21 = -1; + var23 = var0.readUShortSmart(); + if (var23 == 32767) { + var23 = var0.readUShortSmart(); + var12 = var0.readUShortSmart(); + var11 = var0.readUShortSmart(); + var21 = var0.readUShortSmart(); + } else if (var23 != 32766) { + var12 = var0.readUShortSmart(); + } else { + var23 = -1; + } + + var19 = var0.readUShortSmart(); + var16.addHitSplat(var23, var12, var11, var21, Client.cycle, var19); + } + } + + var9 = var0.method5496(); + if (var9 > 0) { + for (var23 = 0; var23 < var9; ++var23) { + var11 = var0.readUShortSmart(); + var12 = var0.readUShortSmart(); + if (var12 != 32767) { + var21 = var0.readUShortSmart(); + var19 = var0.method5455(); + var15 = var12 > 0 ? var0.method5455() : var19; + var16.addHealthBar(var11, Client.cycle, var12, var21, var19, var15); + } else { + var16.removeHealthBar(var11); + } + } + } + } + + if ((var6 & 64) != 0) { + var16.targetIndex = var0.method5632(); + if (var16.targetIndex == 65535) { + var16.targetIndex = -1; + } + } + + if ((var6 & 32) != 0) { + var16.field957 = var0.readUnsignedShort(); + if (var16.pathLength == 0) { + var16.orientation = var16.field957; + var16.field957 = -1; + } + } + + if (var16.field621) { + if (var7 == 127) { + var16.resetPath(var16.tileX, var16.tileY); + } else { + byte var20; + if (var7 != -1) { + var20 = var7; + } else { + var20 = Players.field1235[var4]; + } + + var16.method1274(var16.tileX, var16.tileY, var20); + } + } + } + + if (var0.offset - var2 != var1) { + throw new RuntimeException(var0.offset - var2 + " " + var1); + } + } + } + } + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Ljava/lang/Throwable;B)Ljava/lang/String;", + garbageValue = "4" + ) + static String method685(Throwable var0) throws IOException { + String var1; + if (var0 instanceof RunException) { + RunException var2 = (RunException)var0; + var1 = var2.message + " | "; + var0 = var2.throwable; + } else { + var1 = ""; + } + + StringWriter var12 = new StringWriter(); + PrintWriter var3 = new PrintWriter(var12); + var0.printStackTrace(var3); + var3.close(); + String var4 = var12.toString(); + BufferedReader var5 = new BufferedReader(new StringReader(var4)); + String var6 = var5.readLine(); + + while (true) { + while (true) { + String var7 = var5.readLine(); + if (var7 == null) { + var1 = var1 + "| " + var6; + return var1; + } + + int var8 = var7.indexOf(40); + int var9 = var7.indexOf(41, var8 + 1); + if (var8 >= 0 && var9 >= 0) { + String var10 = var7.substring(var8 + 1, var9); + int var11 = var10.indexOf(".java:"); + if (var11 >= 0) { + var10 = var10.substring(0, var11) + var10.substring(var11 + 5); + var1 = var1 + var10 + ' '; + continue; + } + + var7 = var7.substring(0, var8); + } + + var7 = var7.trim(); + var7 = var7.substring(var7.lastIndexOf(32) + 1); + var7 = var7.substring(var7.lastIndexOf(9) + 1); + var1 = var1 + var7 + ' '; + } + } + } + + @ObfuscatedName("jg") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "938839327" + ) + @Export("Widget_resetModelFrames") + static final void Widget_resetModelFrames(int var0) { + if (WorldMapData_0.loadInterface(var0)) { + Widget[] var1 = UserComparator5.Widget_interfaceComponents[var0]; + + for (int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3 != null) { + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + } + } + + } + } + + @ObfuscatedName("jh") + @ObfuscatedSignature( + signature = "(IIII)Lbk;", + garbageValue = "1688623868" + ) + static final InterfaceParent method679(int var0, int var1, int var2) { + InterfaceParent var3 = new InterfaceParent(); + var3.group = var1; + var3.type = var2; + Client.interfaceParents.put(var3, (long)var0); + Widget_resetModelFrames(var1); + Widget var4 = Canvas.getWidget(var0); + WorldMapSectionType.invalidateWidget(var4); + if (Client.meslayerContinueWidget != null) { + WorldMapSectionType.invalidateWidget(Client.meslayerContinueWidget); + Client.meslayerContinueWidget = null; + } + + SecureRandomFuture.method2134(); + GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var0 >> 16], var4, false); + class186.runWidgetOnLoadListener(var1); + if (Client.rootInterface != -1) { + class40.runIntfCloseListeners(Client.rootInterface, 1); + } + + return var3; + } +} diff --git a/runescape-client/src/main/java/WorldMapRectangle.java b/runescape-client/src/main/java/WorldMapRectangle.java index a8042d2a22..73f7098759 100644 --- a/runescape-client/src/main/java/WorldMapRectangle.java +++ b/runescape-client/src/main/java/WorldMapRectangle.java @@ -1,127 +1,86 @@ -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.ScriptOpcodes; - -@ObfuscatedName("m") -@Implements("WorldMapRectangle") -public final class WorldMapRectangle { - @ObfuscatedName("bd") - @ObfuscatedSignature( - signature = "Llt;" - ) - @Export("worldSelectRightSprite") - static IndexedSprite worldSelectRightSprite; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -862599519 - ) - @Export("width") - int width; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1046105525 - ) - @Export("height") - int height; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -686803507 - ) - @Export("x") - int x; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1467646057 - ) - @Export("y") - int y; - // $FF: synthetic field - @ObfuscatedSignature( - signature = "Laj;" - ) - final WorldMapManager this$0; - - @ObfuscatedSignature( - signature = "(Laj;)V" - ) - WorldMapRectangle(WorldMapManager var1) { - this.this$0 = var1; - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "1965047031" - ) - static int method255(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - if (var0 == ScriptOpcodes.CC_GETX) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.x; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETY) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.y; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.width; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.height; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETHIDE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CC_GETLAYER) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.parentId; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("jo") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-228783790" - ) - @Export("runIntfCloseListeners") - static final void runIntfCloseListeners(int var0, int var1) { - if (TaskHandler.loadInterface(var0)) { - class32.runComponentCloseListeners(class289.Widget_interfaceComponents[var0], var1); - } - } - - @ObfuscatedName("jr") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "262144" - ) - static void method257() { - for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { - int var1 = var0.group; - if (TaskHandler.loadInterface(var1)) { - boolean var2 = true; - Widget[] var3 = class289.Widget_interfaceComponents[var1]; - - int var4; - for (var4 = 0; var4 < var3.length; ++var4) { - if (var3[var4] != null) { - var2 = var3[var4].isIf3; - break; - } - } - - if (!var2) { - var4 = (int)var0.key; - Widget var5 = Player.getWidget(var4); - if (var5 != null) { - WorldMapID.invalidateWidget(var5); - } - } - } - } - - } -} +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("j") +@Implements("WorldMapRectangle") +public final class WorldMapRectangle { + @ObfuscatedName("jz") + @ObfuscatedGetter( + intValue = 1984702959 + ) + @Export("plane") + static int plane; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1437732891 + ) + @Export("width") + int width; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 2120102399 + ) + @Export("height") + int height; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1194762567 + ) + @Export("x") + int x; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1496265891 + ) + @Export("y") + int y; + // $FF: synthetic field + @ObfuscatedSignature( + signature = "Lal;" + ) + final WorldMapManager this$0; + + @ObfuscatedSignature( + signature = "(Lal;)V" + ) + WorldMapRectangle(WorldMapManager var1) { + this.this$0 = var1; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lhp;Ljava/lang/String;Ljava/lang/String;I)Llp;", + garbageValue = "669461373" + ) + @Export("SpriteBuffer_getIndexedSpriteByName") + public static IndexedSprite SpriteBuffer_getIndexedSpriteByName(AbstractArchive var0, String var1, String var2) { + int var3 = var0.getGroupId(var1); + int var4 = var0.getFileId(var3, var2); + IndexedSprite var5; + if (!VertexNormal.method2958(var0, var3, var4)) { + var5 = null; + } else { + IndexedSprite var7 = new IndexedSprite(); + var7.width = class325.SpriteBuffer_spriteWidth; + var7.height = Frames.SpriteBuffer_spriteHeight; + var7.xOffset = class325.SpriteBuffer_xOffsets[0]; + var7.yOffset = MusicPatchPcmStream.SpriteBuffer_yOffsets[0]; + var7.subWidth = class325.SpriteBuffer_spriteWidths[0]; + var7.subHeight = RunException.SpriteBuffer_spriteHeights[0]; + var7.palette = class325.SpriteBuffer_spritePalette; + var7.pixels = PacketBufferNode.SpriteBuffer_pixels[0]; + class325.SpriteBuffer_xOffsets = null; + MusicPatchPcmStream.SpriteBuffer_yOffsets = null; + class325.SpriteBuffer_spriteWidths = null; + RunException.SpriteBuffer_spriteHeights = null; + class325.SpriteBuffer_spritePalette = null; + PacketBufferNode.SpriteBuffer_pixels = null; + var5 = var7; + } + + return var5; + } +} diff --git a/runescape-client/src/main/java/WorldMapRegion.java b/runescape-client/src/main/java/WorldMapRegion.java index 6397a080b6..419bdd17c0 100644 --- a/runescape-client/src/main/java/WorldMapRegion.java +++ b/runescape-client/src/main/java/WorldMapRegion.java @@ -1,1078 +1,1319 @@ -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map.Entry; -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("av") -@Implements("WorldMapRegion") -public class WorldMapRegion { - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lez;" - ) - @Export("WorldMapRegion_cachedSprites") - static DemotingHashTable WorldMapRegion_cachedSprites; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 243577095 - ) - @Export("regionX") - int regionX; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1620113083 - ) - @Export("regionY") - int regionY; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Le;" - ) - @Export("worldMapData_0") - WorldMapData_0 worldMapData_0; - @ObfuscatedName("d") - @Export("worldMapData1List") - LinkedList worldMapData1List; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 419659793 - ) - @Export("backgroundColor") - int backgroundColor; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1412542037 - ) - @Export("pixelsPerTile") - int pixelsPerTile; - @ObfuscatedName("h") - @Export("icon0List") - List icon0List; - @ObfuscatedName("f") - @Export("iconMap") - HashMap iconMap; - @ObfuscatedName("s") - @Export("fonts") - final HashMap fonts; - - static { - WorldMapRegion_cachedSprites = new DemotingHashTable(37748736, 256); - } - - WorldMapRegion(int var1, int var2, int var3, HashMap var4) { - this.regionX = var1; - this.regionY = var2; - this.worldMapData1List = new LinkedList(); - this.icon0List = new LinkedList(); - this.iconMap = new HashMap(); - this.backgroundColor = var3 | -16777216; - this.fonts = var4; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIII)V", - garbageValue = "382627216" - ) - void method384(int var1, int var2, int var3) { - Sprite var4 = ScriptFrame.method1085(this.regionX, this.regionY, this.pixelsPerTile); - if (var4 != null) { - if (var3 == this.pixelsPerTile * 64) { - var4.drawAt(var1, var2); - } else { - var4.drawScaledWorldmap(var1, var2, var3, var3); - } - - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Le;Ljava/util/List;I)V", - garbageValue = "-91985940" - ) - @Export("initWorldMapData0") - void initWorldMapData0(WorldMapData_0 var1, List var2) { - this.iconMap.clear(); - this.worldMapData_0 = var1; - this.addAllToIconList(var2); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;Ljava/util/List;I)V", - garbageValue = "288554490" - ) - @Export("initWorldMapData1") - void initWorldMapData1(HashSet var1, List var2) { - this.iconMap.clear(); - Iterator var3 = var1.iterator(); - - while (var3.hasNext()) { - WorldMapData_1 var4 = (WorldMapData_1)var3.next(); - if (var4.getRegionX() == this.regionX && var4.getRegionY() == this.regionY) { - this.worldMapData1List.add(var4); - } - } - - this.addAllToIconList(var2); - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(IIIILw;B)V", - garbageValue = "35" - ) - @Export("getIconsForTiles") - void getIconsForTiles(int var1, int var2, int var3, int var4, AbstractWorldMapData var5) { - for (int var6 = var1; var6 < var3 + var1; ++var6) { - label72: - for (int var7 = var2; var7 < var2 + var4; ++var7) { - for (int var8 = 0; var8 < var5.planes; ++var8) { - WorldMapDecoration[] var9 = var5.decorations[var8][var6][var7]; - if (var9 != null && var9.length != 0) { - WorldMapDecoration[] var10 = var9; - - for (int var11 = 0; var11 < var10.length; ++var11) { - ObjectDefinition var13; - boolean var14; - label63: { - WorldMapDecoration var12 = var10[var11]; - var13 = WallDecoration.getObjectDefinition(var12.objectDefinitionId); - if (var13.transforms != null) { - int[] var15 = var13.transforms; - - for (int var16 = 0; var16 < var15.length; ++var16) { - int var17 = var15[var16]; - ObjectDefinition var18 = WallDecoration.getObjectDefinition(var17); - if (var18.mapIconId != -1) { - var14 = true; - break label63; - } - } - } else if (var13.mapIconId != -1) { - var14 = true; - break label63; - } - - var14 = false; - } - - if (var14) { - this.getIcon(var13, var8, var6, var7, var5); - continue label72; - } - } - } - } - } - } - - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Liy;IIILw;I)V", - garbageValue = "-1575746805" - ) - @Export("getIcon") - void getIcon(ObjectDefinition var1, int var2, int var3, int var4, AbstractWorldMapData var5) { - Coord var6 = new Coord(var2, var3 + this.regionX * 64, this.regionY * 64 + var4); - Coord var7 = null; - if (this.worldMapData_0 != null) { - var7 = new Coord(this.worldMapData_0.minPlane + var2, var3 + this.worldMapData_0.regionXLow * 64, var4 + this.worldMapData_0.regionYLow * 64); - } else { - WorldMapData_1 var8 = (WorldMapData_1)var5; - var7 = new Coord(var2 + var8.minPlane, var3 + var8.regionXLow * 64 + var8.getChunkXLow() * 8, var8.regionYLow * 64 + var4 + var8.getChunkYLow() * 8); - } - - Object var10; - if (var1.transforms != null) { - var10 = new WorldMapIcon_1(var7, var6, var1.id, this); - } else { - WorldMapElement var9 = WorldMapSection1.WorldMapElement_get(var1.mapIconId); - var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9)); - } - - this.iconMap.put(new Coord(0, var3, var4), var10); - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1714857908" - ) - @Export("initWorldMapIcon1s") - void initWorldMapIcon1s() { - Iterator var1 = this.iconMap.values().iterator(); - - while (var1.hasNext()) { - AbstractWorldMapIcon var2 = (AbstractWorldMapIcon)var1.next(); - if (var2 instanceof WorldMapIcon_1) { - ((WorldMapIcon_1)var2).init(); - } - } - - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(Ljava/util/List;I)V", - garbageValue = "725025175" - ) - @Export("addAllToIconList") - void addAllToIconList(List var1) { - Iterator var2 = var1.iterator(); - - while (var2.hasNext()) { - WorldMapIcon_0 var3 = (WorldMapIcon_0)var2.next(); - if (var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) { - WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method513(var3.element)); - this.icon0List.add(var4); - } - } - - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1774169765" - ) - void method391() { - if (this.worldMapData_0 != null) { - this.worldMapData_0.reset(); - } else { - Iterator var1 = this.worldMapData1List.iterator(); - - while (var1.hasNext()) { - WorldMapData_1 var2 = (WorldMapData_1)var1.next(); - var2.reset(); - } - } - - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "(Lhz;I)Z", - garbageValue = "-707338536" - ) - @Export("loadGeography") - boolean loadGeography(AbstractArchive var1) { - this.iconMap.clear(); - if (this.worldMapData_0 != null) { - this.worldMapData_0.loadGeography(var1); - if (this.worldMapData_0.isFullyLoaded()) { - this.getIconsForTiles(0, 0, 64, 64, this.worldMapData_0); - return true; - } else { - return false; - } - } else { - boolean var2 = true; - - Iterator var3; - WorldMapData_1 var4; - for (var3 = this.worldMapData1List.iterator(); var3.hasNext(); var2 &= var4.isFullyLoaded()) { - var4 = (WorldMapData_1)var3.next(); - var4.loadGeography(var1); - } - - if (var2) { - var3 = this.worldMapData1List.iterator(); - - while (var3.hasNext()) { - var4 = (WorldMapData_1)var3.next(); - this.getIconsForTiles(var4.getChunkX() * 8, var4.getChunkY() * 8, 8, 8, var4); - } - } - - return var2; - } - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "(ILay;[Llt;Lhz;Lhz;B)V", - garbageValue = "76" - ) - @Export("drawTile") - void drawTile(int var1, class40 var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) { - this.pixelsPerTile = var1; - if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) { - if (ScriptFrame.method1085(this.regionX, this.regionY, var1) == null) { - boolean var6 = true; - var6 &= this.loadGeography(var4); - int var8; - if (this.worldMapData_0 != null) { - var8 = this.worldMapData_0.groupId; - } else { - var8 = ((AbstractWorldMapData)this.worldMapData1List.getFirst()).groupId; - } - - var6 &= var5.tryLoadGroup(var8); - if (var6) { - byte[] var7 = var5.takeFileFlat(var8); - WorldMapSprite var9; - if (var7 == null) { - var9 = new WorldMapSprite(); - } else { - var9 = new WorldMapSprite(class16.convertJpgToSprite(var7).pixels); - } - - Sprite var11 = new Sprite(this.pixelsPerTile * 64, this.pixelsPerTile * 64); - var11.setRaster(); - if (this.worldMapData_0 != null) { - this.method447(var2, var3, var9); - } else { - this.method397(var2, var3, var9); - } - - Buffer.method5703(var11, this.regionX, this.regionY, this.pixelsPerTile); - this.method391(); - } - } - } - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - signature = "(IIILjava/util/HashSet;I)V", - garbageValue = "-535095440" - ) - void method390(int var1, int var2, int var3, HashSet var4) { - if (var4 == null) { - var4 = new HashSet(); - } - - this.drawNonLinkMapIcons(var1, var2, var4, var3); - this.drawMapLinks(var1, var2, var4, var3); - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;III)V", - garbageValue = "1375112705" - ) - @Export("flashElements") - void flashElements(HashSet var1, int var2, int var3) { - Iterator var4 = this.iconMap.values().iterator(); - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); - if (var5.hasValidElement()) { - int var6 = var5.getElement(); - if (var1.contains(var6)) { - WorldMapElement var7 = WorldMapSection1.WorldMapElement_get(var6); - this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, var2, var3); - } - } - } - - this.method405(var1, var2, var3); - } - - @ObfuscatedName("k") - @ObfuscatedSignature( - signature = "(Lay;[Llt;Lat;B)V", - garbageValue = "-57" - ) - void method447(class40 var1, IndexedSprite[] var2, WorldMapSprite var3) { - int var4; - int var5; - for (var4 = 0; var4 < 64; ++var4) { - for (var5 = 0; var5 < 64; ++var5) { - this.drawTileGround(var4, var5, this.worldMapData_0, var1, var3); - this.method400(var4, var5, this.worldMapData_0, var1); - } - } - - for (var4 = 0; var4 < 64; ++var4) { - for (var5 = 0; var5 < 64; ++var5) { - this.method393(var4, var5, this.worldMapData_0, var1, var2); - } - } - - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - signature = "(Lay;[Llt;Lat;I)V", - garbageValue = "1350875614" - ) - void method397(class40 var1, IndexedSprite[] var2, WorldMapSprite var3) { - Iterator var4 = this.worldMapData1List.iterator(); - - WorldMapData_1 var5; - int var6; - int var7; - while (var4.hasNext()) { - var5 = (WorldMapData_1)var4.next(); - - for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { - for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { - this.drawTileGround(var6, var7, var5, var1, var3); - this.method400(var6, var7, var5, var1); - } - } - } - - var4 = this.worldMapData1List.iterator(); - - while (var4.hasNext()) { - var5 = (WorldMapData_1)var4.next(); - - for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { - for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { - this.method393(var6, var7, var5, var1, var2); - } - } - } - - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(IILw;Lay;[Llt;I)V", - garbageValue = "824370394" - ) - void method393(int var1, int var2, AbstractWorldMapData var3, class40 var4, IndexedSprite[] var5) { - this.method493(var1, var2, var3); - this.method402(var1, var2, var3, var5); - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - signature = "(IILw;Lay;Lat;I)V", - garbageValue = "-1871711101" - ) - @Export("drawTileGround") - void drawTileGround(int var1, int var2, AbstractWorldMapData var3, class40 var4, WorldMapSprite var5) { - int var6 = var3.floorUnderlayIds[0][var1][var2] - 1; - int var7 = var3.floorOverlayIds[0][var1][var2] - 1; - if (var6 == -1 && var7 == -1) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.backgroundColor); - } - - int var8 = 16711935; - int var9; - if (var7 != -1) { - int var10 = this.backgroundColor; - FloorOverlayDefinition var12 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var7); - FloorOverlayDefinition var11; - if (var12 != null) { - var11 = var12; - } else { - byte[] var13 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var7); - var12 = new FloorOverlayDefinition(); - if (var13 != null) { - var12.decode(new Buffer(var13), var7); - } - - var12.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var12, (long)var7); - var11 = var12; - } - - if (var11 == null) { - var9 = var10; - } else if (var11.secondaryRgb >= 0) { - var9 = var11.secondaryRgb | -16777216; - } else if (var11.texture >= 0) { - int var19 = UserComparator7.method3382(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var11.texture), 96); - var9 = Rasterizer3D.Rasterizer3D_colorPalette[var19] | -16777216; - } else if (var11.primaryRgb == 16711935) { - var9 = var10; - } else { - int var14 = var11.hue; - int var15 = var11.saturation; - int var16 = var11.lightness; - if (var16 > 179) { - var15 /= 2; - } - - if (var16 > 192) { - var15 /= 2; - } - - if (var16 > 217) { - var15 /= 2; - } - - if (var16 > 243) { - var15 /= 2; - } - - int var17 = (var15 / 32 << 7) + var16 / 2 + (var14 / 4 << 10); - int var18 = UserComparator7.method3382(var17, 96); - var9 = Rasterizer3D.Rasterizer3D_colorPalette[var18] | -16777216; - } - - var8 = var9; - } - - if (var7 > -1 && var3.field163[0][var1][var2] == 0) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); - } else { - var9 = this.method401(var1, var2, var3, var5); - if (var7 == -1) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); - } else { - var4.method707(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field163[0][var1][var2], var3.field159[0][var1][var2]); - } - } - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(IILw;Lay;I)V", - garbageValue = "-1546441711" - ) - void method400(int var1, int var2, AbstractWorldMapData var3, class40 var4) { - for (int var5 = 1; var5 < var3.planes; ++var5) { - int var6 = var3.floorOverlayIds[var5][var1][var2] - 1; - if (var6 > -1) { - int var8 = this.backgroundColor; - FloorOverlayDefinition var10 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var6); - FloorOverlayDefinition var9; - if (var10 != null) { - var9 = var10; - } else { - byte[] var11 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var6); - var10 = new FloorOverlayDefinition(); - if (var11 != null) { - var10.decode(new Buffer(var11), var6); - } - - var10.postDecode(); - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var10, (long)var6); - var9 = var10; - } - - int var7; - if (var9 == null) { - var7 = var8; - } else if (var9.secondaryRgb >= 0) { - var7 = var9.secondaryRgb | -16777216; - } else if (var9.texture >= 0) { - int var18 = UserComparator7.method3382(Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var9.texture), 96); - var7 = Rasterizer3D.Rasterizer3D_colorPalette[var18] | -16777216; - } else if (var9.primaryRgb == 16711935) { - var7 = var8; - } else { - int var12 = var9.hue; - int var13 = var9.saturation; - int var14 = var9.lightness; - if (var14 > 179) { - var13 /= 2; - } - - if (var14 > 192) { - var13 /= 2; - } - - if (var14 > 217) { - var13 /= 2; - } - - if (var14 > 243) { - var13 /= 2; - } - - int var15 = (var13 / 32 << 7) + var14 / 2 + (var12 / 4 << 10); - int var16 = UserComparator7.method3382(var15, 96); - var7 = Rasterizer3D.Rasterizer3D_colorPalette[var16] | -16777216; - } - - if (var3.field163[var5][var1][var2] == 0) { - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7); - } else { - var4.method707(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field163[var5][var1][var2], var3.field159[var5][var1][var2]); - } - } - } - - } - - @ObfuscatedName("b") - @ObfuscatedSignature( - signature = "(IILw;Lat;I)I", - garbageValue = "212531607" - ) - int method401(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { - return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2); - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - signature = "(IILw;[Llt;I)V", - garbageValue = "-337598152" - ) - void method402(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) { - for (int var5 = 0; var5 < var3.planes; ++var5) { - WorldMapDecoration[] var6 = var3.decorations[var5][var1][var2]; - if (var6 != null && var6.length != 0) { - WorldMapDecoration[] var7 = var6; - - for (int var8 = 0; var8 < var7.length; ++var8) { - WorldMapDecoration var9 = var7[var8]; - if (!class227.method4110(var9.decoration)) { - int var11 = var9.decoration; - boolean var10 = var11 == WorldMapDecorationType.field2716.id; - if (!var10) { - continue; - } - } - - ObjectDefinition var12 = WallDecoration.getObjectDefinition(var9.objectDefinitionId); - if (var12.mapSceneId != -1) { - if (var12.mapSceneId != 46 && var12.mapSceneId != 52) { - var4[var12.mapSceneId].method6059(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); - } else { - var4[var12.mapSceneId].method6059(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); - } - } - } - } - } - - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(IILw;B)V", - garbageValue = "55" - ) - void method493(int var1, int var2, AbstractWorldMapData var3) { - for (int var4 = 0; var4 < var3.planes; ++var4) { - WorldMapDecoration[] var5 = var3.decorations[var4][var1][var2]; - if (var5 != null && var5.length != 0) { - WorldMapDecoration[] var6 = var5; - - for (int var7 = 0; var7 < var6.length; ++var7) { - WorldMapDecoration var8 = var6[var7]; - if (NPCDefinition.method4750(var8.decoration)) { - ObjectDefinition var9 = WallDecoration.getObjectDefinition(var8.objectDefinitionId); - int var10 = var9.int1 != 0 ? -3407872 : -3355444; - if (var8.decoration == WorldMapDecorationType.field2704.id) { - this.method398(var1, var2, var8.rotation, var10); - } - - if (var8.decoration == WorldMapDecorationType.field2695.id) { - this.method398(var1, var2, var8.rotation, -3355444); - this.method398(var1, var2, var8.rotation + 1, var10); - } - - if (var8.decoration == WorldMapDecorationType.field2697.id) { - if (var8.rotation == 0) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 1, var10); - } - - if (var8.rotation == 1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2), 1, var10); - } - - if (var8.rotation == 2) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10); - } - - if (var8.rotation == 3) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10); - } - } - - if (var8.decoration == WorldMapDecorationType.field2698.id) { - int var11 = var8.rotation % 2; - int var12; - if (var11 == 0) { - for (var12 = 0; var12 < this.pixelsPerTile; ++var12) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, (64 - var2) * this.pixelsPerTile - 1 - var12, 1, var10); - } - } else { - for (var12 = 0; var12 < this.pixelsPerTile; ++var12) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, var12 + this.pixelsPerTile * (63 - var2), 1, var10); - } - } - } - } - } - } - } - - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - signature = "(IILjava/util/HashSet;II)V", - garbageValue = "1064353501" - ) - @Export("drawNonLinkMapIcons") - void drawNonLinkMapIcons(int var1, int var2, HashSet var3, int var4) { - float var5 = (float)var4 / 64.0F; - float var6 = var5 / 2.0F; - Iterator var7 = this.iconMap.entrySet().iterator(); - - while (var7.hasNext()) { - Entry var8 = (Entry)var7.next(); - Coord var9 = (Coord)var8.getKey(); - int var10 = (int)((float)var9.x * var5 + (float)var1 - var6); - int var11 = (int)((float)(var2 + var4) - (float)var9.y * var5 - var6); - AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue(); - if (var12 != null && var12.hasValidElement()) { - var12.screenX = var10; - var12.screenY = var11; - WorldMapElement var13 = WorldMapSection1.WorldMapElement_get(var12.getElement()); - if (!var3.contains(var13.getObjectId())) { - this.method494(var12, var10, var11, var5); - } - } - } - - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - signature = "(Ljava/util/HashSet;III)V", - garbageValue = "-664201064" - ) - void method405(HashSet var1, int var2, int var3) { - Iterator var4 = this.icon0List.iterator(); - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); - if (var5.hasValidElement()) { - WorldMapElement var6 = WorldMapSection1.WorldMapElement_get(var5.getElement()); - if (var6 != null && var1.contains(var6.getObjectId())) { - this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3); - } - } - } - - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - signature = "(Liu;IIIIB)V", - garbageValue = "-42" - ) - @Export("drawBackgroundCircle") - void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) { - Sprite var6 = var1.getSpriteBool(false); - if (var6 != null) { - var6.drawTransBgAt(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2); - if (var4 % var5 < var5 / 2) { - Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 16776960, 128); - Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 16777215, 256); - } - - } - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - signature = "(Lap;IIFI)V", - garbageValue = "1055388639" - ) - void method494(AbstractWorldMapIcon var1, int var2, int var3, float var4) { - WorldMapElement var5 = WorldMapSection1.WorldMapElement_get(var1.getElement()); - this.method475(var5, var2, var3); - this.method409(var1, var5, var2, var3, var4); - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(Liu;III)V", - garbageValue = "-746790062" - ) - void method475(WorldMapElement var1, int var2, int var3) { - Sprite var4 = var1.getSpriteBool(false); - if (var4 != null) { - int var5 = this.method411(var4, var1.horizontalAlignment); - int var6 = this.method474(var4, var1.verticalAlignment); - var4.drawTransBgAt(var5 + var2, var3 + var6); - } - - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - signature = "(Lap;Liu;IIFB)V", - garbageValue = "-44" - ) - void method409(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { - WorldMapLabel var6 = var1.getLabel(); - if (var6 != null) { - if (var6.size.method167(var5)) { - Font var7 = (Font)this.fonts.get(var6.size); - var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3195, 0, 1, 0, var7.ascent / 2); - } - } - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(IILjava/util/HashSet;II)V", - garbageValue = "-747150433" - ) - @Export("drawMapLinks") - void drawMapLinks(int var1, int var2, HashSet var3, int var4) { - float var5 = (float)var4 / 64.0F; - Iterator var6 = this.icon0List.iterator(); - - while (var6.hasNext()) { - AbstractWorldMapIcon var7 = (AbstractWorldMapIcon)var6.next(); - if (var7.hasValidElement()) { - int var8 = var7.coord2.x % 64; - int var9 = var7.coord2.y % 64; - var7.screenX = (int)((float)var8 * var5 + (float)var1); - var7.screenY = (int)(var5 * (float)(63 - var9) + (float)var2); - if (!var3.contains(var7.getElement())) { - this.method494(var7, var7.screenX, var7.screenY, var5); - } - } - } - - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(Lli;Lie;I)I", - garbageValue = "-1724817993" - ) - int method411(Sprite var1, HorizontalAlignment var2) { - switch(var2.value) { - case 1: - return -var1.subWidth / 2; - case 2: - return 0; - default: - return -var1.subWidth; - } - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - signature = "(Lli;Lii;I)I", - garbageValue = "1842119617" - ) - int method474(Sprite var1, VerticalAlignment var2) { - switch(var2.value) { - case 1: - return 0; - case 2: - return -var1.subHeight / 2; - default: - return -var1.subHeight; - } - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - signature = "(II)Lao;", - garbageValue = "1798974751" - ) - WorldMapLabel method513(int var1) { - WorldMapElement var2 = WorldMapSection1.WorldMapElement_get(var1); - return this.createMapLabel(var2); - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(Liu;I)Lao;", - garbageValue = "-353392660" - ) - @Export("createMapLabel") - WorldMapLabel createMapLabel(WorldMapElement var1) { - if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { - int var3 = var1.textSize; - WorldMapLabelSize[] var4 = new WorldMapLabelSize[]{WorldMapLabelSize.WorldMapLabelSize_large, WorldMapLabelSize.WorldMapLabelSize_medium, WorldMapLabelSize.WorldMapLabelSize_small}; - WorldMapLabelSize[] var5 = var4; - int var6 = 0; - - WorldMapLabelSize var2; - while (true) { - if (var6 >= var5.length) { - var2 = null; - break; - } - - WorldMapLabelSize var7 = var5[var6]; - if (var3 == var7.field114) { - var2 = var7; - break; - } - - ++var6; - } - - if (var2 == null) { - return null; - } else { - Font var14 = (Font)this.fonts.get(var2); - if (var14 == null) { - return null; - } else { - var6 = var14.lineCount(var1.name, 1000000); - String[] var15 = new String[var6]; - var14.breakLines(var1.name, (int[])null, var15); - int var8 = var15.length * var14.ascent / 2; - int var9 = 0; - String[] var10 = var15; - - for (int var11 = 0; var11 < var10.length; ++var11) { - String var12 = var10[var11]; - int var13 = var14.stringWidth(var12); - if (var13 > var9) { - var9 = var13; - } - } - - return new WorldMapLabel(var1.name, var9, var8, var2); - } - } - } else { - return null; - } - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - signature = "(IIIIII)Ljava/util/List;", - garbageValue = "1404508745" - ) - List method415(int var1, int var2, int var3, int var4, int var5) { - LinkedList var6 = new LinkedList(); - if (var4 >= var1 && var5 >= var2) { - if (var4 < var3 + var1 && var5 < var3 + var2) { - Iterator var7 = this.iconMap.values().iterator(); - - AbstractWorldMapIcon var8; - while (var7.hasNext()) { - var8 = (AbstractWorldMapIcon)var7.next(); - if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { - var6.add(var8); - } - } - - var7 = this.icon0List.iterator(); - - while (var7.hasNext()) { - var8 = (AbstractWorldMapIcon)var7.next(); - if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { - var6.add(var8); - } - } - - return var6; - } else { - return var6; - } - } else { - return var6; - } - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - signature = "(I)Ljava/util/List;", - garbageValue = "-977559696" - ) - @Export("icons") - List icons() { - LinkedList var1 = new LinkedList(); - var1.addAll(this.icon0List); - var1.addAll(this.iconMap.values()); - return var1; - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - signature = "(IIIII)V", - garbageValue = "-1630472707" - ) - void method398(int var1, int var2, int var3, int var4) { - var3 %= 4; - if (var3 == 0) { - Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); - } - - if (var3 == 1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); - } - - if (var3 == 2) { - Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); - } - - if (var3 == 3) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, this.pixelsPerTile, var4); - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([Ljava/lang/CharSequence;IIB)Ljava/lang/String;", - garbageValue = "70" - ) - public static String method515(CharSequence[] var0, int var1, int var2) { - if (var2 == 0) { - return ""; - } else if (var2 == 1) { - CharSequence var3 = var0[var1]; - return var3 == null ? "null" : var3.toString(); - } else { - int var8 = var2 + var1; - int var4 = 0; - - for (int var5 = var1; var5 < var8; ++var5) { - CharSequence var6 = var0[var5]; - if (var6 == null) { - var4 += 4; - } else { - var4 += var6.length(); - } - } - - StringBuilder var9 = new StringBuilder(var4); - - for (int var10 = var1; var10 < var8; ++var10) { - CharSequence var7 = var0[var10]; - if (var7 == null) { - var9.append("null"); - } else { - var9.append(var7); - } - } - - return var9.toString(); - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([Ljava/lang/String;[SI)V", - garbageValue = "1311099135" - ) - public static void method514(String[] var0, short[] var1) { - UserComparator9.sortItemsByName(var0, var1, 0, var0.length - 1); - } - - @ObfuscatedName("hk") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "260100818" - ) - @Export("calculateMenuBounds") - static void calculateMenuBounds() { - ScriptEvent.calculateMenuBounds(class173.menuWidth / 2 + FileSystem.menuX, class83.menuY); - } -} +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map.Entry; +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.ScriptOpcodes; + +@ObfuscatedName("aa") +@Implements("WorldMapRegion") +public class WorldMapRegion { + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Leu;" + ) + @Export("WorldMapRegion_cachedSprites") + public static DemotingHashTable WorldMapRegion_cachedSprites; + @ObfuscatedName("gk") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("headIconPrayerSprites") + static Sprite[] headIconPrayerSprites; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1498517863 + ) + @Export("regionX") + int regionX; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1147165053 + ) + @Export("regionY") + int regionY; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lw;" + ) + @Export("worldMapData_0") + WorldMapData_0 worldMapData_0; + @ObfuscatedName("y") + @Export("worldMapData1List") + LinkedList worldMapData1List; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1662535699 + ) + @Export("backgroundColor") + int backgroundColor; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1749313949 + ) + @Export("pixelsPerTile") + int pixelsPerTile; + @ObfuscatedName("b") + @Export("icon0List") + List icon0List; + @ObfuscatedName("o") + @Export("iconMap") + HashMap iconMap; + @ObfuscatedName("a") + @Export("fonts") + final HashMap fonts; + + static { + WorldMapRegion_cachedSprites = new DemotingHashTable(37748736, 256); + } + + WorldMapRegion(int var1, int var2, int var3, HashMap var4) { + this.regionX = var1; + this.regionY = var2; + this.worldMapData1List = new LinkedList(); + this.icon0List = new LinkedList(); + this.iconMap = new HashMap(); + this.backgroundColor = var3 | -16777216; + this.fonts = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIB)V", + garbageValue = "-65" + ) + void method441(int var1, int var2, int var3) { + int var5 = this.regionX; + int var6 = this.regionY; + int var7 = this.pixelsPerTile; + Sprite var4 = (Sprite)WorldMapRegion_cachedSprites.get(SecureRandomCallable.method1165(var5, var6, var7)); + if (var4 != null) { + if (var3 == this.pixelsPerTile * 64) { + var4.drawAt(var1, var2); + } else { + var4.drawScaledWorldmap(var1, var2, var3, var3); + } + + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lw;Ljava/util/List;I)V", + garbageValue = "934044689" + ) + @Export("initWorldMapData0") + void initWorldMapData0(WorldMapData_0 var1, List var2) { + this.iconMap.clear(); + this.worldMapData_0 = var1; + this.addAllToIconList(var2); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Ljava/util/HashSet;Ljava/util/List;S)V", + garbageValue = "-12839" + ) + @Export("initWorldMapData1") + void initWorldMapData1(HashSet var1, List var2) { + this.iconMap.clear(); + Iterator var3 = var1.iterator(); + + while (var3.hasNext()) { + WorldMapData_1 var4 = (WorldMapData_1)var3.next(); + if (var4.getRegionX() == this.regionX && var4.getRegionY() == this.regionY) { + this.worldMapData1List.add(var4); + } + } + + this.addAllToIconList(var2); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(IIIILf;B)V", + garbageValue = "16" + ) + @Export("getIconsForTiles") + void getIconsForTiles(int var1, int var2, int var3, int var4, AbstractWorldMapData var5) { + for (int var6 = var1; var6 < var3 + var1; ++var6) { + label73: + for (int var7 = var2; var7 < var2 + var4; ++var7) { + for (int var8 = 0; var8 < var5.planes; ++var8) { + WorldMapDecoration[] var9 = var5.decorations[var8][var6][var7]; + if (var9 != null && var9.length != 0) { + WorldMapDecoration[] var10 = var9; + + for (int var11 = 0; var11 < var10.length; ++var11) { + ObjectDefinition var13; + boolean var14; + label64: { + WorldMapDecoration var12 = var10[var11]; + var13 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var12.objectDefinitionId); + if (var13.transforms != null) { + int[] var15 = var13.transforms; + + for (int var16 = 0; var16 < var15.length; ++var16) { + int var17 = var15[var16]; + ObjectDefinition var18 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var17); + if (var18.mapIconId != -1) { + var14 = true; + break label64; + } + } + } else if (var13.mapIconId != -1) { + var14 = true; + break label64; + } + + var14 = false; + } + + if (var14) { + this.getIcon(var13, var8, var6, var7, var5); + continue label73; + } + } + } + } + } + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(Liz;IIILf;I)V", + garbageValue = "-1603765403" + ) + @Export("getIcon") + void getIcon(ObjectDefinition var1, int var2, int var3, int var4, AbstractWorldMapData var5) { + Coord var6 = new Coord(var2, var3 + this.regionX * 64, this.regionY * 64 + var4); + Coord var7 = null; + if (this.worldMapData_0 != null) { + var7 = new Coord(this.worldMapData_0.minPlane + var2, var3 + this.worldMapData_0.regionXLow * 4096, var4 + this.worldMapData_0.regionYLow * 64); + } else { + WorldMapData_1 var8 = (WorldMapData_1)var5; + var7 = new Coord(var2 + var8.minPlane, var8.regionXLow * 4096 + var3 + var8.getChunkXLow() * 8, var8.regionYLow * 64 + var4 + var8.getChunkYLow() * 8); + } + + Object var10; + if (var1.transforms != null) { + var10 = new WorldMapIcon_1(var7, var6, var1.id, this); + } else { + WorldMapElement var9 = Decimator.WorldMapElement_get(var1.mapIconId); + var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9)); + } + + this.iconMap.put(new Coord(0, var3, var4), var10); + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2006660895" + ) + @Export("initWorldMapIcon1s") + void initWorldMapIcon1s() { + Iterator var1 = this.iconMap.values().iterator(); + + while (var1.hasNext()) { + AbstractWorldMapIcon var2 = (AbstractWorldMapIcon)var1.next(); + if (var2 instanceof WorldMapIcon_1) { + ((WorldMapIcon_1)var2).init(); + } + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Ljava/util/List;I)V", + garbageValue = "-831141503" + ) + @Export("addAllToIconList") + void addAllToIconList(List var1) { + Iterator var2 = var1.iterator(); + + while (var2.hasNext()) { + WorldMapIcon_0 var3 = (WorldMapIcon_0)var2.next(); + if (var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) { + WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method470(var3.element)); + this.icon0List.add(var4); + } + } + + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2077260689" + ) + void method448() { + if (this.worldMapData_0 != null) { + this.worldMapData_0.reset(); + } else { + Iterator var1 = this.worldMapData1List.iterator(); + + while (var1.hasNext()) { + WorldMapData_1 var2 = (WorldMapData_1)var1.next(); + var2.reset(); + } + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Lhp;I)Z", + garbageValue = "1582385284" + ) + @Export("loadGeography") + boolean loadGeography(AbstractArchive var1) { + this.iconMap.clear(); + if (this.worldMapData_0 != null) { + this.worldMapData_0.loadGeography(var1); + if (this.worldMapData_0.isFullyLoaded()) { + this.getIconsForTiles(0, 0, 64, 64, this.worldMapData_0); + return true; + } else { + return false; + } + } else { + boolean var2 = true; + + Iterator var3; + WorldMapData_1 var4; + for (var3 = this.worldMapData1List.iterator(); var3.hasNext(); var2 &= var4.isFullyLoaded()) { + var4 = (WorldMapData_1)var3.next(); + var4.loadGeography(var1); + } + + if (var2) { + var3 = this.worldMapData1List.iterator(); + + while (var3.hasNext()) { + var4 = (WorldMapData_1)var3.next(); + this.getIconsForTiles(var4.getChunkX() * 8, var4.getChunkY() * 8, 8, 8, var4); + } + } + + return var2; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(ILak;[Llp;Lhp;Lhp;I)V", + garbageValue = "1768425388" + ) + @Export("drawTile") + void drawTile(int var1, class40 var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) { + this.pixelsPerTile = var1; + if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) { + int var7 = this.regionX; + int var8 = this.regionY; + Sprite var6 = (Sprite)WorldMapRegion_cachedSprites.get(SecureRandomCallable.method1165(var7, var8, var1)); + if (var6 == null) { + boolean var9 = true; + var9 &= this.loadGeography(var4); + int var11; + if (this.worldMapData_0 != null) { + var11 = this.worldMapData_0.groupId; + } else { + var11 = ((AbstractWorldMapData)this.worldMapData1List.getFirst()).groupId; + } + + var9 &= var5.tryLoadGroup(var11); + if (var9) { + byte[] var10 = var5.takeFileFlat(var11); + WorldMapSprite var12; + if (var10 == null) { + var12 = new WorldMapSprite(); + } else { + var12 = new WorldMapSprite(class40.convertJpgToSprite(var10).pixels); + } + + Sprite var14 = new Sprite(this.pixelsPerTile * 64, this.pixelsPerTile * 64); + var14.setRaster(); + if (this.worldMapData_0 != null) { + this.method543(var2, var3, var12); + } else { + this.method454(var2, var3, var12); + } + + int var15 = this.regionX; + int var16 = this.regionY; + int var17 = this.pixelsPerTile; + WorldMapRegion_cachedSprites.put(var14, SecureRandomCallable.method1165(var15, var16, var17), var14.pixels.length * 4); + this.method448(); + } + } + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(IIILjava/util/HashSet;B)V", + garbageValue = "62" + ) + void method451(int var1, int var2, int var3, HashSet var4) { + if (var4 == null) { + var4 = new HashSet(); + } + + this.drawNonLinkMapIcons(var1, var2, var4, var3); + this.drawMapLinks(var1, var2, var4, var3); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(Ljava/util/HashSet;III)V", + garbageValue = "-1219088991" + ) + @Export("flashElements") + void flashElements(HashSet var1, int var2, int var3) { + Iterator var4 = this.iconMap.values().iterator(); + + while (var4.hasNext()) { + AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); + if (var5.hasValidElement()) { + int var6 = var5.getElement(); + if (var1.contains(var6)) { + WorldMapElement var7 = Decimator.WorldMapElement_get(var6); + this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, var2, var3); + } + } + } + + this.method462(var1, var2, var3); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(Lak;[Llp;Laz;I)V", + garbageValue = "-2022635387" + ) + void method543(class40 var1, IndexedSprite[] var2, WorldMapSprite var3) { + int var4; + int var5; + for (var4 = 0; var4 < 64; ++var4) { + for (var5 = 0; var5 < 64; ++var5) { + this.drawTileGround(var4, var5, this.worldMapData_0, var1, var3); + this.method457(var4, var5, this.worldMapData_0, var1); + } + } + + for (var4 = 0; var4 < 64; ++var4) { + for (var5 = 0; var5 < 64; ++var5) { + this.method455(var4, var5, this.worldMapData_0, var1, var2); + } + } + + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + signature = "(Lak;[Llp;Laz;B)V", + garbageValue = "70" + ) + void method454(class40 var1, IndexedSprite[] var2, WorldMapSprite var3) { + Iterator var4 = this.worldMapData1List.iterator(); + + WorldMapData_1 var5; + int var6; + int var7; + while (var4.hasNext()) { + var5 = (WorldMapData_1)var4.next(); + + for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { + for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { + this.drawTileGround(var6, var7, var5, var1, var3); + this.method457(var6, var7, var5, var1); + } + } + } + + var4 = this.worldMapData1List.iterator(); + + while (var4.hasNext()) { + var5 = (WorldMapData_1)var4.next(); + + for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { + for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { + this.method455(var6, var7, var5, var1, var2); + } + } + } + + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(IILf;Lak;[Llp;I)V", + garbageValue = "-1519610368" + ) + void method455(int var1, int var2, AbstractWorldMapData var3, class40 var4, IndexedSprite[] var5) { + this.method460(var1, var2, var3); + this.method521(var1, var2, var3, var5); + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(IILf;Lak;Laz;I)V", + garbageValue = "-1375655341" + ) + @Export("drawTileGround") + void drawTileGround(int var1, int var2, AbstractWorldMapData var3, class40 var4, WorldMapSprite var5) { + int var6 = var3.floorUnderlayIds[0][var1][var2] - 1; + int var7 = var3.floorOverlayIds[0][var1][var2] - 1; + if (var6 == -1 && var7 == -1) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.backgroundColor); + } + + int var8 = 16711935; + int var9; + if (var7 != -1) { + int var10 = this.backgroundColor; + FloorOverlayDefinition var12 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var7); + FloorOverlayDefinition var11; + if (var12 != null) { + var11 = var12; + } else { + byte[] var13 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var7); + var12 = new FloorOverlayDefinition(); + if (var13 != null) { + var12.decode(new Buffer(var13), var7); + } + + var12.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var12, (long)var7); + var11 = var12; + } + + if (var11 == null) { + var9 = var10; + } else if (var11.secondaryRgb >= 0) { + var9 = var11.secondaryRgb | -16777216; + } else { + int var14; + byte var15; + int var17; + int var18; + if (var11.texture >= 0) { + var14 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var11.texture); + var15 = 96; + if (var14 == -2) { + var17 = 12345678; + } else if (var14 == -1) { + if (var15 < 0) { + var15 = 0; + } else if (var15 > 127) { + var15 = 127; + } + + var18 = 127 - var15; + var17 = var18; + } else { + var18 = var15 * (var14 & 127) / 128; + if (var18 < 2) { + var18 = 2; + } else if (var18 > 126) { + var18 = 126; + } + + var17 = var18 + (var14 & 65408); + } + + var9 = Rasterizer3D.Rasterizer3D_colorPalette[var17] | -16777216; + } else if (var11.primaryRgb == 16711935) { + var9 = var10; + } else { + var17 = class65.method1245(var11.hue, var11.saturation, var11.lightness); + var15 = 96; + if (var17 == -2) { + var14 = 12345678; + } else if (var17 == -1) { + if (var15 < 0) { + var15 = 0; + } else if (var15 > 127) { + var15 = 127; + } + + var18 = 127 - var15; + var14 = var18; + } else { + var18 = var15 * (var17 & 127) / 128; + if (var18 < 2) { + var18 = 2; + } else if (var18 > 126) { + var18 = 126; + } + + var14 = var18 + (var17 & 65408); + } + + var9 = Rasterizer3D.Rasterizer3D_colorPalette[var14] | -16777216; + } + } + + var8 = var9; + } + + if (var7 > -1 && var3.field164[0][var1][var2] == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); + } else { + var9 = this.method458(var1, var2, var3, var5); + if (var7 == -1) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); + } else { + var4.method751(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field164[0][var1][var2], var3.field152[0][var1][var2]); + } + } + } + + @ObfuscatedName("f") + @ObfuscatedSignature( + signature = "(IILf;Lak;B)V", + garbageValue = "1" + ) + void method457(int var1, int var2, AbstractWorldMapData var3, class40 var4) { + for (int var5 = 1; var5 < var3.planes; ++var5) { + int var6 = var3.floorOverlayIds[var5][var1][var2] - 1; + if (var6 > -1) { + int var8 = this.backgroundColor; + FloorOverlayDefinition var10 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var6); + FloorOverlayDefinition var9; + if (var10 != null) { + var9 = var10; + } else { + byte[] var11 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var6); + var10 = new FloorOverlayDefinition(); + if (var11 != null) { + var10.decode(new Buffer(var11), var6); + } + + var10.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var10, (long)var6); + var9 = var10; + } + + int var7; + if (var9 == null) { + var7 = var8; + } else if (var9.secondaryRgb >= 0) { + var7 = var9.secondaryRgb | -16777216; + } else { + int var12; + byte var13; + int var16; + int var17; + if (var9.texture >= 0) { + var12 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var9.texture); + var13 = 96; + if (var12 == -2) { + var16 = 12345678; + } else if (var12 == -1) { + if (var13 < 0) { + var13 = 0; + } else if (var13 > 127) { + var13 = 127; + } + + var17 = 127 - var13; + var16 = var17; + } else { + var17 = var13 * (var12 & 127) / 128; + if (var17 < 2) { + var17 = 2; + } else if (var17 > 126) { + var17 = 126; + } + + var16 = var17 + (var12 & 65408); + } + + var7 = Rasterizer3D.Rasterizer3D_colorPalette[var16] | -16777216; + } else if (var9.primaryRgb == 16711935) { + var7 = var8; + } else { + var16 = class65.method1245(var9.hue, var9.saturation, var9.lightness); + var13 = 96; + if (var16 == -2) { + var12 = 12345678; + } else if (var16 == -1) { + if (var13 < 0) { + var13 = 0; + } else if (var13 > 127) { + var13 = 127; + } + + var17 = 127 - var13; + var12 = var17; + } else { + var17 = var13 * (var16 & 127) / 128; + if (var17 < 2) { + var17 = 2; + } else if (var17 > 126) { + var17 = 126; + } + + var12 = var17 + (var16 & 65408); + } + + var7 = Rasterizer3D.Rasterizer3D_colorPalette[var12] | -16777216; + } + } + + if (var3.field164[var5][var1][var2] == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7); + } else { + var4.method751(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field164[var5][var1][var2], var3.field152[var5][var1][var2]); + } + } + } + + } + + @ObfuscatedName("j") + @ObfuscatedSignature( + signature = "(IILf;Laz;B)I", + garbageValue = "-62" + ) + int method458(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { + return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(IILf;[Llp;I)V", + garbageValue = "-1752440652" + ) + void method521(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) { + for (int var5 = 0; var5 < var3.planes; ++var5) { + WorldMapDecoration[] var6 = var3.decorations[var5][var1][var2]; + if (var6 != null && var6.length != 0) { + WorldMapDecoration[] var7 = var6; + + for (int var8 = 0; var8 < var7.length; ++var8) { + WorldMapDecoration var9 = var7[var8]; + if (!Strings.method4079(var9.decoration)) { + int var11 = var9.decoration; + boolean var10 = var11 == WorldMapDecorationType.field2721.id; + if (!var10) { + continue; + } + } + + ObjectDefinition var12 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var9.objectDefinitionId); + if (var12.mapSceneId != -1) { + if (var12.mapSceneId != 46 && var12.mapSceneId != 52) { + var4[var12.mapSceneId].method6019(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); + } else { + var4[var12.mapSceneId].method6019(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); + } + } + } + } + } + + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(IILf;B)V", + garbageValue = "-71" + ) + void method460(int var1, int var2, AbstractWorldMapData var3) { + for (int var4 = 0; var4 < var3.planes; ++var4) { + WorldMapDecoration[] var5 = var3.decorations[var4][var1][var2]; + if (var5 != null && var5.length != 0) { + WorldMapDecoration[] var6 = var5; + + for (int var7 = 0; var7 < var6.length; ++var7) { + WorldMapDecoration var8 = var6[var7]; + int var10 = var8.decoration; + boolean var9 = var10 >= WorldMapDecorationType.field2710.id && var10 <= WorldMapDecorationType.field2702.id || var10 == WorldMapDecorationType.field2708.id; + if (var9) { + ObjectDefinition var11 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var8.objectDefinitionId); + int var12 = var11.int1 != 0 ? -3407872 : -3355444; + if (var8.decoration == WorldMapDecorationType.field2710.id) { + this.method474(var1, var2, var8.rotation, var12); + } + + if (var8.decoration == WorldMapDecorationType.field2701.id) { + this.method474(var1, var2, var8.rotation, -3355444); + this.method474(var1, var2, var8.rotation + 1, var12); + } + + if (var8.decoration == WorldMapDecorationType.field2702.id) { + if (var8.rotation == 0) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 1, var12); + } + + if (var8.rotation == 1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2), 1, var12); + } + + if (var8.rotation == 2) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var12); + } + + if (var8.rotation == 3) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var12); + } + } + + if (var8.decoration == WorldMapDecorationType.field2708.id) { + int var13 = var8.rotation % 2; + int var14; + if (var13 == 0) { + for (var14 = 0; var14 < this.pixelsPerTile; ++var14) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var14 + this.pixelsPerTile * var1, (64 - var2) * this.pixelsPerTile - 1 - var14, 1, var12); + } + } else { + for (var14 = 0; var14 < this.pixelsPerTile; ++var14) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var14 + this.pixelsPerTile * var1, var14 + this.pixelsPerTile * (63 - var2), 1, var12); + } + } + } + } + } + } + } + + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + signature = "(IILjava/util/HashSet;II)V", + garbageValue = "-2102994892" + ) + @Export("drawNonLinkMapIcons") + void drawNonLinkMapIcons(int var1, int var2, HashSet var3, int var4) { + float var5 = (float)var4 / 64.0F; + float var6 = var5 / 2.0F; + Iterator var7 = this.iconMap.entrySet().iterator(); + + while (var7.hasNext()) { + Entry var8 = (Entry)var7.next(); + Coord var9 = (Coord)var8.getKey(); + int var10 = (int)((float)var1 + var5 * (float)var9.x - var6); + int var11 = (int)((float)(var2 + var4) - var5 * (float)var9.y - var6); + AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue(); + if (var12 != null && var12.hasValidElement()) { + var12.screenX = var10; + var12.screenY = var11; + WorldMapElement var13 = Decimator.WorldMapElement_get(var12.getElement()); + if (!var3.contains(var13.getObjectId())) { + this.method464(var12, var10, var11, var5); + } + } + } + + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + signature = "(Ljava/util/HashSet;III)V", + garbageValue = "1749313949" + ) + void method462(HashSet var1, int var2, int var3) { + Iterator var4 = this.icon0List.iterator(); + + while (var4.hasNext()) { + AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); + if (var5.hasValidElement()) { + WorldMapElement var6 = Decimator.WorldMapElement_get(var5.getElement()); + if (var6 != null && var1.contains(var6.getObjectId())) { + this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3); + } + } + } + + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + signature = "(Lij;IIIII)V", + garbageValue = "-828139741" + ) + @Export("drawBackgroundCircle") + void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) { + Sprite var6 = var1.getSpriteBool(false); + if (var6 != null) { + var6.drawTransBgAt(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2); + if (var4 % var5 < var5 / 2) { + Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 16776960, 128); + Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 16777215, 256); + } + + } + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + signature = "(Las;IIFI)V", + garbageValue = "-1297733559" + ) + void method464(AbstractWorldMapIcon var1, int var2, int var3, float var4) { + WorldMapElement var5 = Decimator.WorldMapElement_get(var1.getElement()); + this.method546(var5, var2, var3); + this.method553(var1, var5, var2, var3, var4); + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + signature = "(Lij;III)V", + garbageValue = "972289630" + ) + void method546(WorldMapElement var1, int var2, int var3) { + Sprite var4 = var1.getSpriteBool(false); + if (var4 != null) { + int var5 = this.method468(var4, var1.horizontalAlignment); + int var6 = this.method480(var4, var1.verticalAlignment); + var4.drawTransBgAt(var5 + var2, var3 + var6); + } + + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + signature = "(Las;Lij;IIFB)V", + garbageValue = "-47" + ) + void method553(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { + WorldMapLabel var6 = var1.getLabel(); + if (var6 != null) { + if (var6.size.method198(var5)) { + Font var7 = (Font)this.fonts.get(var6.size); + var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3195, 0, 1, 0, var7.ascent / 2); + } + } + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + signature = "(IILjava/util/HashSet;II)V", + garbageValue = "786229933" + ) + @Export("drawMapLinks") + void drawMapLinks(int var1, int var2, HashSet var3, int var4) { + float var5 = (float)var4 / 64.0F; + Iterator var6 = this.icon0List.iterator(); + + while (var6.hasNext()) { + AbstractWorldMapIcon var7 = (AbstractWorldMapIcon)var6.next(); + if (var7.hasValidElement()) { + int var8 = var7.coord2.x % 64; + int var9 = var7.coord2.y % 64; + var7.screenX = (int)(var5 * (float)var8 + (float)var1); + var7.screenY = (int)((float)var2 + (float)(63 - var9) * var5); + if (!var3.contains(var7.getElement())) { + this.method464(var7, var7.screenX, var7.screenY, var5); + } + } + } + + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(Llf;Lin;I)I", + garbageValue = "864808689" + ) + int method468(Sprite var1, HorizontalAlignment var2) { + switch(var2.value) { + case 1: + return 0; + case 2: + return -var1.subWidth / 2; + default: + return -var1.subWidth; + } + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "(Llf;Lim;I)I", + garbageValue = "-1390115279" + ) + int method480(Sprite var1, VerticalAlignment var2) { + switch(var2.value) { + case 0: + return 0; + case 2: + return -var1.subHeight / 2; + default: + return -var1.subHeight; + } + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + signature = "(IB)Law;", + garbageValue = "101" + ) + WorldMapLabel method470(int var1) { + WorldMapElement var2 = Decimator.WorldMapElement_get(var1); + return this.createMapLabel(var2); + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + signature = "(Lij;I)Law;", + garbageValue = "1073905876" + ) + @Export("createMapLabel") + WorldMapLabel createMapLabel(WorldMapElement var1) { + if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { + int var3 = var1.textSize; + WorldMapLabelSize[] var4 = WorldMapLabelSize.method196(); + int var5 = 0; + + WorldMapLabelSize var2; + while (true) { + if (var5 >= var4.length) { + var2 = null; + break; + } + + WorldMapLabelSize var6 = var4[var5]; + if (var3 == var6.field108) { + var2 = var6; + break; + } + + ++var5; + } + + if (var2 == null) { + return null; + } else { + Font var14 = (Font)this.fonts.get(var2); + if (var14 == null) { + return null; + } else { + int var15 = var14.lineCount(var1.name, 1000000); + String[] var7 = new String[var15]; + var14.breakLines(var1.name, (int[])null, var7); + int var8 = var7.length * var14.ascent / 2; + int var9 = 0; + String[] var10 = var7; + + for (int var11 = 0; var11 < var10.length; ++var11) { + String var12 = var10[var11]; + int var13 = var14.stringWidth(var12); + if (var13 > var9) { + var9 = var13; + } + } + + return new WorldMapLabel(var1.name, var9, var8, var2); + } + } + } else { + return null; + } + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(IIIIII)Ljava/util/List;", + garbageValue = "1652888752" + ) + List method472(int var1, int var2, int var3, int var4, int var5) { + LinkedList var6 = new LinkedList(); + if (var4 >= var1 && var5 >= var2) { + if (var4 < var3 + var1 && var5 < var3 + var2) { + Iterator var7 = this.iconMap.values().iterator(); + + AbstractWorldMapIcon var8; + while (var7.hasNext()) { + var8 = (AbstractWorldMapIcon)var7.next(); + if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { + var6.add(var8); + } + } + + var7 = this.icon0List.iterator(); + + while (var7.hasNext()) { + var8 = (AbstractWorldMapIcon)var7.next(); + if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { + var6.add(var8); + } + } + + return var6; + } else { + return var6; + } + } else { + return var6; + } + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + signature = "(I)Ljava/util/List;", + garbageValue = "-1073519222" + ) + @Export("icons") + List icons() { + LinkedList var1 = new LinkedList(); + var1.addAll(this.icon0List); + var1.addAll(this.iconMap.values()); + return var1; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-1671492545" + ) + void method474(int var1, int var2, int var3, int var4) { + var3 %= 4; + if (var3 == 0) { + Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); + } + + if (var3 == 1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); + } + + if (var3 == 2) { + Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); + } + + if (var3 == 3) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, this.pixelsPerTile, var4); + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;II)Lgk;", + garbageValue = "-470288420" + ) + static MusicPatch method519(AbstractArchive var0, int var1) { + byte[] var2 = var0.takeFileFlat(var1); + return var2 == null ? null : new MusicPatch(var2); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;II)Ljava/io/File;", + garbageValue = "2074983607" + ) + @Export("getCacheDir") + public static File getCacheDir(String var0, String var1, int var2) { + String var3 = var2 == 0 ? "" : "" + var2; + JagexCache.JagexCache_locationFile = new File(JagexCache.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var3 + ".dat"); + String var4 = null; + String var5 = null; + boolean var6 = false; + Buffer var8; + int var11; + File var27; + if (JagexCache.JagexCache_locationFile.exists()) { + try { + AccessFile var7 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); + + int var9; + for (var8 = new Buffer((int)var7.length()); var8.offset < var8.array.length; var8.offset += var9) { + var9 = var7.read(var8.array, var8.offset, var8.array.length - var8.offset); + if (var9 == -1) { + throw new IOException(); + } + } + + var8.offset = 0; + var9 = var8.readUnsignedByte(); + if (var9 < 1 || var9 > 3) { + throw new IOException("" + var9); + } + + int var10 = 0; + if (var9 > 1) { + var10 = var8.readUnsignedByte(); + } + + if (var9 <= 2) { + var4 = var8.readStringCp1252NullCircumfixed(); + if (var10 == 1) { + var5 = var8.readStringCp1252NullCircumfixed(); + } + } else { + var4 = var8.readCESU8(); + if (var10 == 1) { + var5 = var8.readCESU8(); + } + } + + var7.close(); + } catch (IOException var25) { + var25.printStackTrace(); + } + + if (var4 != null) { + var27 = new File(var4); + if (!var27.exists()) { + var4 = null; + } + } + + if (var4 != null) { + var27 = new File(var4, "test.dat"); + + boolean var28; + try { + RandomAccessFile var15 = new RandomAccessFile(var27, "rw"); + var11 = var15.read(); + var15.seek(0L); + var15.write(var11); + var15.seek(0L); + var15.close(); + var27.delete(); + var28 = true; + } catch (Exception var23) { + var28 = false; + } + + if (!var28) { + var4 = null; + } + } + } + + if (var4 == null && var2 == 0) { + label159: + for (int var16 = 0; var16 < class266.field3537.length; ++var16) { + for (int var17 = 0; var17 < UserComparator4.field1948.length; ++var17) { + File var18 = new File(UserComparator4.field1948[var17] + class266.field3537[var16] + File.separatorChar + var0 + File.separatorChar); + if (var18.exists()) { + File var19 = new File(var18, "test.dat"); + + boolean var29; + try { + RandomAccessFile var12 = new RandomAccessFile(var19, "rw"); + int var13 = var12.read(); + var12.seek(0L); + var12.write(var13); + var12.seek(0L); + var12.close(); + var19.delete(); + var29 = true; + } catch (Exception var22) { + var29 = false; + } + + if (var29) { + var4 = var18.toString(); + var6 = true; + break label159; + } + } + } + } + } + + if (var4 == null) { + var4 = JagexCache.userHomeDirectory + File.separatorChar + "jagexcache" + var3 + File.separatorChar + var0 + File.separatorChar + var1 + File.separatorChar; + var6 = true; + } + + File var26; + if (var5 != null) { + var26 = new File(var5); + var27 = new File(var4); + + try { + File[] var33 = var26.listFiles(); + File[] var31 = var33; + + for (var11 = 0; var11 < var31.length; ++var11) { + File var30 = var31[var11]; + File var20 = new File(var27, var30.getName()); + boolean var14 = var30.renameTo(var20); + if (!var14) { + throw new IOException(); + } + } + } catch (Exception var24) { + var24.printStackTrace(); + } + + var6 = true; + } + + if (var6) { + var26 = new File(var4); + var8 = null; + + try { + AccessFile var34 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); + Buffer var32 = new Buffer(500); + var32.writeByte(3); + var32.writeByte(var8 != null ? 1 : 0); + var32.writeCESU8(var26.getPath()); + if (var8 != null) { + var32.writeCESU8(""); + } + + var34.write(var32.array, 0, var32.offset); + var34.close(); + } catch (IOException var21) { + var21.printStackTrace(); + } + } + + return new File(var4); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "1776528190" + ) + static int method506(int var0, Script var1, boolean var2) { + Widget var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class2.method30(class2.getWidgetClickMask(var3)); + return 1; + } else if (var0 != ScriptOpcodes.IF_GETOP) { + if (var0 == ScriptOpcodes.IF_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; + } + + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } +} diff --git a/runescape-client/src/main/java/WorldMapSection.java b/runescape-client/src/main/java/WorldMapSection.java index cb09da1d12..45ef5cdae7 100644 --- a/runescape-client/src/main/java/WorldMapSection.java +++ b/runescape-client/src/main/java/WorldMapSection.java @@ -1,56 +1,56 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ab") -@Implements("WorldMapSection") -public interface WorldMapSection { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lag;S)V", - garbageValue = "32767" - ) - @Export("expandBounds") - void expandBounds(WorldMapArea var1); - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIII)Z", - garbageValue = "950167825" - ) - @Export("containsCoord") - boolean containsCoord(int var1, int var2, int var3); - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1510325414" - ) - @Export("containsPosition") - boolean containsPosition(int var1, int var2); - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "-771447481" - ) - @Export("getBorderTileLengths") - int[] getBorderTileLengths(int var1, int var2, int var3); - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIB)Lhj;", - garbageValue = "0" - ) - @Export("coord") - Coord coord(int var1, int var2); - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1954302512" - ) - @Export("read") - void read(Buffer var1); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ad") +@Implements("WorldMapSection") +public interface WorldMapSection { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lac;I)V", + garbageValue = "2098672163" + ) + @Export("expandBounds") + void expandBounds(WorldMapArea var1); + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "-327883108" + ) + @Export("containsCoord") + boolean containsCoord(int var1, int var2, int var3); + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-1535371561" + ) + @Export("containsPosition") + boolean containsPosition(int var1, int var2); + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIII)[I", + garbageValue = "-1322751923" + ) + @Export("getBorderTileLengths") + int[] getBorderTileLengths(int var1, int var2, int var3); + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)Lhb;", + garbageValue = "1439979703" + ) + @Export("coord") + Coord coord(int var1, int var2); + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-99" + ) + @Export("read") + void read(Buffer var1); +} diff --git a/runescape-client/src/main/java/WorldMapSection0.java b/runescape-client/src/main/java/WorldMapSection0.java index 757d9cb614..6e5a90a7f9 100644 --- a/runescape-client/src/main/java/WorldMapSection0.java +++ b/runescape-client/src/main/java/WorldMapSection0.java @@ -1,534 +1,280 @@ -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; -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("r") -@Implements("WorldMapSection0") -public class WorldMapSection0 implements WorldMapSection { - @ObfuscatedName("nk") - @ObfuscatedGetter( - intValue = 1085609153 - ) - static int field138; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1571530289 - ) - @Export("oldZ") - int oldZ; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -533649473 - ) - @Export("newZ") - int newZ; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1995731449 - ) - @Export("oldX") - int oldX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1062766317 - ) - @Export("oldY") - int oldY; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 808366011 - ) - @Export("newX") - int newX; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1027119805 - ) - @Export("newY") - int newY; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1967666529 - ) - @Export("oldChunkXLow") - int oldChunkXLow; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1161504373 - ) - @Export("oldChunkYLow") - int oldChunkYLow; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1572226723 - ) - @Export("oldChunkXHigh") - int oldChunkXHigh; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 487863769 - ) - @Export("oldChunkYHigh") - int oldChunkYHigh; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -997364423 - ) - @Export("newChunkXLow") - int newChunkXLow; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 743905469 - ) - @Export("newChunkYLow") - int newChunkYLow; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1996633981 - ) - @Export("newChunkXHigh") - int newChunkXHigh; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -2013114443 - ) - @Export("newChunkYHigh") - int newChunkYHigh; - - WorldMapSection0() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lag;S)V", - garbageValue = "32767" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.newX) { - var1.regionLowX = this.newX; - } - - if (var1.regionHighX < this.newX) { - var1.regionHighX = this.newX; - } - - if (var1.regionLowY > this.newY) { - var1.regionLowY = this.newY; - } - - if (var1.regionHighY < this.newY) { - var1.regionHighY = this.newY; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIII)Z", - garbageValue = "950167825" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.oldZ && var1 < this.newZ + this.oldZ) { - return var2 >= (this.oldX << 6) + (this.oldChunkXLow << 3) && var2 <= (this.oldX << 6) + (this.oldChunkXHigh << 3) + 7 && var3 >= (this.oldY << 6) + (this.oldChunkYLow << 3) && var3 <= (this.oldY << 6) + (this.oldChunkYHigh << 3) + 7; - } else { - return false; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1510325414" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >= (this.newX << 6) + (this.newChunkXLow << 3) && var1 <= (this.newX << 6) + (this.newChunkXHigh << 3) + 7 && var2 >= (this.newY << 6) + (this.newChunkYLow << 3) && var2 <= (this.newY << 6) + (this.newChunkYHigh << 3) + 7; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "-771447481" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { - return null; - } else { - int[] var4 = new int[]{this.newX * 64 - this.oldX * 64 + var2 + (this.newChunkXLow * 8 - this.oldChunkXLow * 8), var3 + (this.newY * 64 - this.oldY * 64) + (this.newChunkYLow * 8 - this.oldChunkYLow * 8)}; - return var4; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIB)Lhj;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { - return null; - } else { - int var3 = this.oldX * 64 - this.newX * 64 + (this.oldChunkXLow * 8 - this.newChunkXLow * 8) + var1; - int var4 = this.oldY * 64 - this.newY * 64 + var2 + (this.oldChunkYLow * 8 - this.newChunkYLow * 8); - return new Coord(this.oldZ, var3, var4); - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1954302512" - ) - @Export("read") - public void read(Buffer var1) { - this.oldZ = var1.readUnsignedByte(); - this.newZ = var1.readUnsignedByte(); - this.oldX = var1.readUnsignedShort(); - this.oldChunkXLow = var1.readUnsignedByte(); - this.oldChunkXHigh = var1.readUnsignedByte(); - this.oldY = var1.readUnsignedShort(); - this.oldChunkYLow = var1.readUnsignedByte(); - this.oldChunkYHigh = var1.readUnsignedByte(); - this.newX = var1.readUnsignedShort(); - this.newChunkXLow = var1.readUnsignedByte(); - this.newChunkXHigh = var1.readUnsignedByte(); - this.newY = var1.readUnsignedShort(); - this.newChunkYLow = var1.readUnsignedByte(); - this.newChunkYHigh = var1.readUnsignedByte(); - this.postRead(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2040631149" - ) - @Export("postRead") - void postRead() { - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkt;I)V", - garbageValue = "-2023027273" - ) - @Export("performReflectionCheck") - public static void performReflectionCheck(PacketBuffer var0) { - ReflectionCheck var1 = (ReflectionCheck)class96.reflectionChecks.last(); - if (var1 != null) { - int var2 = var0.offset; - var0.writeInt(var1.id); - - for (int var3 = 0; var3 < var1.size; ++var3) { - if (var1.creationErrors[var3] != 0) { - var0.writeByte(var1.creationErrors[var3]); - } else { - try { - int var4 = var1.operations[var3]; - Field var5; - int var6; - if (var4 == 0) { - var5 = var1.fields[var3]; - var6 = Reflection.getInt(var5, (Object)null); - var0.writeByte(0); - var0.writeInt(var6); - } else if (var4 == 1) { - var5 = var1.fields[var3]; - Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]); - var0.writeByte(0); - } else if (var4 == 2) { - var5 = var1.fields[var3]; - var6 = var5.getModifiers(); - var0.writeByte(0); - var0.writeInt(var6); - } - - Method var25; - if (var4 != 3) { - if (var4 == 4) { - var25 = var1.methods[var3]; - var6 = var25.getModifiers(); - var0.writeByte(0); - var0.writeInt(var6); - } - } else { - var25 = var1.methods[var3]; - byte[][] var10 = var1.arguments[var3]; - Object[] var7 = new Object[var10.length]; - - for (int var8 = 0; var8 < var10.length; ++var8) { - ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8])); - var7[var8] = var9.readObject(); - } - - Object var11 = Reflection.invoke(var25, (Object)null, var7); - if (var11 == null) { - var0.writeByte(0); - } else if (var11 instanceof Number) { - var0.writeByte(1); - var0.writeLong(((Number)var11).longValue()); - } else if (var11 instanceof String) { - var0.writeByte(2); - var0.writeStringCp1252NullTerminated((String)var11); - } else { - var0.writeByte(4); - } - } - } 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); - } - } - } - - var0.writeCrc(var2); - var1.remove(); - } - } - - @ObfuscatedName("ia") - @ObfuscatedSignature( - signature = "(Lhy;III)V", - garbageValue = "-2015033366" - ) - static final void method217(Widget var0, int var1, int var2) { - if (var0.buttonType == 1) { - FontName.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); - } - - String var3; - if (var0.buttonType == 2 && !Client.isSpellSelected) { - var3 = class16.method165(var0); - if (var3 != null) { - FontName.insertMenuItemNoShift(var3, UserComparator7.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); - } - } - - if (var0.buttonType == 3) { - FontName.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); - } - - if (var0.buttonType == 4) { - FontName.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); - } - - if (var0.buttonType == 5) { - FontName.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); - } - - if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) { - FontName.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); - } - - int var4; - int var5; - int var15; - if (var0.type == 2) { - var15 = 0; - - for (var4 = 0; var4 < var0.height; ++var4) { - for (var5 = 0; var5 < var0.width; ++var5) { - int var6 = (var0.paddingX + 32) * var5; - int var7 = (var0.paddingY + 32) * var4; - if (var15 < 20) { - var6 += var0.inventoryXOffsets[var15]; - var7 += var0.inventoryYOffsets[var15]; - } - - if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { - Client.dragItemSlotDestination = var15; - World.field996 = var0; - if (var0.itemIds[var15] > 0) { - ItemDefinition var8 = Player.ItemDefinition_get(var0.itemIds[var15] - 1); - if (Client.isItemSelected == 1 && MilliClock.method3432(class60.getWidgetClickMask(var0))) { - if (var0.id != MusicPatchPcmStream.selectedItemWidget || var15 != ModelData0.selectedItemSlot) { - FontName.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + UserComparator7.colorStartTag(16748608) + var8.name, 31, var8.id, var15, var0.id); - } - } else if (Client.isSpellSelected && MilliClock.method3432(class60.getWidgetClickMask(var0))) { - if ((BuddyRankComparator.selectedSpellFlags & 16) == 16) { - FontName.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + UserComparator7.colorStartTag(16748608) + var8.name, 32, var8.id, var15, var0.id); - } - } else { - String[] var9 = var8.inventoryActions; - int var10 = -1; - boolean var11; - if (Client.shiftClickDrop) { - var11 = Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; - if (var11) { - var10 = var8.getShiftClickIndex(); - } - } - - if (MilliClock.method3432(class60.getWidgetClickMask(var0))) { - for (int var20 = 4; var20 >= 3; --var20) { - if (var10 != var20) { - ScriptEvent.addWidgetItemMenuItem(var0, var8, var15, var20, false); - } - } - } - - int var12 = class60.getWidgetClickMask(var0); - var11 = (var12 >> 31 & 1) != 0; - if (var11) { - FontName.insertMenuItemNoShift("Use", UserComparator7.colorStartTag(16748608) + var8.name, 38, var8.id, var15, var0.id); - } - - Object var10000 = null; - int var13; - if (MilliClock.method3432(class60.getWidgetClickMask(var0))) { - for (var13 = 2; var13 >= 0; --var13) { - if (var10 != var13) { - ScriptEvent.addWidgetItemMenuItem(var0, var8, var15, var13, false); - } - } - - if (var10 >= 0) { - ScriptEvent.addWidgetItemMenuItem(var0, var8, var15, var10, true); - } - } - - var9 = var0.itemActions; - if (var9 != null) { - for (var13 = 4; var13 >= 0; --var13) { - if (var9[var13] != null) { - byte var14 = 0; - if (var13 == 0) { - var14 = 39; - } - - if (var13 == 1) { - var14 = 40; - } - - if (var13 == 2) { - var14 = 41; - } - - if (var13 == 3) { - var14 = 42; - } - - if (var13 == 4) { - var14 = 43; - } - - FontName.insertMenuItemNoShift(var9[var13], UserComparator7.colorStartTag(16748608) + var8.name, var14, var8.id, var15, var0.id); - } - } - } - - FontName.insertMenuItemNoShift("Examine", UserComparator7.colorStartTag(16748608) + var8.name, 1005, var8.id, var15, var0.id); - } - } - } - - ++var15; - } - } - } - - if (var0.isIf3) { - if (Client.isSpellSelected) { - var4 = class60.getWidgetClickMask(var0); - boolean var21 = (var4 >> 21 & 1) != 0; - if (var21 && (BuddyRankComparator.selectedSpellFlags & 32) == 32) { - FontName.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); - } - } else { - for (var15 = 9; var15 >= 5; --var15) { - String var16; - if (!class210.method3951(class60.getWidgetClickMask(var0), var15) && var0.onOp == null) { - var16 = null; - } else if (var0.actions != null && var0.actions.length > var15 && var0.actions[var15] != null && var0.actions[var15].trim().length() != 0) { - var16 = var0.actions[var15]; - } else { - var16 = null; - } - - if (var16 != null) { - FontName.insertMenuItemNoShift(var16, var0.dataText, 1007, var15 + 1, var0.childIndex, var0.id); - } - } - - var3 = class16.method165(var0); - if (var3 != null) { - FontName.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); - } - - for (var4 = 4; var4 >= 0; --var4) { - String var17; - if (!class210.method3951(class60.getWidgetClickMask(var0), var4) && var0.onOp == null) { - var17 = null; - } else if (var0.actions != null && var0.actions.length > var4 && var0.actions[var4] != null && var0.actions[var4].trim().length() != 0) { - var17 = var0.actions[var4]; - } else { - var17 = null; - } - - if (var17 != null) { - Decimator.insertMenuItem(var17, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.field2680); - } - } - - var5 = class60.getWidgetClickMask(var0); - boolean var19 = (var5 & 1) != 0; - if (var19) { - FontName.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); - } - } - } - - } - - @ObfuscatedName("jv") - @ObfuscatedSignature( - signature = "(IS)Z", - garbageValue = "250" - ) - static boolean method216(int var0) { - for (int var1 = 0; var1 < Client.field844; ++var1) { - if (Client.field846[var1] == var0) { - return true; - } - } - - return false; - } -} +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("h") +@Implements("WorldMapSection0") +public class WorldMapSection0 implements WorldMapSection { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1037587117 + ) + @Export("oldZ") + int oldZ; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1930448807 + ) + @Export("newZ") + int newZ; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 686443425 + ) + @Export("oldX") + int oldX; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -542760431 + ) + @Export("oldY") + int oldY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 543857047 + ) + @Export("newX") + int newX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -386033045 + ) + @Export("newY") + int newY; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1004209975 + ) + @Export("oldChunkXLow") + int oldChunkXLow; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 645797773 + ) + @Export("oldChunkYLow") + int oldChunkYLow; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -478007643 + ) + @Export("oldChunkXHigh") + int oldChunkXHigh; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 940484663 + ) + @Export("oldChunkYHigh") + int oldChunkYHigh; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1473412629 + ) + @Export("newChunkXLow") + int newChunkXLow; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1495103355 + ) + @Export("newChunkYLow") + int newChunkYLow; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1947965675 + ) + @Export("newChunkXHigh") + int newChunkXHigh; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 627288657 + ) + @Export("newChunkYHigh") + int newChunkYHigh; + + WorldMapSection0() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lac;I)V", + garbageValue = "2098672163" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.newX) { + var1.regionLowX = this.newX; + } + + if (var1.regionHighX < this.newX) { + var1.regionHighX = this.newX; + } + + if (var1.regionLowY > this.newY) { + var1.regionLowY = this.newY; + } + + if (var1.regionHighY < this.newY) { + var1.regionHighY = this.newY; + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "-327883108" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.oldZ && var1 < this.oldZ + this.newZ) { + return var2 >= (this.oldX << 6) + (this.oldChunkXLow << 3) && var2 <= (this.oldX << 6) + (this.oldChunkXHigh << 3) + 7 && var3 >= (this.oldY << 6) + (this.oldChunkYLow << 3) && var3 <= (this.oldY << 6) + (this.oldChunkYHigh << 3) + 7; + } else { + return false; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-1535371561" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >= (this.newX << 6) + (this.newChunkXLow << 3) && var1 <= (this.newX << 6) + (this.newChunkXHigh << 3) + 7 && var2 >= (this.newY << 6) + (this.newChunkYLow << 3) && var2 <= (this.newY << 6) + (this.newChunkYHigh << 3) + 7; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIII)[I", + garbageValue = "-1322751923" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.newX * 64 - this.oldX * 64 + var2 + (this.newChunkXLow * 8 - this.oldChunkXLow * 8), var3 + (this.newY * 64 - this.oldY * 64) + (this.newChunkYLow * 8 - this.oldChunkYLow * 8)}; + return var4; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)Lhb;", + garbageValue = "1439979703" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.oldX * 64 - this.newX * 64 + (this.oldChunkXLow * 8 - this.newChunkXLow * 8) + var1; + int var4 = this.oldY * 64 - this.newY * 64 + var2 + (this.oldChunkYLow * 8 - this.newChunkYLow * 8); + return new Coord(this.oldZ, var3, var4); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-99" + ) + @Export("read") + public void read(Buffer var1) { + this.oldZ = var1.readUnsignedByte(); + this.newZ = var1.readUnsignedByte(); + this.oldX = var1.readUnsignedShort(); + this.oldChunkXLow = var1.readUnsignedByte(); + this.oldChunkXHigh = var1.readUnsignedByte(); + this.oldY = var1.readUnsignedShort(); + this.oldChunkYLow = var1.readUnsignedByte(); + this.oldChunkYHigh = var1.readUnsignedByte(); + this.newX = var1.readUnsignedShort(); + this.newChunkXLow = var1.readUnsignedByte(); + this.newChunkXHigh = var1.readUnsignedByte(); + this.newY = var1.readUnsignedShort(); + this.newChunkYLow = var1.readUnsignedByte(); + this.newChunkYHigh = var1.readUnsignedByte(); + this.postRead(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1221797110" + ) + @Export("postRead") + void postRead() { + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)Z", + garbageValue = "1193049266" + ) + public static boolean method249(int var0) { + return (var0 >> 29 & 1) != 0; + } + + @ObfuscatedName("fh") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)V", + garbageValue = "1698246852" + ) + @Export("doCheat") + static final void doCheat(String var0) { + if (var0.equalsIgnoreCase("toggleroof")) { + AbstractArchive.clientPreferences.roofsHidden = !AbstractArchive.clientPreferences.roofsHidden; + Language.savePreferences(); + if (AbstractArchive.clientPreferences.roofsHidden) { + class210.addGameMessage(99, "", "Roofs are now all hidden"); + } else { + class210.addGameMessage(99, "", "Roofs will only be removed selectively"); + } + } + + if (var0.equalsIgnoreCase("displayfps")) { + Client.displayFps = !Client.displayFps; + } + + if (var0.equalsIgnoreCase("renderself")) { + Client.renderSelf = !Client.renderSelf; + } + + if (var0.equalsIgnoreCase("mouseovertext")) { + Client.showMouseOverText = !Client.showMouseOverText; + } + + if (Client.staffModLevel >= 2) { + if (var0.equalsIgnoreCase("errortest")) { + throw new RuntimeException(); + } + + if (var0.equalsIgnoreCase("showcoord")) { + Tiles.worldMap.showCoord = !Tiles.worldMap.showCoord; + } + + if (var0.equalsIgnoreCase("fpson")) { + Client.displayFps = true; + } + + if (var0.equalsIgnoreCase("fpsoff")) { + Client.displayFps = false; + } + + if (var0.equalsIgnoreCase("gc")) { + System.gc(); + } + + if (var0.equalsIgnoreCase("clientdrop")) { + MouseRecorder.method1213(); + } + } + + PacketBufferNode var1 = InterfaceParent.getPacketBufferNode(ClientPacket.field2201, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(var0.length() + 1); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } +} diff --git a/runescape-client/src/main/java/WorldMapSection1.java b/runescape-client/src/main/java/WorldMapSection1.java index ccb11edc6a..d9ae83e79a 100644 --- a/runescape-client/src/main/java/WorldMapSection1.java +++ b/runescape-client/src/main/java/WorldMapSection1.java @@ -1,239 +1,365 @@ -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("ad") -@Implements("WorldMapSection1") -public class WorldMapSection1 implements WorldMapSection { - @ObfuscatedName("ra") - @ObfuscatedGetter( - intValue = -1957533263 - ) - static int field285; - @ObfuscatedName("cy") - @Export("mouseCam") - static boolean mouseCam; - @ObfuscatedName("ej") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive20") - static Archive archive20; - @ObfuscatedName("ek") - @ObfuscatedGetter( - intValue = 1031385521 - ) - @Export("port1") - static int port1; - @ObfuscatedName("gk") - @ObfuscatedGetter( - intValue = -2034428449 - ) - static int field286; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1694999719 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1331792243 - ) - @Export("planes") - int planes; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -37279275 - ) - @Export("regionStartX") - int regionStartX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 2016686439 - ) - @Export("regionStartY") - int regionStartY; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1812547009 - ) - @Export("regionEndX") - int regionEndX; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1750083521 - ) - @Export("regionEndY") - int regionEndY; - - WorldMapSection1() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lag;S)V", - garbageValue = "32767" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.regionEndX) { - var1.regionLowX = this.regionEndX; - } - - if (var1.regionHighX < this.regionEndX) { - var1.regionHighX = this.regionEndX; - } - - if (var1.regionLowY > this.regionEndY) { - var1.regionLowY = this.regionEndY; - } - - if (var1.regionHighY < this.regionEndY) { - var1.regionHighY = this.regionEndY; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIII)Z", - garbageValue = "950167825" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { - return var2 >> 6 == this.regionStartX && var3 >> 6 == this.regionStartY; - } else { - return false; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1510325414" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >> 6 == this.regionEndX && var2 >> 6 == this.regionEndY; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "-771447481" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { - return null; - } else { - int[] var4 = new int[]{this.regionEndX * 64 - this.regionStartX * 64 + var2, var3 + (this.regionEndY * 64 - this.regionStartY * 64)}; - return var4; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIB)Lhj;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { - return null; - } else { - int var3 = this.regionStartX * 64 - this.regionEndX * 64 + var1; - int var4 = this.regionStartY * 64 - this.regionEndY * 64 + var2; - return new Coord(this.minPlane, var3, var4); - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1954302512" - ) - @Export("read") - public void read(Buffer var1) { - this.minPlane = var1.readUnsignedByte(); - this.planes = var1.readUnsignedByte(); - this.regionStartX = var1.readUnsignedShort(); - this.regionStartY = var1.readUnsignedShort(); - this.regionEndX = var1.readUnsignedShort(); - this.regionEndY = var1.readUnsignedShort(); - this.postRead(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-197052473" - ) - @Export("postRead") - void postRead() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Liu;", - garbageValue = "837782921" - ) - @Export("WorldMapElement_get") - public static WorldMapElement WorldMapElement_get(int var0) { - return var0 >= 0 && var0 < WorldMapElement.WorldMapElement_cached.length && WorldMapElement.WorldMapElement_cached[var0] != null ? WorldMapElement.WorldMapElement_cached[var0] : new WorldMapElement(var0); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "544666683" - ) - public static int method539(int var0, int var1) { - int var2; - for (var2 = 0; var1 > 0; --var1) { - var2 = var2 << 1 | var0 & 1; - var0 >>>= 1; - } - - return var2; - } - - @ObfuscatedName("ho") - @ObfuscatedSignature( - signature = "(IIB)V", - garbageValue = "20" - ) - @Export("resumePauseWidget") - static void resumePauseWidget(int var0, int var1) { - PacketBufferNode var2 = MenuAction.getPacketBufferNode(ClientPacket.field2276, Client.packetWriter.isaacCipher); - var2.packetBuffer.writeIntLE16(var0); - var2.packetBuffer.method5500(var1); - Client.packetWriter.addNode(var2); - } - - @ObfuscatedName("iu") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lhy;I)Ljava/lang/String;", - garbageValue = "1800929391" - ) - static String method551(String var0, Widget var1) { - if (var0.indexOf("%") != -1) { - for (int var2 = 1; var2 <= 5; ++var2) { - while (true) { - int var3 = var0.indexOf("%" + var2); - if (var3 == -1) { - break; - } - - var0 = var0.substring(0, var3) + class81.method2032(class286.method5218(var1, var2 - 1)) + var0.substring(var3 + 2); - } - } - } - - return var0; - } -} +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("ax") +@Implements("WorldMapSection1") +public class WorldMapSection1 implements WorldMapSection { + @ObfuscatedName("bj") + @ObfuscatedSignature( + signature = "Lli;" + ) + @Export("loginType") + static LoginType loginType; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -202088829 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 844746677 + ) + @Export("planes") + int planes; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 577078223 + ) + @Export("regionStartX") + int regionStartX; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -98820949 + ) + @Export("regionStartY") + int regionStartY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1420932505 + ) + @Export("regionEndX") + int regionEndX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1812674669 + ) + @Export("regionEndY") + int regionEndY; + + WorldMapSection1() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lac;I)V", + garbageValue = "2098672163" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.regionEndX) { + var1.regionLowX = this.regionEndX; + } + + if (var1.regionHighX < this.regionEndX) { + var1.regionHighX = this.regionEndX; + } + + if (var1.regionLowY > this.regionEndY) { + var1.regionLowY = this.regionEndY; + } + + if (var1.regionHighY < this.regionEndY) { + var1.regionHighY = this.regionEndY; + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "-327883108" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { + return var2 >> 6 == this.regionStartX && var3 >> 6 == this.regionStartY; + } else { + return false; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-1535371561" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >> 6 == this.regionEndX && var2 >> 6 == this.regionEndY; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIII)[I", + garbageValue = "-1322751923" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.regionEndX * 64 - this.regionStartX * 64 + var2, var3 + (this.regionEndY * 64 - this.regionStartY * 64)}; + return var4; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)Lhb;", + garbageValue = "1439979703" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.regionStartX * 64 - this.regionEndX * 64 + var1; + int var4 = this.regionStartY * 64 - this.regionEndY * 64 + var2; + return new Coord(this.minPlane, var3, var4); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-99" + ) + @Export("read") + public void read(Buffer var1) { + this.minPlane = var1.readUnsignedByte(); + this.planes = var1.readUnsignedByte(); + this.regionStartX = var1.readUnsignedShort(); + this.regionStartY = var1.readUnsignedShort(); + this.regionEndX = var1.readUnsignedShort(); + this.regionEndY = var1.readUnsignedShort(); + this.postRead(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1580543944" + ) + @Export("postRead") + void postRead() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;ZLkn;I)V", + garbageValue = "956714191" + ) + public static void method608(AbstractArchive var0, AbstractArchive var1, boolean var2, Font var3) { + ItemDefinition.ItemDefinition_archive = var0; + ItemDefinition.ItemDefinition_modelArchive = var1; + class162.ItemDefinition_inMembersWorld = var2; + JagexCache.ItemDefinition_fileCount = ItemDefinition.ItemDefinition_archive.getGroupFileCount(10); + FaceNormal.ItemDefinition_fontPlain11 = var3; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Lcu;", + garbageValue = "-1499115361" + ) + static Script method591(int var0, int var1) { + Script var2 = (Script)Script.Script_cached.get((long)(var0 << 16)); + if (var2 != null) { + return var2; + } else { + String var3 = String.valueOf(var0); + int var4 = GrandExchangeOfferOwnWorldComparator.archive12.getGroupId(var3); + if (var4 == -1) { + return null; + } else { + byte[] var5 = GrandExchangeOfferOwnWorldComparator.archive12.takeFileFlat(var4); + if (var5 != null) { + if (var5.length <= 1) { + return null; + } + + var2 = class3.newScript(var5); + if (var2 != null) { + Script.Script_cached.put(var2, (long)(var0 << 16)); + return var2; + } + } + + return null; + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1323185906" + ) + public static final void method582(int var0, int var1) { + ViewportMouse.ViewportMouse_x = var0; + ViewportMouse.ViewportMouse_y = var1; + ViewportMouse.ViewportMouse_isInViewport = true; + ViewportMouse.ViewportMouse_entityCount = 0; + ViewportMouse.ViewportMouse_false0 = false; + } + + @ObfuscatedName("gx") + @ObfuscatedSignature( + signature = "(IIIIIIIIIB)V", + garbageValue = "-11" + ) + @Export("updatePendingSpawn") + static final void updatePendingSpawn(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + PendingSpawn var9 = null; + + for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) { + var9 = var10; + break; + } + } + + if (var9 == null) { + var9 = new PendingSpawn(); + var9.plane = var0; + var9.type = var3; + var9.x = var1; + var9.y = var2; + GrandExchangeEvent.method88(var9); + Client.pendingSpawns.addFirst(var9); + } + + var9.id = var4; + var9.field916 = var5; + var9.orientation = var6; + var9.delay = var7; + var9.hitpoints = var8; + } + + @ObfuscatedName("hd") + @ObfuscatedSignature( + signature = "(IIIILjava/lang/String;B)V", + garbageValue = "31" + ) + static void method605(int var0, int var1, int var2, int var3, String var4) { + Widget var5 = GrandExchangeOfferWorldComparator.getWidgetChild(var1, var2); + if (var5 != null) { + if (var5.onOp != null) { + ScriptEvent var6 = new ScriptEvent(); + var6.widget = var5; + var6.opIndex = var0; + var6.targetName = var4; + var6.args = var5.onOp; + ParamDefinition.runScriptEvent(var6); + } + + boolean var11 = true; + if (var5.contentType > 0) { + var11 = class43.method840(var5); + } + + if (var11) { + int var8 = class2.getWidgetClickMask(var5); + int var9 = var0 - 1; + boolean var7 = (var8 >> var9 + 1 & 1) != 0; + if (var7) { + PacketBufferNode var10; + if (var0 == 1) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2244, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 2) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2249, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 3) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2257, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 4) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2194, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 5) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2204, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 6) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2200, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 7) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2251, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 8) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2203, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 9) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2213, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + if (var0 == 10) { + var10 = InterfaceParent.getPacketBufferNode(ClientPacket.field2285, Client.packetWriter.isaacCipher); + var10.packetBuffer.writeInt(var1); + var10.packetBuffer.writeShort(var2); + var10.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var10); + } + + } + } + } + } +} diff --git a/runescape-client/src/main/java/WorldMapSection2.java b/runescape-client/src/main/java/WorldMapSection2.java index 5a821f322a..2e10a5fee8 100644 --- a/runescape-client/src/main/java/WorldMapSection2.java +++ b/runescape-client/src/main/java/WorldMapSection2.java @@ -1,328 +1,292 @@ -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("a") -@Implements("WorldMapSection2") -public class WorldMapSection2 implements WorldMapSection { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1621014075 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 95944325 - ) - @Export("planes") - int planes; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 328290097 - ) - @Export("regionStartX") - int regionStartX; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1641271017 - ) - @Export("regionStartY") - int regionStartY; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 116585611 - ) - @Export("regionEndX") - int regionEndX; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -711757521 - ) - @Export("regionEndY") - int regionEndY; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -2106568339 - ) - int field188; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -337977875 - ) - int field194; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1222985831 - ) - int field192; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 117453229 - ) - int field197; - - WorldMapSection2() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lag;S)V", - garbageValue = "32767" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.field188) { - var1.regionLowX = this.field188; - } - - if (var1.regionHighX < this.field192) { - var1.regionHighX = this.field192; - } - - if (var1.regionLowY > this.field194) { - var1.regionLowY = this.field194; - } - - if (var1.regionHighY < this.field197) { - var1.regionHighY = this.field197; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIII)Z", - garbageValue = "950167825" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.minPlane && var1 < this.minPlane + this.planes) { - return var2 >> 6 >= this.regionStartX && var2 >> 6 <= this.regionEndX && var3 >> 6 >= this.regionStartY && var3 >> 6 <= this.regionEndY; - } else { - return false; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1510325414" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >> 6 >= this.field188 && var1 >> 6 <= this.field192 && var2 >> 6 >= this.field194 && var2 >> 6 <= this.field197; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "-771447481" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { - return null; - } else { - int[] var4 = new int[]{this.field188 * 64 - this.regionStartX * 64 + var2, var3 + (this.field194 * 64 - this.regionStartY * 64)}; - return var4; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIB)Lhj;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { - return null; - } else { - int var3 = this.regionStartX * 64 - this.field188 * 64 + var1; - int var4 = this.regionStartY * 64 - this.field194 * 64 + var2; - return new Coord(this.minPlane, var3, var4); - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1954302512" - ) - @Export("read") - public void read(Buffer var1) { - this.minPlane = var1.readUnsignedByte(); - this.planes = var1.readUnsignedByte(); - this.regionStartX = var1.readUnsignedShort(); - this.regionStartY = var1.readUnsignedShort(); - this.regionEndX = var1.readUnsignedShort(); - this.regionEndY = var1.readUnsignedShort(); - this.field188 = var1.readUnsignedShort(); - this.field194 = var1.readUnsignedShort(); - this.field192 = var1.readUnsignedShort(); - this.field197 = var1.readUnsignedShort(); - this.postRead(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1220546976" - ) - @Export("postRead") - void postRead() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-2084291439" - ) - public static int method300() { - return ViewportMouse.ViewportMouse_entityCount; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "542891198" - ) - static final void method283(String var0) { - WorldMapCacheName.addGameMessage(30, "", var0); - } - - @ObfuscatedName("fi") - @ObfuscatedSignature( - signature = "(Lbe;B)V", - garbageValue = "-68" - ) - static final void method299(Actor var0) { - int var1 = var0.field963 - Client.cycle; - int var2 = var0.field959 * 128 + var0.size * 64; - int var3 = var0.field961 * 128 + var0.size * 64; - var0.x += (var2 - -78439701 * var0.x) / var1 * 62504387; - var0.y += (var3 - var0.y) / var1; - var0.field975 = 0; - var0.orientation = var0.field965; - } - - @ObfuscatedName("gp") - @ObfuscatedSignature( - signature = "(IIZI)V", - garbageValue = "882857989" - ) - static final void method301(int var0, int var1, boolean var2) { - if (!var2 || var0 != FloorDecoration.field1585 || ReflectionCheck.field1303 != var1) { - FloorDecoration.field1585 = var0; - ReflectionCheck.field1303 = var1; - WorldMapIcon_0.updateGameState(25); - GZipDecompressor.drawLoadingMessage("Loading - please wait.", true); - int var3 = class4.baseX * 64; - int var4 = ScriptEvent.baseY; - class4.baseX = (var0 - 6) * 8; - ScriptEvent.baseY = (var1 - 6) * 167776904; - int var5 = class4.baseX * 64 - var3; - int var6 = ScriptEvent.baseY - var4; - var3 = class4.baseX * 64; - var4 = ScriptEvent.baseY; - - int var7; - int var9; - int[] var10000; - for (var7 = 0; var7 < 32768; ++var7) { - NPC var8 = Client.npcs[var7]; - if (var8 != null) { - for (var9 = 0; var9 < 10; ++var9) { - var10000 = var8.pathX; - var10000[var9] -= var5; - var10000 = var8.pathY; - var10000[var9] -= var6; - } - - var8.x -= var5 * -589373056; - var8.y -= var6 * 128; - } - } - - for (var7 = 0; var7 < 2048; ++var7) { - Player var21 = Client.players[var7]; - if (var21 != null) { - for (var9 = 0; var9 < 10; ++var9) { - var10000 = var21.pathX; - var10000[var9] -= var5; - var10000 = var21.pathY; - var10000[var9] -= var6; - } - - var21.x -= var5 * -589373056; - var21.y -= var6 * 128; - } - } - - byte var20 = 0; - byte var18 = 104; - byte var22 = 1; - if (var5 < 0) { - var20 = 103; - var18 = -1; - var22 = -1; - } - - byte var10 = 0; - byte var11 = 104; - byte var12 = 1; - if (var6 < 0) { - var10 = 103; - var11 = -1; - var12 = -1; - } - - int var14; - for (int var13 = var20; var13 != var18; var13 += var22) { - for (var14 = var10; var14 != var11; var14 += var12) { - int var15 = var13 + var5; - int var16 = var14 + var6; - - for (int var17 = 0; var17 < 4; ++var17) { - if (var15 >= 0 && var16 >= 0 && var15 < 104 && var16 < 104) { - Client.groundItems[var17][var13][var14] = Client.groundItems[var17][var15][var16]; - } else { - Client.groundItems[var17][var13][var14] = null; - } - } - } - } - - for (PendingSpawn var19 = (PendingSpawn)Client.pendingSpawns.last(); var19 != null; var19 = (PendingSpawn)Client.pendingSpawns.previous()) { - var19.x -= var5; - var19.y -= var6; - if (var19.x < 0 || var19.y < 0 || var19.x >= 104 || var19.y >= 104) { - var19.remove(); - } - } - - if (Client.destinationX != 0) { - Client.destinationX -= var5; - Client.destinationY -= var6; - } - - Client.soundEffectCount = 0; - Client.isCameraLocked = false; - ScriptFrame.cameraX -= var5 << 7; - class14.cameraZ -= var6 << 7; - SecureRandomFuture.oculusOrbFocalPointX -= var5 << 7; - AbstractByteArrayCopier.oculusOrbFocalPointY -= var6 << 7; - Client.field848 = -1; - Client.graphicsObjects.clear(); - Client.projectiles.clear(); - - for (var14 = 0; var14 < 4; ++var14) { - Client.collisionMaps[var14].clear(); - } - - } - } -} +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.ScriptOpcodes; + +@ObfuscatedName("l") +@Implements("WorldMapSection2") +public class WorldMapSection2 implements WorldMapSection { + @ObfuscatedName("go") + @ObfuscatedGetter( + intValue = -963712193 + ) + static int field195; + @ObfuscatedName("hn") + @ObfuscatedGetter( + intValue = -4402151 + ) + @Export("cameraYaw") + static int cameraYaw; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -879876937 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -208083253 + ) + @Export("planes") + int planes; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -940491027 + ) + @Export("regionStartX") + int regionStartX; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1613337015 + ) + @Export("regionStartY") + int regionStartY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1112500481 + ) + @Export("regionEndX") + int regionEndX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1241448217 + ) + @Export("regionEndY") + int regionEndY; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1756578177 + ) + int field191; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1979201453 + ) + int field192; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -783213001 + ) + int field193; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 634589909 + ) + int field196; + + WorldMapSection2() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lac;I)V", + garbageValue = "2098672163" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.field191) { + var1.regionLowX = this.field191; + } + + if (var1.regionHighX < this.field193) { + var1.regionHighX = this.field193; + } + + if (var1.regionLowY > this.field192) { + var1.regionLowY = this.field192; + } + + if (var1.regionHighY < this.field196) { + var1.regionHighY = this.field196; + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "-327883108" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { + return var2 >> 6 >= this.regionStartX && var2 >> 6 <= this.regionEndX && var3 >> 6 >= this.regionStartY && var3 >> 6 <= this.regionEndY; + } else { + return false; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-1535371561" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >> 6 >= this.field191 && var1 >> 6 <= this.field193 && var2 >> 6 >= this.field192 && var2 >> 6 <= this.field196; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIII)[I", + garbageValue = "-1322751923" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.field191 * 64 - this.regionStartX * 64 + var2, var3 + (this.field192 * 64 - this.regionStartY * 64)}; + return var4; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)Lhb;", + garbageValue = "1439979703" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.regionStartX * 64 - this.field191 * 64 + var1; + int var4 = this.regionStartY * 64 - this.field192 * 64 + var2; + return new Coord(this.minPlane, var3, var4); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-99" + ) + @Export("read") + public void read(Buffer var1) { + this.minPlane = var1.readUnsignedByte(); + this.planes = var1.readUnsignedByte(); + this.regionStartX = var1.readUnsignedShort(); + this.regionStartY = var1.readUnsignedShort(); + this.regionEndX = var1.readUnsignedShort(); + this.regionEndY = var1.readUnsignedShort(); + this.field191 = var1.readUnsignedShort(); + this.field192 = var1.readUnsignedShort(); + this.field193 = var1.readUnsignedShort(); + this.field196 = var1.readUnsignedShort(); + this.postRead(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-3" + ) + @Export("postRead") + void postRead() { + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-1894474277" + ) + static int method342(int var0, Script var1, boolean var2) { + int var3; + int var4; + if (var0 == ScriptOpcodes.CC_CREATE) { + Interpreter.Interpreter_intStackSize -= 3; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + if (var4 == 0) { + throw new RuntimeException(); + } else { + Widget var6 = Canvas.getWidget(var3); + if (var6.children == null) { + var6.children = new Widget[var5 + 1]; + } + + if (var6.children.length <= var5) { + Widget[] var7 = new Widget[var5 + 1]; + + for (int var8 = 0; var8 < var6.children.length; ++var8) { + var7[var8] = var6.children[var8]; + } + + var6.children = var7; + } + + if (var5 > 0 && var6.children[var5 - 1] == null) { + throw new RuntimeException("" + (var5 - 1)); + } else { + Widget var12 = new Widget(); + var12.type = var4; + var12.parentId = var12.id = var6.id; + var12.childIndex = var5; + var12.isIf3 = true; + var6.children[var5] = var12; + if (var2) { + GrandExchangeOfferAgeComparator.field76 = var12; + } else { + KitDefinition.field3252 = var12; + } + + WorldMapSectionType.invalidateWidget(var6); + return 1; + } + } + } else { + Widget var9; + if (var0 == ScriptOpcodes.CC_DELETE) { + var9 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + Widget var10 = Canvas.getWidget(var9.id); + var10.children[var9.childIndex] = null; + WorldMapSectionType.invalidateWidget(var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_DELETEALL) { + var9 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var9.children = null; + WorldMapSectionType.invalidateWidget(var9); + return 1; + } else if (var0 != ScriptOpcodes.CC_FIND) { + if (var0 == ScriptOpcodes.IF_FIND) { + var9 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var9 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + if (var2) { + GrandExchangeOfferAgeComparator.field76 = var9; + } else { + KitDefinition.field3252 = var9; + } + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Widget var11 = GrandExchangeOfferWorldComparator.getWidgetChild(var3, var4); + if (var11 != null && var4 != -1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + if (var2) { + GrandExchangeOfferAgeComparator.field76 = var11; + } else { + KitDefinition.field3252 = var11; + } + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } +} diff --git a/runescape-client/src/main/java/WorldMapSectionType.java b/runescape-client/src/main/java/WorldMapSectionType.java index 29e6a1e243..0d01151707 100644 --- a/runescape-client/src/main/java/WorldMapSectionType.java +++ b/runescape-client/src/main/java/WorldMapSectionType.java @@ -1,141 +1,106 @@ -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("k") -@Implements("WorldMapSectionType") -public enum WorldMapSectionType implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lk;" - ) - @Export("WORLDMAPSECTIONTYPE0") - WORLDMAPSECTIONTYPE0(2, (byte)0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lk;" - ) - @Export("WORLDMAPSECTIONTYPE1") - WORLDMAPSECTIONTYPE1(0, (byte)1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lk;" - ) - @Export("WORLDMAPSECTIONTYPE2") - WORLDMAPSECTIONTYPE2(3, (byte)2), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lk;" - ) - @Export("WORLDMAPSECTIONTYPE3") - WORLDMAPSECTIONTYPE3(1, (byte)3); - - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1030094683 - ) - @Export("type") - final int type; - @ObfuscatedName("u") - @Export("id") - final byte id; - - WorldMapSectionType(int var3, byte var4) { - this.type = var3; - this.id = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "53" - ) - public static void method220() { - synchronized(KeyHandler.KeyHandler_instance) { - ++KeyHandler.KeyHandler_idleCycles; - KeyHandler.field381 = KeyHandler.field383; - KeyHandler.field380 = 0; - int var1; - if (KeyHandler.field366 < 0) { - for (var1 = 0; var1 < 112; ++var1) { - KeyHandler.KeyHandler_pressedKeys[var1] = false; - } - - KeyHandler.field366 = KeyHandler.field375; - } else { - while (KeyHandler.field375 != KeyHandler.field366) { - var1 = KeyHandler.field369[KeyHandler.field375]; - KeyHandler.field375 = KeyHandler.field375 + 1 & 127; - if (var1 < 0) { - KeyHandler.KeyHandler_pressedKeys[~var1] = false; - } else { - if (!KeyHandler.KeyHandler_pressedKeys[var1] && KeyHandler.field380 < KeyHandler.field379.length - 1) { - KeyHandler.field379[++KeyHandler.field380 - 1] = var1; - } - - KeyHandler.KeyHandler_pressedKeys[var1] = true; - } - } - } - - if (KeyHandler.field380 > 0) { - KeyHandler.KeyHandler_idleCycles = 0; - } - - KeyHandler.field383 = KeyHandler.field382; - } - } - - @ObfuscatedName("fr") - @ObfuscatedSignature( - signature = "(Liw;IIIB)V", - garbageValue = "3" - ) - @Export("addSequenceSoundEffect") - static void addSequenceSoundEffect(SequenceDefinition var0, int var1, int var2, int var3) { - if (Client.soundEffectCount < 50 && Client.field860 != 0) { - if (var0.soundEffects != null && var1 < var0.soundEffects.length) { - int var4 = var0.soundEffects[var1]; - if (var4 != 0) { - int var5 = var4 >> 8; - int var6 = var4 >> 4 & 7; - int var7 = var4 & 15; - Client.soundEffectIds[Client.soundEffectCount] = var5; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0; - Client.soundEffects[Client.soundEffectCount] = null; - int var8 = (var2 - 64) / 128; - int var9 = (var3 - 64) / 128; - Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16); - ++Client.soundEffectCount; - } - } - } - } - - @ObfuscatedName("kb") - @ObfuscatedSignature( - signature = "(IS)V", - garbageValue = "1024" - ) - static void method224(int var0) { - for (IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.first(); var1 != null; var1 = (IntegerNode)Client.widgetClickMasks.next()) { - if ((long)var0 == (var1.key >> 48 & 65535L)) { - var1.remove(); - } - } - - } -} +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("s") +@Implements("WorldMapSectionType") +public enum WorldMapSectionType implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ls;" + ) + @Export("WORLDMAPSECTIONTYPE0") + WORLDMAPSECTIONTYPE0(0, (byte)0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Ls;" + ) + @Export("WORLDMAPSECTIONTYPE1") + WORLDMAPSECTIONTYPE1(3, (byte)1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Ls;" + ) + @Export("WORLDMAPSECTIONTYPE2") + WORLDMAPSECTIONTYPE2(2, (byte)2), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Ls;" + ) + @Export("WORLDMAPSECTIONTYPE3") + WORLDMAPSECTIONTYPE3(1, (byte)3); + + @ObfuscatedName("c") + @Export("musicTrackBoolean") + public static boolean musicTrackBoolean; + @ObfuscatedName("bk") + static String field150; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 19347147 + ) + @Export("type") + final int type; + @ObfuscatedName("p") + @Export("id") + final byte id; + + WorldMapSectionType(int var3, byte var4) { + this.type = var3; + this.id = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("jf") + @ObfuscatedSignature( + signature = "(Lho;I)V", + garbageValue = "529400812" + ) + @Export("invalidateWidget") + static void invalidateWidget(Widget var0) { + if (var0.cycle == Client.field638) { + Client.field841[var0.rootIndex] = true; + } + + } + + @ObfuscatedName("ks") + @ObfuscatedSignature( + signature = "(Lho;B)Z", + garbageValue = "7" + ) + @Export("isComponentHidden") + static boolean isComponentHidden(Widget var0) { + return var0.isHidden; + } + + @ObfuscatedName("kj") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "-1617760184" + ) + static String method250(String var0) { + PlayerType[] var1 = class226.PlayerType_values(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + PlayerType var3 = var1[var2]; + if (var3.modIcon != -1 && var0.startsWith(class247.method4443(var3.modIcon))) { + var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); + break; + } + } + + return var0; + } +} diff --git a/runescape-client/src/main/java/WorldMapSprite.java b/runescape-client/src/main/java/WorldMapSprite.java index d8b9aeb2b4..8a2bfc618c 100644 --- a/runescape-client/src/main/java/WorldMapSprite.java +++ b/runescape-client/src/main/java/WorldMapSprite.java @@ -1,151 +1,181 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("at") -@Implements("WorldMapSprite") -public final class WorldMapSprite { - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("Widget_fontsArchive") - static AbstractArchive Widget_fontsArchive; - @ObfuscatedName("bk") - @ObfuscatedSignature( - signature = "Lho;" - ) - static ServerBuild field226; - @ObfuscatedName("x") - @Export("tileColors") - final int[] tileColors; - - WorldMapSprite() { - this.tileColors = new int[4096]; - } - - WorldMapSprite(int[] var1) { - this.tileColors = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIB)I", - garbageValue = "2" - ) - @Export("getTileColor") - final int getTileColor(int var1, int var2) { - return this.tileColors[var2 * 64 + var1]; - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - signature = "(ILhj;ZI)V", - garbageValue = "-310129392" - ) - static void method380(int var0, Coord var1, boolean var2) { - WorldMapArea var3 = class1.getWorldMap().getMapArea(var0); - int var4 = Varps.localPlayer.plane; - int var5 = class4.baseX * 64 + (Varps.localPlayer.x * -78439701 >> 7); - int var6 = (Varps.localPlayer.y >> 7) + ScriptEvent.baseY; - Coord var7 = new Coord(var4, var5, var6); - class1.getWorldMap().method6431(var3, var7, var1, var2); - } - - @ObfuscatedName("eh") - @ObfuscatedSignature( - signature = "(IB)V", - garbageValue = "79" - ) - @Export("getLoginError") - static void getLoginError(int var0) { - if (var0 == -3) { - Canvas.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); - } else if (var0 == -2) { - Canvas.setLoginResponseString("", "Error connecting to server.", ""); - } else if (var0 == -1) { - Canvas.setLoginResponseString("No response from server.", "Please try using a different world.", ""); - } else if (var0 == 3) { - Login.loginIndex = 3; - Login.field1161 = 1; - } else if (var0 == 4) { - Login.loginIndex = 12; - Login.field1156 = 0; - } else if (var0 == 5) { - Login.field1161 = 2; - Canvas.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) { - Canvas.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); - } else if (var0 == 7) { - Canvas.setLoginResponseString("This world is full.", "Please use a different world.", ""); - } else if (var0 == 8) { - Canvas.setLoginResponseString("Unable to connect.", "Login server offline.", ""); - } else if (var0 == 9) { - Canvas.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", ""); - } else if (var0 == 10) { - Canvas.setLoginResponseString("Unable to connect.", "Bad session id.", ""); - } else if (var0 == 11) { - Canvas.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); - } else if (var0 == 12) { - Canvas.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); - } else if (var0 == 13) { - Canvas.setLoginResponseString("Could not complete login.", "Please try using a different world.", ""); - } else if (var0 == 14) { - Canvas.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 16) { - Canvas.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", ""); - } else if (var0 == 17) { - Canvas.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) { - Canvas.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); - } else if (var0 == 20) { - Canvas.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", ""); - } else if (var0 == 22) { - Canvas.setLoginResponseString("Malformed login packet.", "Please try again.", ""); - } else if (var0 == 23) { - Canvas.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 24) { - Canvas.setLoginResponseString("Error loading your profile.", "Please contact customer support.", ""); - } else if (var0 == 25) { - Canvas.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", ""); - } else if (var0 == 26) { - Canvas.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", ""); - } else if (var0 == 27) { - Canvas.setLoginResponseString("", "Service unavailable.", ""); - } else if (var0 == 31) { - Canvas.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) { - Canvas.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) { - Canvas.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); - } else if (var0 == 38) { - Canvas.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) { - Canvas.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); - WorldMapIcon_0.updateGameState(11); - return; - } - - if (var0 == 57) { - Canvas.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); - WorldMapIcon_0.updateGameState(11); - return; - } - - if (var0 == 61) { - Login.loginIndex = 7; - } else { - Canvas.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); - } - } - - WorldMapIcon_0.updateGameState(10); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("az") +@Implements("WorldMapSprite") +public final class WorldMapSprite { + @ObfuscatedName("n") + @Export("tileColors") + final int[] tileColors; + + WorldMapSprite() { + this.tileColors = new int[4096]; + } + + WorldMapSprite(int[] var1) { + this.tileColors = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIS)I", + garbageValue = "-9220" + ) + @Export("getTileColor") + final int getTileColor(int var1, int var2) { + return this.tileColors[var2 * 64 + var1]; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "-104" + ) + @Export("getVarbit") + public static int getVarbit(int var0) { + VarbitDefinition var2 = (VarbitDefinition)VarbitDefinition.VarbitDefinition_cached.get((long)var0); + VarbitDefinition var1; + if (var2 != null) { + var1 = var2; + } else { + byte[] var7 = VarbitDefinition.VarbitDefinition_archive.takeFile(14, var0); + var2 = new VarbitDefinition(); + if (var7 != null) { + var2.decode(new Buffer(var7)); + } + + VarbitDefinition.VarbitDefinition_cached.put(var2, (long)var0); + var1 = var2; + } + + int var3 = var1.baseVar; + int var4 = var1.startBit; + int var5 = var1.endBit; + int var6 = Varps.Varps_masks[var5 - var4]; + return Varps.Varps_main[var3] >> var4 & var6; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;Lhp;ZII)V", + garbageValue = "257961128" + ) + static void method435(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { + if (Login.field1160) { + if (var3 == 4) { + Login.loginIndex = 4; + } + + } else { + Login.loginIndex = var3; + Rasterizer2D.Rasterizer2D_clear(); + byte[] var4 = var0.takeFileByNames("title.jpg", ""); + WorldMapID.leftTitleSprite = class40.convertJpgToSprite(var4); + class51.rightTitleSprite = WorldMapID.leftTitleSprite.mirrorHorizontally(); + if ((Client.worldProperties & 536870912) != 0) { + FontName.logoSprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); + } else { + FontName.logoSprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); + } + + class32.titleboxSprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); + AbstractRasterProvider.titlebuttonSprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); + Login.runesSprite = WorldMapIcon_0.method222(var1, "runes", ""); + UserComparator7.title_muteSprite = WorldMapIcon_0.method222(var1, "title_mute", ""); + class195.options_buttons_0Sprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); + ClientPreferences.field1046 = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); + class42.options_buttons_2Sprite = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); + Login.field1163 = WorldMapRectangle.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); + class83.field1145 = class195.options_buttons_0Sprite.subWidth; + WorldMapCacheName.field286 = class195.options_buttons_0Sprite.subHeight; + BufferedSink.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite); + if (var2) { + Login.Login_username = ""; + Login.Login_password = ""; + } + + class185.field2305 = 0; + DesktopPlatformInfoProvider.otp = ""; + Login.field1183 = true; + Login.worldSelectOpen = false; + if (!AbstractArchive.clientPreferences.titleMusicDisabled) { + WorldMapData_0.method194(2, class225.archive6, "scape main", "", 255, false); + } else { + class197.field2386 = 1; + class197.musicTrackArchive = null; + class188.musicTrackGroupId = -1; + class49.musicTrackFileId = -1; + TileItem.field1223 = 0; + WorldMapSectionType.musicTrackBoolean = false; + MusicPatchNode2.field2382 = 2; + } + + DirectByteArrayCopier.method3915(false); + Login.field1160 = true; + Login.xPadding = (FloorDecoration.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + GrandExchangeOfferUnitPriceComparator.loginBoxCenter = Login.loginBoxX + 180; + WorldMapID.leftTitleSprite.drawAt(Login.xPadding, 0); + class51.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + FontName.logoSprite.drawAt(Login.xPadding + 382 - FontName.logoSprite.subWidth / 2, 18); + } + } + + @ObfuscatedName("fx") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;ZB)V", + garbageValue = "-87" + ) + @Export("drawLoadingMessage") + static final void drawLoadingMessage(String var0, boolean var1) { + if (Client.showLoadingMessages) { + byte var2 = 4; + int var3 = var2 + 6; + int var4 = var2 + 6; + int var5 = GraphicsDefaults.fontPlain12.lineWidth(var0, 250); + int var6 = GraphicsDefaults.fontPlain12.lineCount(var0, 250) * 13; + Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var2 + var6, 16777215); + GraphicsDefaults.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); + int var7 = var3 - var2; + int var8 = var4 - var2; + int var9 = var5 + var2 + var2; + int var10 = var2 + var6 + var2; + + int var11; + for (var11 = 0; var11 < Client.rootWidgetCount; ++var11) { + if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var9 + var7 && Client.rootWidgetHeights[var11] + Client.rootWidgetYs[var11] > var8 && Client.rootWidgetYs[var11] < var8 + var10) { + Client.field841[var11] = true; + } + } + + if (var1) { + class42.rasterProvider.drawFull(0, 0); + } else { + var11 = var3; + int var12 = var4; + int var13 = var5; + int var14 = var6; + + for (int var15 = 0; var15 < Client.rootWidgetCount; ++var15) { + if (Client.rootWidgetXs[var15] + Client.rootWidgetWidths[var15] > var11 && Client.rootWidgetXs[var15] < var11 + var13 && Client.rootWidgetYs[var15] + Client.rootWidgetHeights[var15] > var12 && Client.rootWidgetYs[var15] < var14 + var12) { + Client.field842[var15] = true; + } + } + } + + } + } + + @ObfuscatedName("in") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-240794843" + ) + @Export("getTapToDrop") + static boolean getTapToDrop() { + return Client.tapToDrop; + } +} diff --git a/runescape-client/src/main/java/Wrapper.java b/runescape-client/src/main/java/Wrapper.java index f2b377828b..d8111ef26d 100644 --- a/runescape-client/src/main/java/Wrapper.java +++ b/runescape-client/src/main/java/Wrapper.java @@ -1,23 +1,23 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ey") -@Implements("Wrapper") -public abstract class Wrapper extends DualNode { - @ObfuscatedName("x") - @Export("size") - final int size; - - Wrapper(int var1) { - this.size = var1; - } - - @ObfuscatedName("c") - @Export("get") - abstract Object get(); - - @ObfuscatedName("x") - @Export("isSoft") - abstract boolean isSoft(); -} +import net.runelite.mapping.Export; +import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ec") +@Implements("Wrapper") +public abstract class Wrapper extends DualNode { + @ObfuscatedName("n") + @Export("size") + final int size; + + Wrapper(int var1) { + this.size = var1; + } + + @ObfuscatedName("z") + @Export("get") + abstract Object get(); + + @ObfuscatedName("n") + @Export("isSoft") + abstract boolean isSoft(); +} diff --git a/runescape-client/src/main/java/class0.java b/runescape-client/src/main/java/class0.java index 0ff6272479..a3ab38f843 100644 --- a/runescape-client/src/main/java/class0.java +++ b/runescape-client/src/main/java/class0.java @@ -1,19 +1,19 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("c") -public interface class0 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkz;B)V", - garbageValue = "1" - ) - void vmethod42(Object var1, Buffer var2); - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;S)Ljava/lang/Object;", - garbageValue = "31810" - ) - Object vmethod41(Buffer var1); -} +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("z") +public interface class0 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkl;B)V", + garbageValue = "0" + ) + void vmethod64(Object var1, Buffer var2); + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;B)Ljava/lang/Object;", + garbageValue = "-93" + ) + Object vmethod55(Buffer var1); +} diff --git a/runescape-client/src/main/java/class1.java b/runescape-client/src/main/java/class1.java index d58fde95cf..c19f4be27a 100644 --- a/runescape-client/src/main/java/class1.java +++ b/runescape-client/src/main/java/class1.java @@ -1,208 +1,201 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("x") -final class class1 implements class0 { - @ObfuscatedName("h") - @Export("Tiles_lightness") - static int[] Tiles_lightness; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkz;B)V", - garbageValue = "1" - ) - public void vmethod42(Object var1, Buffer var2) { - this.method6((Integer)var1, var2); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;S)Ljava/lang/Object;", - garbageValue = "31810" - ) - public Object vmethod41(Buffer var1) { - return var1.readInt(); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljava/lang/Integer;Lkz;I)V", - garbageValue = "-1255666144" - ) - void method6(Integer var1, Buffer var2) { - var2.writeInt(var1); - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "113" - ) - static final void method9() { - WorldMapSection2.method283("You can't add yourself to your own friend list"); - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - signature = "(II)I", - garbageValue = "517519928" - ) - static int method17(int var0) { - return (int)Math.pow(2.0D, (double)(7.0F + (float)var0 / 256.0F)); - } - - @ObfuscatedName("eg") - @ObfuscatedSignature( - signature = "(I)Lln;", - garbageValue = "524880852" - ) - @Export("getWorldMap") - static WorldMap getWorldMap() { - return GrandExchangeOfferUnitPriceComparator.worldMap; - } - - @ObfuscatedName("fy") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1873727163" - ) - static final void method14() { - int var0 = Players.Players_count; - int[] var1 = Players.Players_indices; - - for (int var2 = 0; var2 < var0; ++var2) { - Player var3 = Client.players[var1[var2]]; - if (var3 != null) { - Tile.calculateActorPosition(var3, 1); - } - } - - } - - @ObfuscatedName("hc") - @ObfuscatedSignature( - signature = "(ZLkt;S)V", - garbageValue = "399" - ) - static final void method15(boolean var0, PacketBuffer var1) { - while (true) { - if (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) { - int var2 = var1.readBits(15); - if (var2 != 32767) { - boolean var3 = false; - if (Client.npcs[var2] == null) { - Client.npcs[var2] = new NPC(); - var3 = true; - } - - NPC var4 = Client.npcs[var2]; - Client.npcIndices[++Client.npcCount - 1] = var2; - var4.npcCycle = Client.cycle; - int var5; - if (var0) { - var5 = var1.readBits(8); - if (var5 > 127) { - var5 -= 256; - } - } else { - var5 = var1.readBits(5); - if (var5 > 15) { - var5 -= 32; - } - } - - int var6 = var1.readBits(1); - int var7 = Client.defaultRotations[var1.readBits(3)]; - if (var3) { - var4.orientation = var4.rotation = var7; - } - - int var8 = var1.readBits(1); - if (var8 == 1) { - Client.field881[++Client.field666 - 1] = var2; - } - - int var9; - if (var0) { - var9 = var1.readBits(8); - if (var9 > 127) { - var9 -= 256; - } - } else { - var9 = var1.readBits(5); - if (var9 > 15) { - var9 -= 32; - } - } - - var4.definition = FontName.getNpcDefinition(var1.readBits(14)); - var4.size = var4.definition.size; - var4.field953 = var4.definition.rotation; - if (var4.field953 == 0) { - var4.rotation = 0; - } - - var4.walkSequence = var4.definition.walkSequence; - var4.walkBackSequence = var4.definition.walkBackSequence; - var4.walkLeftSequence = var4.definition.walkLeftSequence; - var4.walkRightSequence = var4.definition.walkRightSequence; - var4.readySequence = var4.definition.readySequence; - var4.turnLeftSequence = var4.definition.turnLeftSequence; - var4.turnRightSequence = var4.definition.turnRightSequence; - var4.method2011(Varps.localPlayer.pathX[0] + var9, Varps.localPlayer.pathY[0] + var5, var6 == 1); - continue; - } - } - - var1.exportIndex(); - return; - } - } - - @ObfuscatedName("iv") - @ObfuscatedSignature( - signature = "(Lhy;IIIIIIB)V", - garbageValue = "-40" - ) - static final void method16(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (Client.field712) { - Client.alternativeScrollbarWidth = 32; - } else { - Client.alternativeScrollbarWidth = 0; - } - - Client.field712 = false; - int var7; - if (MouseHandler.MouseHandler_currentButton == 1 || !WorldMapSection1.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { - if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { - var0.scrollY -= 4; - WorldMapID.invalidateWidget(var0); - } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { - var0.scrollY += 4; - WorldMapID.invalidateWidget(var0); - } else if (var5 >= var1 - Client.alternativeScrollbarWidth && var5 < Client.alternativeScrollbarWidth + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) { - var7 = var3 * (var3 - 32) / var4; - if (var7 < 8) { - var7 = 8; - } - - int var8 = var6 - var2 - 16 - var7 / 2; - int var9 = var3 - 32 - var7; - var0.scrollY = var8 * (var4 - var3) / var9; - WorldMapID.invalidateWidget(var0); - Client.field712 = true; - } - } - - if (Client.mouseWheelRotation != 0) { - var7 = var0.width; - if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) { - var0.scrollY += Client.mouseWheelRotation * 45; - WorldMapID.invalidateWidget(var0); - } - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("n") +final class class1 implements class0 { + @ObfuscatedName("dr") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive0") + static Archive archive0; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkl;B)V", + garbageValue = "0" + ) + public void vmethod64(Object var1, Buffer var2) { + this.method13((Integer)var1, var2); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;B)Ljava/lang/Object;", + garbageValue = "-93" + ) + public Object vmethod55(Buffer var1) { + return var1.readInt(); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/Integer;Lkl;I)V", + garbageValue = "-1770008879" + ) + void method13(Integer var1, Buffer var2) { + var2.writeInt(var1); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(ZZI)I", + garbageValue = "1419553069" + ) + public static int method5(boolean var0, boolean var1) { + byte var2 = 0; + int var3 = var2 + NetCache.NetCache_pendingPriorityWritesCount + NetCache.NetCache_pendingPriorityResponsesCount; + return var3; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + signature = "(ZB)V", + garbageValue = "16" + ) + public static void method16(boolean var0) { + if (var0 != class162.ItemDefinition_inMembersWorld) { + InterfaceParent.method1193(); + class162.ItemDefinition_inMembersWorld = var0; + } + + } + + @ObfuscatedName("hh") + @ObfuscatedSignature( + signature = "(IIIIIIII)V", + garbageValue = "557524614" + ) + @Export("addPendingSpawnToScene") + static final void addPendingSpawnToScene(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (var2 >= 1 && var3 >= 1 && var2 <= 102 && var3 <= 102) { + if (Client.isLowDetail && var0 != WorldMapRectangle.plane) { + return; + } + + long var7 = 0L; + boolean var9 = true; + boolean var10 = false; + boolean var11 = false; + if (var1 == 0) { + var7 = PacketWriter.scene.getBoundaryObjectTag(var0, var2, var3); + } + + if (var1 == 1) { + var7 = PacketWriter.scene.getWallDecorationTag(var0, var2, var3); + } + + if (var1 == 2) { + var7 = PacketWriter.scene.getGameObjectTag(var0, var2, var3); + } + + if (var1 == 3) { + var7 = PacketWriter.scene.getFloorDecorationTag(var0, var2, var3); + } + + int var12; + if (0L != var7) { + var12 = PacketWriter.scene.getObjectFlags(var0, var2, var3, var7); + int var14 = class81.Entity_unpackID(var7); + int var15 = var12 & 31; + int var16 = var12 >> 6 & 3; + ObjectDefinition var13; + if (var1 == 0) { + PacketWriter.scene.removeBoundaryObject(var0, var2, var3); + var13 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var14); + if (var13.interactType != 0) { + Client.collisionMaps[var0].method3508(var2, var3, var15, var16, var13.boolean1); + } + } + + if (var1 == 1) { + PacketWriter.scene.removeWallDecoration(var0, var2, var3); + } + + if (var1 == 2) { + PacketWriter.scene.removeGameObject(var0, var2, var3); + var13 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var14); + if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) { + return; + } + + if (var13.interactType != 0) { + Client.collisionMaps[var0].setFlagOffNonSquare(var2, var3, var13.sizeX, var13.sizeY, var16, var13.boolean1); + } + } + + if (var1 == 3) { + PacketWriter.scene.removeFloorDecoration(var0, var2, var3); + var13 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var14); + if (var13.interactType == 1) { + Client.collisionMaps[var0].method3511(var2, var3); + } + } + } + + if (var4 >= 0) { + var12 = var0; + if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { + var12 = var0 + 1; + } + + class3.method50(var0, var12, var2, var3, var4, var5, var6, PacketWriter.scene, Client.collisionMaps[var0]); + } + } + + } + + @ObfuscatedName("hl") + @ObfuscatedSignature( + signature = "(Lbi;IIBI)V", + garbageValue = "916902326" + ) + static final void method14(Player var0, int var1, int var2, byte var3) { + int var4 = var0.pathX[0]; + int var5 = var0.pathY[0]; + int var6 = var0.transformedSize(); + if (var4 >= var6 && var4 < 104 - var6 && var5 >= var6 && var5 < 104 - var6) { + if (var1 >= var6 && var1 < 104 - var6 && var2 >= var6 && var2 < 104 - var6) { + int var9 = var0.transformedSize(); + Client.field909.approxDestinationX = var1; + Client.field909.approxDestinationY = var2; + Client.field909.approxDestinationSizeX = 1; + Client.field909.approxDestinationSizeY = 1; + class65 var10 = Client.field909; + int var11 = class192.method3637(var4, var5, var9, var10, Client.collisionMaps[var0.plane], true, Client.field910, Client.field911); + if (var11 >= 1) { + for (int var12 = 0; var12 < var11 - 1; ++var12) { + var0.method1263(Client.field910[var12], Client.field911[var12], var3); + } + + } + } + } + } + + @ObfuscatedName("kt") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "2" + ) + static void method15() { + if (Client.field879 && class223.localPlayer != null) { + int var0 = class223.localPlayer.pathX[0]; + int var1 = class223.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { + return; + } + + ObjectSound.oculusOrbFocalPointX = class223.localPlayer.x; + int var2 = MusicPatchPcmStream.getTileHeight(class223.localPlayer.x, class223.localPlayer.y * 682054857, WorldMapRectangle.plane) - Client.camFollowHeight * -844153885; + if (var2 < ModelData0.field1840 * -1351160427) { + ModelData0.field1840 = var2 * -506989123; + } + + class14.oculusOrbFocalPointY = class223.localPlayer.y * 682054857; + Client.field879 = false; + } + + } +} diff --git a/runescape-client/src/main/java/class13.java b/runescape-client/src/main/java/class13.java index bc95c20622..b1df5f50cb 100644 --- a/runescape-client/src/main/java/class13.java +++ b/runescape-client/src/main/java/class13.java @@ -1,22 +1,134 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("s") -public class class13 { - @ObfuscatedName("dz") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive4") - static Archive archive4; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)[Lgz;", - garbageValue = "519142630" - ) - static LoginPacket[] method139() { - return new LoginPacket[]{LoginPacket.field2290, LoginPacket.field2288, LoginPacket.field2289, LoginPacket.field2291, LoginPacket.field2295}; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("a") +public class class13 { + @ObfuscatedName("gx") + @ObfuscatedSignature( + signature = "[Llf;" + ) + @Export("mapDotSprites") + static Sprite[] mapDotSprites; + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(CLgt;I)C", + garbageValue = "-1706308889" + ) + @Export("standardizeChar") + static char standardizeChar(char var0, Language var1) { + if (var0 >= 192 && var0 <= 255) { + if (var0 >= 192 && var0 <= 198) { + return 'A'; + } + + if (var0 == 199) { + return 'C'; + } + + if (var0 >= 200 && var0 <= 203) { + return 'E'; + } + + if (var0 >= 204 && var0 <= 207) { + return 'I'; + } + + if (var0 == 209 && var1 != Language.Language_ES) { + return 'N'; + } + + if (var0 >= 210 && var0 <= 214) { + return 'O'; + } + + if (var0 >= 217 && var0 <= 220) { + return 'U'; + } + + if (var0 == 221) { + return 'Y'; + } + + if (var0 == 223) { + return 's'; + } + + if (var0 >= 224 && var0 <= 230) { + return 'a'; + } + + if (var0 == 231) { + return 'c'; + } + + if (var0 >= 232 && var0 <= 235) { + return 'e'; + } + + if (var0 >= 236 && var0 <= 239) { + return 'i'; + } + + if (var0 == 241 && var1 != Language.Language_ES) { + return 'n'; + } + + if (var0 >= 242 && var0 <= 246) { + return 'o'; + } + + if (var0 >= 249 && var0 <= 252) { + return 'u'; + } + + if (var0 == 253 || var0 == 255) { + return 'y'; + } + } + + if (var0 == 338) { + return 'O'; + } else if (var0 == 339) { + return 'o'; + } else if (var0 == 376) { + return 'Y'; + } else { + return var0; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-114703177" + ) + @Export("Messages_getNextChatID") + static int Messages_getNextChatID(int var0) { + Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); + if (var1 == null) { + return -1; + } else { + return var1.previousDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.previousDual).count; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(Lho;II)V", + garbageValue = "891811325" + ) + @Export("Widget_setKeyIgnoreHeld") + static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) { + if (var0.field2552 == null) { + throw new RuntimeException(); + } else { + if (var0.field2684 == null) { + var0.field2684 = new int[var0.field2552.length]; + } + + var0.field2684[var1] = Integer.MAX_VALUE; + } + } +} diff --git a/runescape-client/src/main/java/class14.java b/runescape-client/src/main/java/class14.java index b250de67e9..86c4d8c749 100644 --- a/runescape-client/src/main/java/class14.java +++ b/runescape-client/src/main/java/class14.java @@ -1,101 +1,290 @@ -import java.util.Iterator; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("p") -public class class14 { - @ObfuscatedName("g") - @Export("Interpreter_stringLocals") - static String[] Interpreter_stringLocals; - @ObfuscatedName("hs") - @ObfuscatedGetter( - intValue = 887087521 - ) - @Export("cameraZ") - static int cameraZ; - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)Ljava/lang/String;", - garbageValue = "-284135930" - ) - static String method145() { - String var0 = ""; - - Message var2; - for (Iterator var1 = Messages.Messages_hashTable.iterator(); var1.hasNext(); var0 = var0 + var2.sender + ':' + var2.text + '\n') { - var2 = (Message)var1.next(); - } - - return var0; - } - - @ObfuscatedName("et") - @ObfuscatedSignature( - signature = "(Lio;Ljava/lang/String;I)V", - garbageValue = "1397921952" - ) - static void method142(Archive var0, String var1) { - ArchiveLoader var2 = new ArchiveLoader(var0, var1); - Client.archiveLoaders.add(var2); - Client.field895 += var2.groupCount; - } - - @ObfuscatedName("jw") - @ObfuscatedSignature( - signature = "(Lhy;I)V", - garbageValue = "-1667373140" - ) - static final void method143(Widget var0) { - int var1 = var0.contentType; - if (var1 == 324) { - if (Client.field703 == -1) { - Client.field703 = var0.spriteId2; - Client.field888 = var0.spriteId; - } - - if (Client.playerAppearance.isFemale) { - var0.spriteId2 = Client.field703; - } else { - var0.spriteId2 = Client.field888; - } - - } else if (var1 == 325) { - if (Client.field703 == -1) { - Client.field703 = var0.spriteId2; - Client.field888 = var0.spriteId; - } - - if (Client.playerAppearance.isFemale) { - var0.spriteId2 = Client.field888; - } else { - var0.spriteId2 = Client.field703; - } - - } else if (var1 == 327) { - var0.modelAngleX = 150; - var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; - var0.modelType = 5; - var0.modelId = 0; - } else if (var1 == 328) { - var0.modelAngleX = 150; - var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; - var0.modelType = 5; - var0.modelId = 1; - } - } - - @ObfuscatedName("ks") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "71" - ) - static void method144() { - if (Client.oculusOrbState == 1) { - Client.field824 = true; - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("e") +public class class14 { + @ObfuscatedName("ry") + @ObfuscatedGetter( + intValue = 1308893635 + ) + static int field90; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SpotAnimationDefinition_archive") + public static AbstractArchive SpotAnimationDefinition_archive; + @ObfuscatedName("gu") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("mapSceneSprites") + static IndexedSprite[] mapSceneSprites; + @ObfuscatedName("hy") + @ObfuscatedGetter( + intValue = -1228592435 + ) + @Export("oculusOrbFocalPointY") + static int oculusOrbFocalPointY; + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/Throwable;Ljava/lang/String;)Lmf;" + ) + @Export("newRunException") + public static RunException newRunException(Throwable var0, String var1) { + RunException var2; + if (var0 instanceof RunException) { + var2 = (RunException)var0; + var2.message = var2.message + ' ' + var1; + } else { + var2 = new RunException(var0, var1); + } + + return var2; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(CI)C", + garbageValue = "-2022718130" + ) + static char method175(char var0) { + if (var0 == 198) { + return 'E'; + } else if (var0 == 230) { + return 'e'; + } else if (var0 == 223) { + return 's'; + } else if (var0 == 338) { + return 'E'; + } else { + return (char)(var0 == 339 ? 'e' : '\u0000'); + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIILfi;Lfa;B)Z", + garbageValue = "-110" + ) + static final boolean method172(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4) { + int var5 = var0; + int var6 = var1; + byte var7 = 64; + byte var8 = 64; + int var9 = var0 - var7; + int var10 = var1 - var8; + class173.directions[var7][var8] = 99; + class173.distances[var7][var8] = 0; + byte var11 = 0; + int var12 = 0; + class173.bufferX[var11] = var0; + int var20 = var11 + 1; + class173.bufferY[var11] = var1; + int[][] var13 = var4.flags; + + while (true) { + label303: + while (true) { + int var14; + int var15; + int var16; + int var17; + int var18; + int var19; + do { + do { + do { + label280: + do { + if (var12 == var20) { + UserComparator10.field1956 = var5; + class173.field2075 = var6; + return false; + } + + var5 = class173.bufferX[var12]; + var6 = class173.bufferY[var12]; + var12 = var12 + 1 & 4095; + var18 = var5 - var9; + var19 = var6 - var10; + var14 = var5 - var4.xInset; + var15 = var6 - var4.yInset; + if (var3.hasArrived(var2, var5, var6, var4)) { + UserComparator10.field1956 = var5; + class173.field2075 = var6; + return true; + } + + var16 = class173.distances[var18][var19] + 1; + if (var18 > 0 && class173.directions[var18 - 1][var19] == 0 && (var13[var14 - 1][var15] & 19136782) == 0 && (var13[var14 - 1][var15 + var2 - 1] & 19136824) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class173.bufferX[var20] = var5 - 1; + class173.bufferY[var20] = var6; + var20 = var20 + 1 & 4095; + class173.directions[var18 - 1][var19] = 2; + class173.distances[var18 - 1][var19] = var16; + break; + } + + if ((var13[var14 - 1][var15 + var17] & 19136830) != 0) { + break; + } + + ++var17; + } + } + + if (var18 < 128 - var2 && class173.directions[var18 + 1][var19] == 0 && (var13[var14 + var2][var15] & 19136899) == 0 && (var13[var14 + var2][var15 + var2 - 1] & 19136992) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class173.bufferX[var20] = var5 + 1; + class173.bufferY[var20] = var6; + var20 = var20 + 1 & 4095; + class173.directions[var18 + 1][var19] = 8; + class173.distances[var18 + 1][var19] = var16; + break; + } + + if ((var13[var14 + var2][var17 + var15] & 19136995) != 0) { + break; + } + + ++var17; + } + } + + if (var19 > 0 && class173.directions[var18][var19 - 1] == 0 && (var13[var14][var15 - 1] & 19136782) == 0 && (var13[var14 + var2 - 1][var15 - 1] & 19136899) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class173.bufferX[var20] = var5; + class173.bufferY[var20] = var6 - 1; + var20 = var20 + 1 & 4095; + class173.directions[var18][var19 - 1] = 1; + class173.distances[var18][var19 - 1] = var16; + break; + } + + if ((var13[var17 + var14][var15 - 1] & 19136911) != 0) { + break; + } + + ++var17; + } + } + + if (var19 < 128 - var2 && class173.directions[var18][var19 + 1] == 0 && (var13[var14][var15 + var2] & 19136824) == 0 && (var13[var14 + var2 - 1][var15 + var2] & 19136992) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2 - 1) { + class173.bufferX[var20] = var5; + class173.bufferY[var20] = var6 + 1; + var20 = var20 + 1 & 4095; + class173.directions[var18][var19 + 1] = 4; + class173.distances[var18][var19 + 1] = var16; + break; + } + + if ((var13[var14 + var17][var15 + var2] & 19137016) != 0) { + break; + } + + ++var17; + } + } + + if (var18 > 0 && var19 > 0 && class173.directions[var18 - 1][var19 - 1] == 0 && (var13[var14 - 1][var15 - 1] & 19136782) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2) { + class173.bufferX[var20] = var5 - 1; + class173.bufferY[var20] = var6 - 1; + var20 = var20 + 1 & 4095; + class173.directions[var18 - 1][var19 - 1] = 3; + class173.distances[var18 - 1][var19 - 1] = var16; + break; + } + + if ((var13[var14 - 1][var17 + (var15 - 1)] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 - 1] & 19136911) != 0) { + break; + } + + ++var17; + } + } + + if (var18 < 128 - var2 && var19 > 0 && class173.directions[var18 + 1][var19 - 1] == 0 && (var13[var14 + var2][var15 - 1] & 19136899) == 0) { + var17 = 1; + + while (true) { + if (var17 >= var2) { + class173.bufferX[var20] = var5 + 1; + class173.bufferY[var20] = var6 - 1; + var20 = var20 + 1 & 4095; + class173.directions[var18 + 1][var19 - 1] = 9; + class173.distances[var18 + 1][var19 - 1] = var16; + break; + } + + if ((var13[var14 + var2][var17 + (var15 - 1)] & 19136995) != 0 || (var13[var17 + var14][var15 - 1] & 19136911) != 0) { + break; + } + + ++var17; + } + } + + if (var18 > 0 && var19 < 128 - var2 && class173.directions[var18 - 1][var19 + 1] == 0 && (var13[var14 - 1][var15 + var2] & 19136824) == 0) { + for (var17 = 1; var17 < var2; ++var17) { + if ((var13[var14 - 1][var17 + var15] & 19136830) != 0 || (var13[var17 + (var14 - 1)][var15 + var2] & 19137016) != 0) { + continue label280; + } + } + + class173.bufferX[var20] = var5 - 1; + class173.bufferY[var20] = var6 + 1; + var20 = var20 + 1 & 4095; + class173.directions[var18 - 1][var19 + 1] = 6; + class173.distances[var18 - 1][var19 + 1] = var16; + } + } while(var18 >= 128 - var2); + } while(var19 >= 128 - var2); + } while(class173.directions[var18 + 1][var19 + 1] != 0); + } while((var13[var14 + var2][var15 + var2] & 19136992) != 0); + + for (var17 = 1; var17 < var2; ++var17) { + if ((var13[var17 + var14][var15 + var2] & 19137016) != 0 || (var13[var14 + var2][var15 + var17] & 19136995) != 0) { + continue label303; + } + } + + class173.bufferX[var20] = var5 + 1; + class173.bufferY[var20] = var6 + 1; + var20 = var20 + 1 & 4095; + class173.directions[var18 + 1][var19 + 1] = 12; + class173.distances[var18 + 1][var19 + 1] = var16; + } + } + } + + @ObfuscatedName("il") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-259743374" + ) + static boolean method174() { + return Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; + } +} diff --git a/runescape-client/src/main/java/class146.java b/runescape-client/src/main/java/class146.java index 34991d5e9d..69f48814af 100644 --- a/runescape-client/src/main/java/class146.java +++ b/runescape-client/src/main/java/class146.java @@ -1,7 +1,7 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("eb") -public interface class146 { - @ObfuscatedName("c") - void method3299(Object var1); -} +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ev") +public interface class146 { + @ObfuscatedName("z") + void method3298(Object var1); +} diff --git a/runescape-client/src/main/java/class16.java b/runescape-client/src/main/java/class16.java index 4028278aff..4036603639 100644 --- a/runescape-client/src/main/java/class16.java +++ b/runescape-client/src/main/java/class16.java @@ -1,149 +1,20 @@ -import java.awt.image.BufferedImage; -import java.awt.image.PixelGrabber; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import javax.imageio.ImageIO; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("i") -public class class16 { - @ObfuscatedName("x") - @Export("FileSystem_cacheDir") - static File FileSystem_cacheDir; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "([BI)Lli;", - garbageValue = "509351236" - ) - @Export("convertJpgToSprite") - public static final Sprite convertJpgToSprite(byte[] var0) { - BufferedImage var1 = null; - - try { - var1 = ImageIO.read(new ByteArrayInputStream(var0)); - int var2 = var1.getWidth(); - int var3 = var1.getHeight(); - int[] var4 = new int[var2 * var3]; - PixelGrabber var5 = new PixelGrabber(var1, 0, 0, var2, var3, var4, 0, var2); - var5.grabPixels(); - return new Sprite(var4, var2, var3); - } catch (IOException var7) { - } catch (InterruptedException var8) { - } - - return new Sprite(0, 0); - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "443442748" - ) - static int method162(int var0, Script var1, boolean var2) { - Widget var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETSCROLLX) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollX; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollY; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTEXT) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.text; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollWidth; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.scrollHeight; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelZoom; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelAngleX; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelAngleZ; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelAngleY; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTRANSTOP) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.transparencyTop; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETTRANSBOT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.transparencyBot; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.color; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.color2; - return 1; - } else if (var0 == ScriptOpcodes.IF_GETFILLMODE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); - return 1; - } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; - return 1; - } else { - return 2; - } - } - - @ObfuscatedName("hh") - @ObfuscatedSignature( - signature = "(Lbo;B)V", - garbageValue = "-39" - ) - static final void method164(PendingSpawn var0) { - long var1 = 0L; - int var3 = -1; - int var4 = 0; - int var5 = 0; - if (var0.type == 0) { - var1 = WorldMapIcon_1.scene.getBoundaryObjectTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 1) { - var1 = WorldMapIcon_1.scene.getWallDecorationTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 2) { - var1 = WorldMapIcon_1.scene.getGameObjectTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 3) { - var1 = WorldMapIcon_1.scene.getFloorDecorationTag(var0.plane, var0.x, var0.y); - } - - if (var1 != 0L) { - int var6 = WorldMapIcon_1.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); - var3 = SecureRandomFuture.Entity_unpackID(var1); - var4 = var6 & 31; - var5 = var6 >> 6 & 3; - } - - var0.objectId = var3; - var0.field903 = var4; - var0.field900 = var5; - } - - @ObfuscatedName("kf") - @ObfuscatedSignature( - signature = "(Lhy;B)Ljava/lang/String;", - garbageValue = "25" - ) - static String method165(Widget var0) { - if (WorldMapElement.method4390(class60.getWidgetClickMask(var0)) == 0) { - return null; - } else { - return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null; - } - } -} +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("t") +public class class16 { + @ObfuscatedName("bv") + @ObfuscatedSignature( + signature = "Lha;" + ) + static StudioGame field101; + + @ObfuscatedName("gt") + @ObfuscatedSignature( + signature = "(I)Z", + garbageValue = "-194801296" + ) + static boolean method195() { + return (Client.drawPlayerNames & 8) != 0; + } +} diff --git a/runescape-client/src/main/java/class160.java b/runescape-client/src/main/java/class160.java index b157fcae53..b12c118a81 100644 --- a/runescape-client/src/main/java/class160.java +++ b/runescape-client/src/main/java/class160.java @@ -1,83 +1,143 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fr") -public enum class160 implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lfr;" - ) - field1975(1, 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lfr;" - ) - field1972(2, 1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lfr;" - ) - field1973(3, 2), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lfr;" - ) - field1974(0, 3); - - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 361058639 - ) - @Export("Interpreter_intStackSize") - static int Interpreter_intStackSize; - @ObfuscatedName("d") - static int[][] field1977; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1405442637 - ) - public final int field1978; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1965131589 - ) - @Export("id") - final int id; - - class160(int var3, int var4) { - this.field1978 = var3; - this.id = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "2" - ) - @Export("Messages_getHistorySize") - static int Messages_getHistorySize(int var0) { - ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); - return var1 == null ? 0 : var1.size(); - } - - @ObfuscatedName("gr") - @ObfuscatedSignature( - signature = "(I)Z", - garbageValue = "-744343031" - ) - static boolean method3419() { - return (Client.drawPlayerNames & 1) != 0; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ff") +public enum class160 implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lff;" + ) + field1979(3, 0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lff;" + ) + field1976(1, 1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lff;" + ) + field1985(2, 2), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lff;" + ) + field1977(0, 3); + + @ObfuscatedName("ei") + @Export("worldHost") + static String worldHost; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1676935957 + ) + public final int field1984; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1779758939 + ) + @Export("id") + final int id; + + class160(int var3, int var4) { + this.field1984 = var3; + this.id = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "18" + ) + static final int method3412(int var0, int var1) { + int var2 = var0 + var1 * 57; + var2 ^= var2 << 13; + int var3 = var2 * (var2 * var2 * 15731 + 789221) + 1376312589 & Integer.MAX_VALUE; + return var3 >> 19 & 255; + } + + @ObfuscatedName("gz") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "-44" + ) + static final void method3413() { + for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var0.hitpoints > 0) { + --var0.hitpoints; + } + + boolean var1; + int var2; + int var3; + ObjectDefinition var4; + if (var0.hitpoints == 0) { + if (var0.objectId >= 0) { + var2 = var0.objectId; + var3 = var0.field921; + var4 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var2); + if (var3 == 11) { + var3 = 10; + } + + if (var3 >= 5 && var3 <= 8) { + var3 = 4; + } + + var1 = var4.method4555(var3); + if (!var1) { + continue; + } + } + + class1.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.objectId, var0.field922, var0.field921); + var0.remove(); + } else { + if (var0.delay > 0) { + --var0.delay; + } + + if (var0.delay == 0 && var0.x >= 1 && var0.y >= 1 && var0.x <= 102 && var0.y <= 102) { + if (var0.id >= 0) { + var2 = var0.id; + var3 = var0.field916; + var4 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var2); + if (var3 == 11) { + var3 = 10; + } + + if (var3 >= 5 && var3 <= 8) { + var3 = 4; + } + + var1 = var4.method4555(var3); + if (!var1) { + continue; + } + } + + class1.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field916); + var0.delay = -1; + if (var0.objectId == var0.id && var0.objectId == -1) { + var0.remove(); + } else if (var0.id == var0.objectId && var0.field922 == var0.orientation && var0.field921 == var0.field916) { + var0.remove(); + } + } + } + } + + } +} diff --git a/runescape-client/src/main/java/class161.java b/runescape-client/src/main/java/class161.java index f17c0f0385..a498542ef6 100644 --- a/runescape-client/src/main/java/class161.java +++ b/runescape-client/src/main/java/class161.java @@ -1,5 +1,5 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("fd") -public interface class161 { -} +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("fo") +public interface class161 { +} diff --git a/runescape-client/src/main/java/class162.java b/runescape-client/src/main/java/class162.java index 805f3c65a8..001bd3255f 100644 --- a/runescape-client/src/main/java/class162.java +++ b/runescape-client/src/main/java/class162.java @@ -1,37 +1,34 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fe") -public class class162 implements class161 { - @ObfuscatedName("bf") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("worldSelectBackSprites") - static Sprite[] worldSelectBackSprites; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;Lhz;Lhz;B)V", - garbageValue = "-41" - ) - @Export("Widget_setArchives") - public static void Widget_setArchives(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) { - ArchiveDiskActionHandler.Widget_archive = var0; - class293.Widget_modelsArchive = var1; - HealthBar.Widget_spritesArchive = var2; - WorldMapSprite.Widget_fontsArchive = var3; - class289.Widget_interfaceComponents = new Widget[ArchiveDiskActionHandler.Widget_archive.getGroupCount()][]; - UserComparator3.Widget_loadedInterfaces = new boolean[ArchiveDiskActionHandler.Widget_archive.getGroupCount()]; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "849753199" - ) - public static void method3424() { - WorldMapRegion.WorldMapRegion_cachedSprites.demote(5); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fk") +public class class162 implements class161 { + @ObfuscatedName("m") + @Export("ItemDefinition_inMembersWorld") + static boolean ItemDefinition_inMembersWorld; + @ObfuscatedName("s") + public static String field1990; + @ObfuscatedName("ao") + @ObfuscatedSignature( + signature = "Lll;" + ) + static Bounds field1988; + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1376590669" + ) + @Export("clearItemContainer") + static void clearItemContainer(int var0) { + ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var1 != null) { + for (int var2 = 0; var2 < var1.ids.length; ++var2) { + var1.ids[var2] = -1; + var1.quantities[var2] = 0; + } + + } + } +} diff --git a/runescape-client/src/main/java/class173.java b/runescape-client/src/main/java/class173.java index a0630a9d5a..709751d3cb 100644 --- a/runescape-client/src/main/java/class173.java +++ b/runescape-client/src/main/java/class173.java @@ -1,100 +1,61 @@ -import java.io.IOException; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("fu") -public class class173 { - @ObfuscatedName("t") - @Export("directions") - static int[][] directions; - @ObfuscatedName("g") - @Export("distances") - static int[][] distances; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -2098626243 - ) - static int field2063; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -300293519 - ) - static int field2068; - @ObfuscatedName("v") - @Export("bufferX") - static int[] bufferX; - @ObfuscatedName("d") - @Export("bufferY") - static int[] bufferY; - @ObfuscatedName("dl") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive2") - static Archive archive2; - @ObfuscatedName("ed") - @ObfuscatedGetter( - intValue = -1734851163 - ) - static int field2069; - @ObfuscatedName("ke") - @ObfuscatedGetter( - intValue = -1496378761 - ) - @Export("menuWidth") - static int menuWidth; - - static { - directions = new int[128][128]; - distances = new int[128][128]; - bufferX = new int[4096]; - bufferY = new int[4096]; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "-1761278066" - ) - public static void method3575(boolean var0) { - if (NetCache.NetCache_socket != null) { - try { - Buffer var1 = new Buffer(4); - var1.writeByte(var0 ? 2 : 3); - var1.writeMedium(0); - NetCache.NetCache_socket.write(var1.array, 0, 4); - } catch (IOException var4) { - try { - NetCache.NetCache_socket.close(); - } catch (Exception var3) { - } - - ++NetCache.NetCache_ioExceptions; - NetCache.NetCache_socket = null; - } - - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(II)Lev;", - garbageValue = "-691724991" - ) - @Export("getFrames") - static Frames getFrames(int var0) { - Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); - if (var1 != null) { - return var1; - } else { - var1 = class51.method852(SequenceDefinition.SequenceDefinition_animationsArchive, SequenceDefinition.SequenceDefinition_skeletonsArchive, var0, false); - if (var1 != null) { - SequenceDefinition.SequenceDefinition_cachedFrames.put(var1, (long)var0); - } - - return var1; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("fr") +public class class173 { + @ObfuscatedName("v") + @Export("directions") + static int[][] directions; + @ObfuscatedName("u") + @Export("distances") + static int[][] distances; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 764450151 + ) + static int field2075; + @ObfuscatedName("m") + @Export("bufferX") + static int[] bufferX; + @ObfuscatedName("y") + @Export("bufferY") + static int[] bufferY; + @ObfuscatedName("fu") + @ObfuscatedSignature( + signature = "Lkn;" + ) + @Export("fontBold12") + static Font fontBold12; + + static { + directions = new int[128][128]; + distances = new int[128][128]; + bufferX = new int[4096]; + bufferY = new int[4096]; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)I", + garbageValue = "1868348372" + ) + public static int method3550(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if (var4 <= 127) { + ++var2; + } else if (var4 <= 2047) { + var2 += 2; + } else { + var2 += 3; + } + } + + return var2; + } +} diff --git a/runescape-client/src/main/java/class181.java b/runescape-client/src/main/java/class181.java index 2911c6240e..7b3b2e1dc9 100644 --- a/runescape-client/src/main/java/class181.java +++ b/runescape-client/src/main/java/class181.java @@ -1,5 +1,5 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("fo") -public interface class181 { -} +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("fp") +public interface class181 { +} diff --git a/runescape-client/src/main/java/class185.java b/runescape-client/src/main/java/class185.java index fa63036b55..6c98f0c526 100644 --- a/runescape-client/src/main/java/class185.java +++ b/runescape-client/src/main/java/class185.java @@ -1,499 +1,254 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gn") -public class class185 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2298; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2300; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2297; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2299; - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2304; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2296; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2302; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2301; - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2303; - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lgn;" - ) - public static final class185 field2305; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1998851903 - ) - static int field2306; - - static { - field2298 = new class185(3); - field2300 = new class185(7); - field2297 = new class185(14); - field2299 = new class185(6); - field2304 = new class185(4); - field2296 = new class185(15); - field2302 = new class185(5); - field2301 = new class185(4); - field2303 = new class185(2); - field2305 = new class185(5); - } - - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "3" - ) - class185(int var1) { - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(IIIIIILep;Lfj;I)V", - garbageValue = "-1241420469" - ) - static final void method3602(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) { - if (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var1][var2] & 2) != 0 || (Tiles.Tiles_renderFlags[var0][var1][var2] & 16) == 0) { - if (var0 < Tiles.Tiles_minPlane) { - Tiles.Tiles_minPlane = var0; - } - - ObjectDefinition var8 = WallDecoration.getObjectDefinition(var3); - int var9; - int var10; - if (var4 != 1 && var4 != 3) { - var9 = var8.sizeX; - var10 = var8.sizeY; - } else { - var9 = var8.sizeY; - var10 = var8.sizeX; - } - - int var11; - int var12; - if (var9 + var1 <= 104) { - var11 = (var9 >> 1) + var1; - var12 = (var9 + 1 >> 1) + var1; - } else { - var11 = var1; - var12 = var1 + 1; - } - - int var13; - int var14; - if (var10 + var2 <= 104) { - var13 = (var10 >> 1) + var2; - var14 = var2 + (var10 + 1 >> 1); - } else { - var13 = var2; - var14 = var2 + 1; - } - - int[][] var15 = Tiles.Tiles_heights[var0]; - int var16 = var15[var12][var14] + var15[var11][var14] + var15[var11][var13] + var15[var12][var13] >> 2; - int var17 = (var1 << 7) + (var9 << 6); - int var18 = (var2 << 7) + (var10 << 6); - long var19 = WorldMapIcon_1.calculateTag(var1, var2, 2, var8.int1 == 0, var3); - int var21 = var5 + (var4 << 6); - if (var8.int3 == 1) { - var21 += 256; - } - - int var23; - int var24; - if (var8.hasSound()) { - ObjectSound var22 = new ObjectSound(); - var22.plane = var0; - var22.x = var1 * 128; - var22.y = var2 * 128; - var23 = var8.sizeX; - var24 = var8.sizeY; - if (var4 == 1 || var4 == 3) { - var23 = var8.sizeY; - var24 = var8.sizeX; - } - - var22.field1043 = (var23 + var1) * 128; - var22.field1051 = (var24 + var2) * 128; - var22.soundEffectId = var8.ambientSoundId; - var22.field1039 = var8.int4 * 128; - var22.field1048 = var8.int5; - var22.field1049 = var8.int6; - var22.soundEffectIds = var8.soundEffectIds; - if (var8.transforms != null) { - var22.obj = var8; - var22.set(); - } - - ObjectSound.objectSounds.addFirst(var22); - if (var22.soundEffectIds != null) { - var22.field1042 = var22.field1048 + (int)(Math.random() * (double)(var22.field1049 - var22.field1048)); - } - } - - Object var34; - if (var5 == 22) { - if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(22, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newFloorDecoration(var0, var1, var2, var16, (Entity)var34, var19, var21); - if (var8.interactType == 1 && var7 != null) { - var7.setBlockedByFloorDec(var1, var2); - } - - } - } else if (var5 != 10 && var5 != 11) { - int[] var10000; - if (var5 >= 12) { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.method3051(var0, var1, var2, var16, 1, 1, (Entity)var34, 0, var19, var21); - if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2] |= 2340; - } - - if (var8.interactType != 0 && var7 != null) { - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - } else if (var5 == 0) { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(0, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field480[var4], 0, var19, var21); - if (var4 == 0) { - if (var8.clipped) { - Tiles.field473[var0][var1][var2] = 50; - Tiles.field473[var0][var1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2] |= 585; - } - } else if (var4 == 1) { - if (var8.clipped) { - Tiles.field473[var0][var1][var2 + 1] = 50; - Tiles.field473[var0][var1 + 1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2 + 1] |= 1170; - } - } else if (var4 == 2) { - if (var8.clipped) { - Tiles.field473[var0][var1 + 1][var2] = 50; - Tiles.field473[var0][var1 + 1][var2 + 1] = 50; - } - - if (var8.modelClipped) { - var10000 = UserComparator3.field1961[var0][var1 + 1]; - var10000[var2] |= 585; - } - } else if (var4 == 3) { - if (var8.clipped) { - Tiles.field473[var0][var1][var2] = 50; - Tiles.field473[var0][var1 + 1][var2] = 50; - } - - if (var8.modelClipped) { - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2] |= 1170; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3534(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method3057(var0, var1, var2, var8.int2); - } - - } else if (var5 == 1) { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(1, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field481[var4], 0, var19, var21); - if (var8.clipped) { - if (var4 == 0) { - Tiles.field473[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { - Tiles.field473[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { - Tiles.field473[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { - Tiles.field473[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3534(var1, var2, var5, var4, var8.boolean1); - } - - } else { - int var28; - if (var5 == 2) { - var28 = var4 + 1 & 3; - Object var29; - Object var30; - if (var8.animationId == -1 && var8.transforms == null) { - var29 = var8.getEntity(2, var4 + 4, var15, var17, var16, var18); - var30 = var8.getEntity(2, var28, var15, var17, var16, var18); - } else { - var29 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - var30 = new DynamicObject(var3, 2, var28, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var29, (Entity)var30, Tiles.field480[var4], Tiles.field480[var28], var19, var21); - if (var8.modelClipped) { - if (var4 == 0) { - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2] |= 585; - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2 + 1] |= 1170; - } else if (var4 == 1) { - var10000 = UserComparator3.field1961[var0][var1]; - var10000[1 + var2] |= 1170; - var10000 = UserComparator3.field1961[var0][var1 + 1]; - var10000[var2] |= 585; - } else if (var4 == 2) { - var10000 = UserComparator3.field1961[var0][var1 + 1]; - var10000[var2] |= 585; - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2] |= 1170; - } else if (var4 == 3) { - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2] |= 1170; - var10000 = UserComparator3.field1961[var0][var1]; - var10000[var2] |= 585; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3534(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method3057(var0, var1, var2, var8.int2); - } - - } else if (var5 == 3) { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(3, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field481[var4], 0, var19, var21); - if (var8.clipped) { - if (var4 == 0) { - Tiles.field473[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { - Tiles.field473[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { - Tiles.field473[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { - Tiles.field473[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.method3534(var1, var2, var5, var4, var8.boolean1); - } - - } else if (var5 == 9) { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.method3051(var0, var1, var2, var16, 1, 1, (Entity)var34, 0, var19, var21); - if (var8.interactType != 0 && var7 != null) { - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - if (var8.int2 != 16) { - var6.method3057(var0, var1, var2, var8.int2); - } - - } else if (var5 == 4) { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(4, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var34, (Entity)null, Tiles.field480[var4], 0, 0, 0, var19, var21); - } else { - long var31; - Object var33; - if (var5 == 5) { - var28 = 16; - var31 = var6.getBoundaryObjectTag(var0, var1, var2); - if (0L != var31) { - var28 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var31)).int2; - } - - if (var8.animationId == -1 && var8.transforms == null) { - var33 = var8.getEntity(4, var4, var15, var17, var16, var18); - } else { - var33 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)null, Tiles.field480[var4], 0, var28 * Tiles.field482[var4], var28 * Tiles.field487[var4], var19, var21); - } else if (var5 == 6) { - var28 = 8; - var31 = var6.getBoundaryObjectTag(var0, var1, var2); - if (var31 != 0L) { - var28 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var31)).int2 / 2; - } - - if (var8.animationId == -1 && var8.transforms == null) { - var33 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); - } else { - var33 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)null, 256, var4, var28 * Tiles.field484[var4], var28 * Tiles.field485[var4], var19, var21); - } else if (var5 == 7) { - var23 = var4 + 2 & 3; - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(4, var23 + 4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 4, var23 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var34, (Entity)null, 256, var23, 0, 0, var19, var21); - } else if (var5 == 8) { - var28 = 8; - var31 = var6.getBoundaryObjectTag(var0, var1, var2); - if (0L != var31) { - var28 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var31)).int2 / 2; - } - - int var27 = var4 + 2 & 3; - Object var26; - if (var8.animationId == -1 && var8.transforms == null) { - var33 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); - var26 = var8.getEntity(4, var27 + 4, var15, var17, var16, var18); - } else { - var33 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - var6.newWallDecoration(var0, var1, var2, var16, (Entity)var33, (Entity)var26, 256, var4, var28 * Tiles.field484[var4], var28 * Tiles.field485[var4], var19, var21); - } - } - } - } else { - if (var8.animationId == -1 && var8.transforms == null) { - var34 = var8.getEntity(10, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, true, (Entity)null); - } - - if (var34 != null && var6.method3051(var0, var1, var2, var16, var9, var10, (Entity)var34, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { - var23 = 15; - if (var34 instanceof Model) { - var23 = ((Model)var34).method2849() / 4; - if (var23 > 30) { - var23 = 30; - } - } - - for (var24 = 0; var24 <= var9; ++var24) { - for (int var25 = 0; var25 <= var10; ++var25) { - if (var23 > Tiles.field473[var0][var24 + var1][var25 + var2]) { - Tiles.field473[var0][var24 + var1][var25 + var2] = (byte)var23; - } - } - } - } - - if (var8.interactType != 0 && var7 != null) { - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - } - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(B)Lbb;", - garbageValue = "0" - ) - @Export("worldListStart") - static World worldListStart() { - World.World_listCount = 0; - return Frames.getNextWorldListWorld(); - } - - @ObfuscatedName("ex") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2142685400" - ) - static final void method3607() { - if (Client.logoutTimer > 0) { - class40.method736(); - } else { - Client.timer.method4985(); - WorldMapIcon_0.updateGameState(40); - ArchiveLoader.field512 = Client.packetWriter.getSocket(); - Client.packetWriter.removeSocket(); - } - } -} +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; + +@ObfuscatedName("gw") +public class class185 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2299; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2300; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2298; + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2297; + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2295; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2296; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2301; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2302; + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2303; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lgw;" + ) + public static final class185 field2304; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = 1987889023 + ) + static int field2305; + + static { + field2299 = new class185(4); + field2300 = new class185(5); + field2298 = new class185(14); + field2297 = new class185(5); + field2295 = new class185(15); + field2296 = new class185(2); + field2301 = new class185(6); + field2302 = new class185(4); + field2303 = new class185(7); + field2304 = new class185(3); + } + + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "4" + ) + class185(int var1) { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/String;ZS)Lmh;", + garbageValue = "3503" + ) + @Export("getPreferencesFile") + public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { + File var3 = new File(GrandExchangeOfferOwnWorldComparator.cacheDir, "preferences" + var0 + ".dat"); + if (var3.exists()) { + try { + AccessFile var10 = new AccessFile(var3, "rw", 10000L); + return var10; + } catch (IOException var9) { + } + } + + String var4 = ""; + if (BufferedNetSocket.cacheGamebuild == 33) { + var4 = "_rc"; + } else if (BufferedNetSocket.cacheGamebuild == 34) { + var4 = "_wip"; + } + + File var5 = new File(JagexCache.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat"); + AccessFile var6; + if (!var2 && var5.exists()) { + try { + var6 = new AccessFile(var5, "rw", 10000L); + return var6; + } catch (IOException var8) { + } + } + + try { + var6 = new AccessFile(var3, "rw", 10000L); + return var6; + } catch (IOException var7) { + throw new RuntimeException(); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;II)V", + garbageValue = "65280" + ) + @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) { + 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]; + + 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] = TextureProvider.loadClassFromDescriptor(var8[var12]); + } + + Class var22 = TextureProvider.loadClassFromDescriptor(var20); + if (TextureProvider.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } + + Method[] var13 = TextureProvider.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 (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 (TextureProvider.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } + + var2.fields[var3] = Reflection.findField(TextureProvider.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("jy") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "16256" + ) + static final void method3587() { + Client.field830 = Client.cycleCntr; + GrandExchangeOfferAgeComparator.ClanChat_inClanChat = true; + } +} diff --git a/runescape-client/src/main/java/class186.java b/runescape-client/src/main/java/class186.java index 89354e4984..1ddc76ed1a 100644 --- a/runescape-client/src/main/java/class186.java +++ b/runescape-client/src/main/java/class186.java @@ -1,26 +1,166 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gu") -public class class186 { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Lih;", - garbageValue = "727235164" - ) - public static VarcInt method3609(int var0) { - VarcInt var1 = (VarcInt)VarcInt.VarcInt_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = VarcInt.VarcInt_archive.takeFile(19, var0); - var1 = new VarcInt(); - if (var2 != null) { - var1.method4394(new Buffer(var2)); - } - - VarcInt.VarcInt_cached.put(var1, (long)var0); - return var1; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gg") +public class class186 { + @ObfuscatedName("av") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "38319207" + ) + @Export("runWidgetOnLoadListener") + static void runWidgetOnLoadListener(int var0) { + if (var0 != -1) { + if (WorldMapData_0.loadInterface(var0)) { + Widget[] var1 = UserComparator5.Widget_interfaceComponents[var0]; + + for (int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3.onLoad != null) { + ScriptEvent var4 = new ScriptEvent(); + var4.widget = var3; + var4.args = var3.onLoad; + KeyHandler.runScript(var4, 5000000); + } + } + + } + } + } + + @ObfuscatedName("ih") + @ObfuscatedSignature( + signature = "(Lil;IIII)V", + garbageValue = "1588588018" + ) + @Export("addNpcToMenu") + static final void addNpcToMenu(NPCDefinition var0, int var1, int var2, int var3) { + if (Client.menuOptionsCount < 400) { + if (var0.transforms != null) { + var0 = var0.transform(); + } + + if (var0 != null) { + if (var0.isInteractable) { + if (!var0.isFollower || Client.followerIndex == var1) { + String var4 = var0.name; + int var7; + int var8; + if (var0.combatLevel != 0) { + var7 = var0.combatLevel; + var8 = class223.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = World.colorStartTag(16711680); + } else if (var9 < -6) { + var6 = World.colorStartTag(16723968); + } else if (var9 < -3) { + var6 = World.colorStartTag(16740352); + } else if (var9 < 0) { + var6 = World.colorStartTag(16756736); + } else if (var9 > 9) { + var6 = World.colorStartTag(65280); + } else if (var9 > 6) { + var6 = World.colorStartTag(4259584); + } else if (var9 > 3) { + var6 = World.colorStartTag(8453888); + } else if (var9 > 0) { + var6 = World.colorStartTag(12648192); + } else { + var6 = World.colorStartTag(16776960); + } + + var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; + } + + if (var0.isFollower && Client.followerOpsLowPriority) { + WorldMapData_1.insertMenuItemNoShift("Examine", World.colorStartTag(16776960) + var4, 1003, var1, var2, var3); + } + + if (Client.isItemSelected == 1) { + WorldMapData_1.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + World.colorStartTag(16776960) + var4, 7, var1, var2, var3); + } else if (Client.isSpellSelected) { + if ((ItemContainer.selectedSpellFlags & 2) == 2) { + WorldMapData_1.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + World.colorStartTag(16776960) + var4, 8, var1, var2, var3); + } + } else { + int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; + String[] var11 = var0.actions; + if (var11 != null) { + for (var7 = 4; var7 >= 0; --var7) { + if (var11[var7] != null && !var11[var7].equalsIgnoreCase("Attack")) { + var8 = 0; + if (var7 == 0) { + var8 = var10 + 9; + } + + if (var7 == 1) { + var8 = var10 + 10; + } + + if (var7 == 2) { + var8 = var10 + 11; + } + + if (var7 == 3) { + var8 = var10 + 12; + } + + if (var7 == 4) { + var8 = var10 + 13; + } + + WorldMapData_1.insertMenuItemNoShift(var11[var7], World.colorStartTag(16776960) + var4, var8, var1, var2, var3); + } + } + } + + if (var11 != null) { + for (var7 = 4; var7 >= 0; --var7) { + if (var11[var7] != null && var11[var7].equalsIgnoreCase("Attack")) { + short var12 = 0; + if (Client.npcAttackOption != AttackOption.AttackOption_hidden) { + if (AttackOption.AttackOption_alwaysRightClick == Client.npcAttackOption || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > class223.localPlayer.combatLevel) { + var12 = 2000; + } + + var8 = 0; + if (var7 == 0) { + var8 = var12 + 9; + } + + if (var7 == 1) { + var8 = var12 + 10; + } + + if (var7 == 2) { + var8 = var12 + 11; + } + + if (var7 == 3) { + var8 = var12 + 12; + } + + if (var7 == 4) { + var8 = var12 + 13; + } + + WorldMapData_1.insertMenuItemNoShift(var11[var7], World.colorStartTag(16776960) + var4, var8, var1, var2, var3); + } + } + } + } + + if (!var0.isFollower || !Client.followerOpsLowPriority) { + WorldMapData_1.insertMenuItemNoShift("Examine", World.colorStartTag(16776960) + var4, 1003, var1, var2, var3); + } + } + + } + } + } + } + } +} diff --git a/runescape-client/src/main/java/class188.java b/runescape-client/src/main/java/class188.java index 52fe673078..57703bd09a 100644 --- a/runescape-client/src/main/java/class188.java +++ b/runescape-client/src/main/java/class188.java @@ -1,140 +1,35 @@ -import java.io.BufferedReader; -import java.io.DataInputStream; -import java.io.PrintWriter; -import java.io.StringReader; -import java.io.StringWriter; -import java.net.URL; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gl") -public class class188 { - @ObfuscatedName("c") - static int[] field2315; - - static { - new Object(); - field2315 = new int[33]; - field2315[0] = 0; - int var0 = 2; - - for (int var1 = 1; var1 < 33; ++var1) { - field2315[var1] = var0 - 1; - var0 += var0; - } - - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", - garbageValue = "-1657814089" - ) - @Export("RunException_sendStackTrace") - public static void RunException_sendStackTrace(String var0, Throwable var1) { - if (var1 != null) { - var1.printStackTrace(); - } else { - try { - String var2 = ""; - if (var1 != null) { - Throwable var4 = var1; - String var5; - if (var1 instanceof RunException) { - RunException var6 = (RunException)var1; - var5 = var6.message + " | "; - var4 = var6.throwable; - } else { - var5 = ""; - } - - StringWriter var18 = new StringWriter(); - PrintWriter var7 = new PrintWriter(var18); - var4.printStackTrace(var7); - var7.close(); - String var8 = var18.toString(); - BufferedReader var9 = new BufferedReader(new StringReader(var8)); - String var10 = var9.readLine(); - - label62: - while (true) { - while (true) { - String var11 = var9.readLine(); - if (var11 == null) { - var5 = var5 + "| " + var10; - var2 = var5; - break label62; - } - - int var12 = var11.indexOf(40); - int var13 = var11.indexOf(41, var12 + 1); - if (var12 >= 0 && var13 >= 0) { - String var14 = var11.substring(var12 + 1, var13); - int var15 = var14.indexOf(".java:"); - if (var15 >= 0) { - var14 = var14.substring(0, var15) + var14.substring(var15 + 5); - var5 = var5 + var14 + ' '; - continue; - } - - var11 = var11.substring(0, var12); - } - - var11 = var11.trim(); - var11 = var11.substring(var11.lastIndexOf(32) + 1); - var11 = var11.substring(var11.lastIndexOf(9) + 1); - var5 = var5 + var11 + ' '; - } - } - } - - if (var0 != null) { - if (var1 != null) { - var2 = var2 + " | "; - } - - var2 = var2 + var0; - } - - System.out.println("Error: " + var2); - var2 = var2.replace(':', '.'); - var2 = var2.replace('@', '_'); - var2 = var2.replace('&', '_'); - var2 = var2.replace('#', '_'); - if (RunException.RunException_applet == null) { - return; - } - - URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + Skills.field2723 + "&e=" + var2); - DataInputStream var17 = new DataInputStream(var3.openStream()); - var17.read(); - var17.close(); - } catch (Exception var16) { - } - - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;B)V", - garbageValue = "105" - ) - public static void method3617(AbstractArchive var0) { - StructDefinition.StructDefinition_archive = var0; - } - - @ObfuscatedName("ib") - @ObfuscatedSignature( - signature = "(IB)Ljava/lang/String;", - garbageValue = "16" - ) - static String method3620(int var0) { - if (var0 < 0) { - return ""; - } else { - return Client.menuTargets[var0].length() > 0 ? Client.menuActions[var0] + " " + Client.menuTargets[var0] : Client.menuActions[var0]; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gd") +public class class188 { + @ObfuscatedName("z") + static int[] field2322; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("SequenceDefinition_skeletonsArchive") + static AbstractArchive SequenceDefinition_skeletonsArchive; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 823451467 + ) + @Export("musicTrackGroupId") + public static int musicTrackGroupId; + + static { + new Object(); + field2322 = new int[33]; + field2322[0] = 0; + int var0 = 2; + + for (int var1 = 1; var1 < 33; ++var1) { + field2322[var1] = var0 - 1; + var0 += var0; + } + + } +} diff --git a/runescape-client/src/main/java/class189.java b/runescape-client/src/main/java/class189.java index 21098721aa..46fd81fc4f 100644 --- a/runescape-client/src/main/java/class189.java +++ b/runescape-client/src/main/java/class189.java @@ -1,32 +1,576 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gr") -public class class189 { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("HitSplatDefinition_fontsArchive") - static AbstractArchive HitSplatDefinition_fontsArchive; - - @ObfuscatedName("eb") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "1691938154" - ) - static int method3626() { - if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) { - int var0 = 0; - - for (int var1 = 0; var1 <= Client.archiveLoaderArchive; ++var1) { - var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; - } - - return var0 * 10000 / Client.field895; - } else { - return 10000; - } - } -} +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; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; + +@ObfuscatedName("gi") +public class class189 { + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "[Lmm;" + ) + @Export("JagexCache_idxFiles") + public static BufferedFile[] JagexCache_idxFiles; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lkf;I)V", + garbageValue = "-1032758603" + ) + @Export("performReflectionCheck") + public static void performReflectionCheck(PacketBuffer var0) { + ReflectionCheck var1 = (ReflectionCheck)class96.reflectionChecks.last(); + if (var1 != null) { + int var2 = var0.offset; + var0.writeInt(var1.id); + + for (int var3 = 0; var3 < var1.size; ++var3) { + if (var1.creationErrors[var3] != 0) { + var0.writeByte(var1.creationErrors[var3]); + } else { + try { + int var4 = var1.operations[var3]; + Field var5; + int var6; + if (var4 == 0) { + var5 = var1.fields[var3]; + var6 = Reflection.getInt(var5, (Object)null); + var0.writeByte(0); + var0.writeInt(var6); + } else if (var4 == 1) { + var5 = var1.fields[var3]; + Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]); + var0.writeByte(0); + } else if (var4 == 2) { + var5 = var1.fields[var3]; + var6 = var5.getModifiers(); + var0.writeByte(0); + var0.writeInt(var6); + } + + Method var25; + if (var4 != 3) { + if (var4 == 4) { + var25 = var1.methods[var3]; + var6 = var25.getModifiers(); + var0.writeByte(0); + var0.writeInt(var6); + } + } else { + var25 = var1.methods[var3]; + byte[][] var10 = var1.arguments[var3]; + Object[] var7 = new Object[var10.length]; + + for (int var8 = 0; var8 < var10.length; ++var8) { + ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8])); + var7[var8] = var9.readObject(); + } + + Object var11 = Reflection.invoke(var25, (Object)null, var7); + if (var11 == null) { + var0.writeByte(0); + } else if (var11 instanceof Number) { + var0.writeByte(1); + var0.writeLong(((Number)var11).longValue()); + } else if (var11 instanceof String) { + var0.writeByte(2); + var0.writeStringCp1252NullTerminated((String)var11); + } else { + var0.writeByte(4); + } + } + } 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); + } + } + } + + var0.writeCrc(var2); + var1.remove(); + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(IIIS)I", + garbageValue = "22050" + ) + static int method3606(int var0, int var1, int var2) { + if ((Tiles.Tiles_renderFlags[var0][var1][var2] & 8) != 0) { + return 0; + } else { + return var0 > 0 && (Tiles.Tiles_renderFlags[1][var1][var2] & 2) != 0 ? var0 - 1 : var0; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-1300861116" + ) + public static int method3609(int var0) { + if (var0 > 0) { + return 1; + } else { + return var0 < 0 ? -1 : 0; + } + } + + @ObfuscatedName("eu") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-615502292" + ) + @Export("load") + static void load() { + int var0; + if (Client.titleLoadingStage == 0) { + PacketWriter.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); + + for (var0 = 0; var0 < 4; ++var0) { + Client.collisionMaps[var0] = new CollisionMap(104, 104); + } + + ObjectSound.sceneMinimapSprite = new Sprite(512, 512); + Login.Login_loadingText = "Starting game engine..."; + Login.Login_loadingPercent = 5; + Client.titleLoadingStage = 20; + } else if (Client.titleLoadingStage == 20) { + Login.Login_loadingText = "Prepared visibility map"; + Login.Login_loadingPercent = 10; + Client.titleLoadingStage = 30; + } else if (Client.titleLoadingStage == 30) { + class1.archive0 = AttackOption.newArchive(0, false, true, true); + WorldMapLabelSize.archive1 = AttackOption.newArchive(1, false, true, true); + FaceNormal.archive2 = AttackOption.newArchive(2, true, false, true); + BoundaryObject.archive3 = AttackOption.newArchive(3, false, true, true); + GrandExchangeOfferAgeComparator.archive4 = AttackOption.newArchive(4, false, true, true); + class3.archive5 = AttackOption.newArchive(5, true, true, true); + class225.archive6 = AttackOption.newArchive(6, true, true, true); + Language.archive7 = AttackOption.newArchive(7, false, true, true); + GrandExchangeOfferAgeComparator.archive8 = AttackOption.newArchive(8, false, true, true); + AttackOption.archive9 = AttackOption.newArchive(9, false, true, true); + Client.archive10 = AttackOption.newArchive(10, false, true, true); + ClanMate.archive11 = AttackOption.newArchive(11, false, true, true); + GrandExchangeOfferOwnWorldComparator.archive12 = AttackOption.newArchive(12, false, true, true); + Tile.archive13 = AttackOption.newArchive(13, true, false, true); + WorldMapData_1.archive14 = AttackOption.newArchive(14, false, true, true); + Script.archive15 = AttackOption.newArchive(15, false, true, true); + Client.archive17 = AttackOption.newArchive(17, true, true, true); + VarcInt.archive18 = AttackOption.newArchive(18, false, true, true); + WorldMapLabel.archive19 = AttackOption.newArchive(19, false, true, true); + WorldMapEvent.archive20 = AttackOption.newArchive(20, false, true, true); + Login.Login_loadingText = "Connecting to update server"; + Login.Login_loadingPercent = 20; + Client.titleLoadingStage = 40; + } else if (Client.titleLoadingStage == 40) { + byte var28 = 0; + var0 = var28 + class1.archive0.percentage() * 4 / 100; + var0 += WorldMapLabelSize.archive1.percentage() * 4 / 100; + var0 += FaceNormal.archive2.percentage() * 2 / 100; + var0 += BoundaryObject.archive3.percentage() * 2 / 100; + var0 += GrandExchangeOfferAgeComparator.archive4.percentage() * 6 / 100; + var0 += class3.archive5.percentage() * 4 / 100; + var0 += class225.archive6.percentage() * 2 / 100; + var0 += Language.archive7.percentage() * 56 / 100; + var0 += GrandExchangeOfferAgeComparator.archive8.percentage() * 2 / 100; + var0 += AttackOption.archive9.percentage() * 2 / 100; + var0 += Client.archive10.percentage() * 2 / 100; + var0 += ClanMate.archive11.percentage() * 2 / 100; + var0 += GrandExchangeOfferOwnWorldComparator.archive12.percentage() * 2 / 100; + var0 += Tile.archive13.percentage() * 2 / 100; + var0 += WorldMapData_1.archive14.percentage() * 2 / 100; + var0 += Script.archive15.percentage() * 2 / 100; + var0 += WorldMapLabel.archive19.percentage() / 100; + var0 += VarcInt.archive18.percentage() / 100; + var0 += WorldMapEvent.archive20.percentage() / 100; + var0 += Client.archive17.method4223() && Client.archive17.isFullyLoaded() ? 1 : 0; + if (var0 != 100) { + if (var0 != 0) { + Login.Login_loadingText = "Checking for updates - " + var0 + "%"; + } + + Login.Login_loadingPercent = 30; + } else { + WorldMapAreaData.method718(class1.archive0, "Animations"); + WorldMapAreaData.method718(WorldMapLabelSize.archive1, "Skeletons"); + WorldMapAreaData.method718(GrandExchangeOfferAgeComparator.archive4, "Sound FX"); + WorldMapAreaData.method718(class3.archive5, "Maps"); + WorldMapAreaData.method718(class225.archive6, "Music Tracks"); + WorldMapAreaData.method718(Language.archive7, "Models"); + WorldMapAreaData.method718(GrandExchangeOfferAgeComparator.archive8, "Sprites"); + WorldMapAreaData.method718(ClanMate.archive11, "Music Jingles"); + WorldMapAreaData.method718(WorldMapData_1.archive14, "Music Samples"); + WorldMapAreaData.method718(Script.archive15, "Music Patches"); + WorldMapAreaData.method718(WorldMapLabel.archive19, "World Map"); + WorldMapAreaData.method718(VarcInt.archive18, "World Map Geography"); + WorldMapAreaData.method718(WorldMapEvent.archive20, "World Map Ground"); + WorldMapData_0.spriteIds = new GraphicsDefaults(); + WorldMapData_0.spriteIds.decode(Client.archive17); + Login.Login_loadingText = "Loaded update list"; + Login.Login_loadingPercent = 30; + Client.titleLoadingStage = 45; + } + } else { + Archive var2; + Archive var3; + Archive var4; + if (Client.titleLoadingStage == 45) { + boolean var27 = !Client.isLowDetail; + UrlRequest.PcmPlayer_sampleRate = 22050; + PcmPlayer.PcmPlayer_stereo = var27; + MenuAction.PcmPlayer_count = 2; + MidiPcmStream var26 = new MidiPcmStream(); + var26.method3737(9, 128); + class219.pcmPlayer0 = GrandExchangeOfferNameComparator.method151(GameShell.taskHandler, 0, 22050); + class219.pcmPlayer0.setStream(var26); + var2 = Script.archive15; + var3 = WorldMapData_1.archive14; + var4 = GrandExchangeOfferAgeComparator.archive4; + class197.musicPatchesArchive = var2; + SecureRandomCallable.musicSamplesArchive = var3; + class197.soundEffectsArchive = var4; + class49.midiPcmStream = var26; + GrandExchangeOfferWorldComparator.pcmPlayer1 = GrandExchangeOfferNameComparator.method151(GameShell.taskHandler, 1, 2048); + WorldMapLabelSize.pcmStreamMixer = new PcmStreamMixer(); + GrandExchangeOfferWorldComparator.pcmPlayer1.setStream(WorldMapLabelSize.pcmStreamMixer); + Interpreter.decimator = new Decimator(22050, UrlRequest.PcmPlayer_sampleRate); + Login.Login_loadingText = "Prepared sound engine"; + Login.Login_loadingPercent = 35; + Client.titleLoadingStage = 50; + UserComparator7.WorldMapElement_fonts = new Fonts(GrandExchangeOfferAgeComparator.archive8, Tile.archive13); + } else if (Client.titleLoadingStage == 50) { + var0 = FontName.method5257().length; + Client.fontsMap = UserComparator7.WorldMapElement_fonts.createMap(FontName.method5257()); + if (Client.fontsMap.size() < var0) { + Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var0 + "%"; + Login.Login_loadingPercent = 40; + } else { + GrandExchangeOfferOwnWorldComparator.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); + GraphicsDefaults.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); + class173.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); + class269.platformInfo = Client.platformInfoProvider.get(); + Login.Login_loadingText = "Loaded fonts"; + Login.Login_loadingPercent = 40; + Client.titleLoadingStage = 60; + } + } else { + Archive var1; + int var20; + if (Client.titleLoadingStage == 60) { + var1 = Client.archive10; + var2 = GrandExchangeOfferAgeComparator.archive8; + var20 = 0; + if (var1.tryLoadFileByNames("title.jpg", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("logo", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("logo_deadman_mode", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("titlebox", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("titlebutton", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("runes", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("title_mute", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,0", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,2", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,4", "")) { + ++var20; + } + + if (var2.tryLoadFileByNames("options_radio_buttons,6", "")) { + ++var20; + } + + var2.tryLoadFileByNames("sl_back", ""); + var2.tryLoadFileByNames("sl_flags", ""); + var2.tryLoadFileByNames("sl_arrows", ""); + var2.tryLoadFileByNames("sl_stars", ""); + var2.tryLoadFileByNames("sl_button", ""); + byte var29 = 11; + if (var20 < var29) { + Login.Login_loadingText = "Loading title screen - " + var20 * 100 / var29 + "%"; + Login.Login_loadingPercent = 50; + } else { + Login.Login_loadingText = "Loaded title screen"; + Login.Login_loadingPercent = 50; + MouseRecorder.updateGameState(5); + Client.titleLoadingStage = 70; + } + } else if (Client.titleLoadingStage == 70) { + if (!FaceNormal.archive2.isFullyLoaded()) { + Login.Login_loadingText = "Loading config - " + FaceNormal.archive2.loadPercent() + "%"; + Login.Login_loadingPercent = 60; + } else { + Archive var30 = FaceNormal.archive2; + FloorOverlayDefinition.FloorOverlayDefinition_archive = var30; + var1 = FaceNormal.archive2; + FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var1; + var2 = FaceNormal.archive2; + var3 = Language.archive7; + KitDefinition.KitDefinition_archive = var2; + GrandExchangeOfferOwnWorldComparator.KitDefinition_modelsArchive = var3; + DevicePcmPlayerProvider.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); + var4 = FaceNormal.archive2; + Archive var23 = Language.archive7; + boolean var6 = Client.isLowDetail; + ObjectDefinition.ObjectDefinition_archive = var4; + ObjectDefinition.ObjectDefinition_modelsArchive = var23; + ObjectDefinition.ObjectDefinition_isLowDetail = var6; + Archive var7 = FaceNormal.archive2; + Archive var8 = Language.archive7; + NPCDefinition.NpcDefinition_archive = var7; + NPCDefinition.NpcDefinition_modelArchive = var8; + Archive var9 = FaceNormal.archive2; + StructDefinition.StructDefinition_archive = var9; + WorldMapSection1.method608(FaceNormal.archive2, Language.archive7, Client.isMembersWorld, GrandExchangeOfferOwnWorldComparator.fontPlain11); + ItemContainer.method1190(FaceNormal.archive2, class1.archive0, WorldMapLabelSize.archive1); + Archive var10 = FaceNormal.archive2; + Archive var11 = Language.archive7; + class14.SpotAnimationDefinition_archive = var10; + SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var11; + GrandExchangeOfferNameComparator.method153(FaceNormal.archive2); + Archive var12 = FaceNormal.archive2; + VarpDefinition.VarpDefinition_archive = var12; + VarpDefinition.VarpDefinition_fileCount = VarpDefinition.VarpDefinition_archive.getGroupFileCount(16); + MouseRecorder.Widget_setArchives(BoundaryObject.archive3, Language.archive7, GrandExchangeOfferAgeComparator.archive8, Tile.archive13); + KeyHandler.InvDefinition_setArchives(FaceNormal.archive2); + Archive var13 = FaceNormal.archive2; + EnumDefinition.EnumDefinition_archive = var13; + Archive var14 = FaceNormal.archive2; + VarcInt.VarcInt_archive = var14; + Archive var15 = FaceNormal.archive2; + ParamDefinition.ParamDefinition_archive = var15; + class197.varcs = new Varcs(); + WorldMapArea.method430(FaceNormal.archive2, GrandExchangeOfferAgeComparator.archive8, Tile.archive13); + ScriptFrame.method1157(FaceNormal.archive2, GrandExchangeOfferAgeComparator.archive8); + Archive var16 = FaceNormal.archive2; + Archive var17 = GrandExchangeOfferAgeComparator.archive8; + WorldMapElement.WorldMapElement_archive = var17; + if (var16.isFullyLoaded()) { + WorldMapElement.WorldMapElement_count = var16.getGroupFileCount(35); + WorldMapElement.WorldMapElement_cached = new WorldMapElement[WorldMapElement.WorldMapElement_count]; + + for (int var18 = 0; var18 < WorldMapElement.WorldMapElement_count; ++var18) { + byte[] var19 = var16.takeFile(35, var18); + WorldMapElement.WorldMapElement_cached[var18] = new WorldMapElement(var18); + if (var19 != null) { + WorldMapElement.WorldMapElement_cached[var18].decode(new Buffer(var19)); + WorldMapElement.WorldMapElement_cached[var18].method4338(); + } + } + } + + Login.Login_loadingText = "Loaded config"; + Login.Login_loadingPercent = 60; + Client.titleLoadingStage = 80; + } + } else if (Client.titleLoadingStage == 80) { + var0 = 0; + if (AttackOption.compass == null) { + AttackOption.compass = NPCDefinition.SpriteBuffer_getSprite(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.compass, 0); + } else { + ++var0; + } + + if (PendingSpawn.redHintArrowSprite == null) { + PendingSpawn.redHintArrowSprite = NPCDefinition.SpriteBuffer_getSprite(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3797, 0); + } else { + ++var0; + } + + if (class14.mapSceneSprites == null) { + class14.mapSceneSprites = class297.method5374(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.mapScenes, 0); + } else { + ++var0; + } + + if (StructDefinition.headIconPkSprites == null) { + StructDefinition.headIconPkSprites = Canvas.SpriteBuffer_getSpriteArray(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.headIconsPk, 0); + } else { + ++var0; + } + + if (WorldMapRegion.headIconPrayerSprites == null) { + WorldMapRegion.headIconPrayerSprites = Canvas.SpriteBuffer_getSpriteArray(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3800, 0); + } else { + ++var0; + } + + if (ReflectionCheck.headIconHintSprites == null) { + ReflectionCheck.headIconHintSprites = Canvas.SpriteBuffer_getSpriteArray(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3796, 0); + } else { + ++var0; + } + + if (GameObject.mapMarkerSprites == null) { + GameObject.mapMarkerSprites = Canvas.SpriteBuffer_getSpriteArray(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3802, 0); + } else { + ++var0; + } + + if (UrlRequest.crossSprites == null) { + UrlRequest.crossSprites = Canvas.SpriteBuffer_getSpriteArray(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3803, 0); + } else { + ++var0; + } + + if (class13.mapDotSprites == null) { + class13.mapDotSprites = Canvas.SpriteBuffer_getSpriteArray(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3804, 0); + } else { + ++var0; + } + + if (class4.scrollBarSprites == null) { + class4.scrollBarSprites = class297.method5374(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3807, 0); + } else { + ++var0; + } + + if (WorldMapData_0.modIconSprites == null) { + WorldMapData_0.modIconSprites = class297.method5374(GrandExchangeOfferAgeComparator.archive8, WorldMapData_0.spriteIds.field3806, 0); + } else { + ++var0; + } + + if (var0 < 11) { + Login.Login_loadingText = "Loading sprites - " + var0 * 100 / 12 + "%"; + Login.Login_loadingPercent = 70; + } else { + AbstractFont.AbstractFont_modIconSprites = WorldMapData_0.modIconSprites; + PendingSpawn.redHintArrowSprite.normalize(); + int var24 = (int)(Math.random() * 21.0D) - 10; + int var25 = (int)(Math.random() * 21.0D) - 10; + var20 = (int)(Math.random() * 21.0D) - 10; + int var21 = (int)(Math.random() * 41.0D) - 20; + class14.mapSceneSprites[0].shiftColors(var21 + var24, var21 + var25, var21 + var20); + Login.Login_loadingText = "Loaded sprites"; + Login.Login_loadingPercent = 70; + Client.titleLoadingStage = 90; + } + } else if (Client.titleLoadingStage == 90) { + if (!AttackOption.archive9.isFullyLoaded()) { + Login.Login_loadingText = "Loading textures - " + "0%"; + Login.Login_loadingPercent = 90; + } else { + Archive.textureProvider = new TextureProvider(AttackOption.archive9, GrandExchangeOfferAgeComparator.archive8, 20, 0.8D, Client.isLowDetail ? 64 : 128); + Rasterizer3D.Rasterizer3D_setTextureLoader(Archive.textureProvider); + Rasterizer3D.Rasterizer3D_setBrightness(0.8D); + Client.titleLoadingStage = 100; + } + } else if (Client.titleLoadingStage == 100) { + var0 = Archive.textureProvider.getLoadedPercentage(); + if (var0 < 100) { + Login.Login_loadingText = "Loading textures - " + var0 + "%"; + Login.Login_loadingPercent = 90; + } else { + Login.Login_loadingText = "Loaded textures"; + Login.Login_loadingPercent = 90; + Client.titleLoadingStage = 110; + } + } else if (Client.titleLoadingStage == 110) { + WorldMapLabel.mouseRecorder = new MouseRecorder(); + GameShell.taskHandler.newThreadTask(WorldMapLabel.mouseRecorder, 10); + Login.Login_loadingText = "Loaded input handler"; + Login.Login_loadingPercent = 92; + Client.titleLoadingStage = 120; + } else if (Client.titleLoadingStage == 120) { + if (!Client.archive10.tryLoadFileByNames("huffman", "")) { + Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; + Login.Login_loadingPercent = 94; + } else { + Huffman var22 = new Huffman(Client.archive10.takeFileByNames("huffman", "")); + class210.huffman = var22; + Login.Login_loadingText = "Loaded wordpack"; + Login.Login_loadingPercent = 94; + Client.titleLoadingStage = 130; + } + } else if (Client.titleLoadingStage == 130) { + if (!BoundaryObject.archive3.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + BoundaryObject.archive3.loadPercent() * 4 / 5 + "%"; + Login.Login_loadingPercent = 96; + } else if (!GrandExchangeOfferOwnWorldComparator.archive12.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (80 + GrandExchangeOfferOwnWorldComparator.archive12.loadPercent() / 6) + "%"; + Login.Login_loadingPercent = 96; + } else if (!Tile.archive13.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (96 + Tile.archive13.loadPercent() / 50) + "%"; + Login.Login_loadingPercent = 96; + } else { + Login.Login_loadingText = "Loaded interfaces"; + Login.Login_loadingPercent = 98; + Client.titleLoadingStage = 140; + } + } else if (Client.titleLoadingStage == 140) { + Login.Login_loadingPercent = 100; + if (!WorldMapLabel.archive19.tryLoadGroupByName(WorldMapCacheName.field284.name)) { + Login.Login_loadingText = "Loading world map - " + WorldMapLabel.archive19.groupLoadPercentByName(WorldMapCacheName.field284.name) / 10 + "%"; + } else { + if (Tiles.worldMap == null) { + Tiles.worldMap = new WorldMap(); + Tiles.worldMap.init(WorldMapLabel.archive19, VarcInt.archive18, WorldMapEvent.archive20, class173.fontBold12, Client.fontsMap, class14.mapSceneSprites); + } + + Login.Login_loadingText = "Loaded world map"; + Client.titleLoadingStage = 150; + } + } else if (Client.titleLoadingStage == 150) { + MouseRecorder.updateGameState(10); + } + } + } + } +} diff --git a/runescape-client/src/main/java/class191.java b/runescape-client/src/main/java/class191.java index 908a2c2c94..ec6d3d721c 100644 --- a/runescape-client/src/main/java/class191.java +++ b/runescape-client/src/main/java/class191.java @@ -1,43 +1,59 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ge") -public class class191 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lge;" - ) - static final class191 field2330; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lge;" - ) - static final class191 field2331; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lge;" - ) - static final class191 field2337; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Llt;" - ) - @Export("titlebuttonSprite") - static IndexedSprite titlebuttonSprite; - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lli;" - ) - @Export("rightTitleSprite") - static Sprite rightTitleSprite; - - static { - field2330 = new class191(); - field2331 = new class191(); - field2337 = new class191(); - } - - class191() { - } -} +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gl") +public class class191 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgl;" + ) + static final class191 field2344; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgl;" + ) + static final class191 field2345; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgl;" + ) + static final class191 field2346; + + static { + field2344 = new class191(); + field2345 = new class191(); + field2346 = new class191(); + } + + class191() { + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1561368496" + ) + public static void method3631() { + if (KeyHandler.KeyHandler_instance != null) { + synchronized(KeyHandler.KeyHandler_instance) { + KeyHandler.KeyHandler_instance = null; + } + } + + } + + @ObfuscatedName("fa") + @ObfuscatedSignature( + signature = "(Lby;I)V", + garbageValue = "616240991" + ) + static final void method3630(Actor var0) { + int var1 = var0.field948 - Client.cycle; + int var2 = var0.field932 * -527978816 + var0.field971 * 128; + int var3 = var0.field932 * -527978816 + var0.field973 * 128; + var0.x += (var2 - var0.x) / var1; + var0.y += (var3 - var0.y * 682054857) / var1 * -944175751; + var0.field949 = 0; + var0.orientation = var0.field977; + } +} diff --git a/runescape-client/src/main/java/class192.java b/runescape-client/src/main/java/class192.java index 6373222412..a5d6eb92b5 100644 --- a/runescape-client/src/main/java/class192.java +++ b/runescape-client/src/main/java/class192.java @@ -1,499 +1,393 @@ -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gh") -public enum class192 implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2345("", 0, new class191[]{class191.field2337}), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2338("", 1, new class191[]{class191.field2331, class191.field2337}), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2343("", 2, new class191[]{class191.field2331, class191.field2330, class191.field2337}), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2340("", 3, new class191[]{class191.field2331}), - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2339("", 4), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2341("", 5, new class191[]{class191.field2331, class191.field2337}), - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2344("", 6, new class191[]{class191.field2337}), - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2342("", 8, new class191[]{class191.field2331, class191.field2337}), - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2346("", 9, new class191[]{class191.field2331, class191.field2330}), - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2347("", 10, new class191[]{class191.field2331}), - @ObfuscatedName("n") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2348("", 11, new class191[]{class191.field2331}), - @ObfuscatedName("h") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2349("", 12, new class191[]{class191.field2331, class191.field2337}), - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lgh;" - ) - field2350("", 13, new class191[]{class191.field2331}); - - @ObfuscatedName("px") - @ObfuscatedSignature( - signature = "Lkc;" - ) - @Export("privateChatMode") - static PrivateChatMode privateChatMode; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1171442601 - ) - @Export("id") - final int id; - @ObfuscatedName("p") - final Set field2352; - - static { - method3645(); - } - - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I[Lge;)V" - ) - class192(String var3, int var4, class191[] var5) { - this.field2352 = new HashSet(); - this.id = var4; - class191[] var6 = var5; - - for (int var7 = 0; var7 < var6.length; ++var7) { - class191 var8 = var6[var7]; - this.field2352.add(var8); - } - - } - - class192(String var3, int var4) { - this.field2352 = new HashSet(); - this.id = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Ljava/lang/String;III)V", - garbageValue = "1615230293" - ) - public static void method3650(String var0, String var1, int var2, int var3) throws IOException { - JagexCache.idxCount = var3; - ViewportMouse.cacheGamebuild = var2; - - try { - NetFileRequest.field3101 = System.getProperty("os.name"); - } catch (Exception var17) { - NetFileRequest.field3101 = "Unknown"; - } - - UserComparator9.field1940 = NetFileRequest.field3101.toLowerCase(); - - try { - Message.userHomeDirectory = System.getProperty("user.home"); - if (Message.userHomeDirectory != null) { - Message.userHomeDirectory = Message.userHomeDirectory + "/"; - } - } catch (Exception var16) { - } - - try { - if (UserComparator9.field1940.startsWith("win")) { - if (Message.userHomeDirectory == null) { - Message.userHomeDirectory = System.getenv("USERPROFILE"); - } - } else if (Message.userHomeDirectory == null) { - Message.userHomeDirectory = System.getenv("HOME"); - } - - if (Message.userHomeDirectory != null) { - Message.userHomeDirectory = Message.userHomeDirectory + "/"; - } - } catch (Exception var15) { - } - - if (Message.userHomeDirectory == null) { - Message.userHomeDirectory = "~/"; - } - - GrandExchangeOfferWorldComparator.field30 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", Message.userHomeDirectory, "/tmp/", ""}; - NetFileRequest.field3096 = new String[]{".jagex_cache_" + ViewportMouse.cacheGamebuild, ".file_store_" + ViewportMouse.cacheGamebuild}; - int var12 = 0; - - label101: - while (var12 < 4) { - InvDefinition.cacheDir = Entity.getCacheDir(var0, var1, var12); - if (!InvDefinition.cacheDir.exists()) { - InvDefinition.cacheDir.mkdirs(); - } - - File[] var5 = InvDefinition.cacheDir.listFiles(); - if (var5 == null) { - break; - } - - File[] var6 = var5; - int var7 = 0; - - while (true) { - if (var7 >= var6.length) { - break label101; - } - - File var8 = var6[var7]; - - boolean var9; - try { - RandomAccessFile var10 = new RandomAccessFile(var8, "rw"); - int var11 = var10.read(); - var10.seek(0L); - var10.write(var11); - var10.seek(0L); - var10.close(); - var9 = true; - } catch (Exception var14) { - var9 = false; - } - - if (!var9) { - ++var12; - break; - } - - ++var7; - } - } - - File var4 = InvDefinition.cacheDir; - class16.FileSystem_cacheDir = var4; - if (!class16.FileSystem_cacheDir.exists()) { - throw new RuntimeException(""); - } else { - FileSystem.FileSystem_hasPermissions = true; - MenuAction.method2034(); - JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(class226.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); - JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(class226.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); - DevicePcmPlayerProvider.JagexCache_idxFiles = new BufferedFile[JagexCache.idxCount]; - - for (int var13 = 0; var13 < JagexCache.idxCount; ++var13) { - DevicePcmPlayerProvider.JagexCache_idxFiles[var13] = new BufferedFile(new AccessFile(class226.getFile("main_file_cache.idx" + var13), "rw", 1048576L), 6000, 0); - } - - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;Lhz;Lgt;I)Z", - garbageValue = "1011116785" - ) - @Export("setAudioArchives") - public static boolean setAudioArchives(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, MidiPcmStream var3) { - class197.musicPatchesArchive = var0; - class197.musicSamplesArchive = var1; - class197.soundEffectsArchive = var2; - class197.midiPcmStream = var3; - return true; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)[Lgh;", - garbageValue = "2139380672" - ) - static class192[] method3645() { - return new class192[]{field2343, field2338, field2344, field2342, field2348, field2347, field2349, field2345, field2339, field2350, field2341, field2346, field2340}; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkt;II)V", - garbageValue = "2114066034" - ) - @Export("updatePlayers") - static final void updatePlayers(PacketBuffer var0, int var1) { - int var2 = var0.offset; - Players.Players_pendingUpdateCount = 0; - int var3 = 0; - var0.importIndex(); - - byte[] var10000; - int var4; - int var5; - int var6; - for (var4 = 0; var4 < Players.Players_count; ++var4) { - var5 = Players.Players_indices[var4]; - if ((Players.field1217[var5] & 1) == 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = class43.decode(var0); - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - ArchiveLoader.readPlayerUpdate(var0, var5); - } - } - } - } - - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); - - for (var4 = 0; var4 < Players.Players_count; ++var4) { - var5 = Players.Players_indices[var4]; - if ((Players.field1217[var5] & 1) != 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = class43.decode(var0); - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - ArchiveLoader.readPlayerUpdate(var0, var5); - } - } - } - } - - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); - - for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { - var5 = Players.Players_emptyIndices[var4]; - if ((Players.field1217[var5] & 1) != 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = class43.decode(var0); - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else if (Message.updateExternalPlayer(var0, var5)) { - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } - } - } - } - - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - var0.importIndex(); - - for (var4 = 0; var4 < Players.Players_emptyIdxCount; ++var4) { - var5 = Players.Players_emptyIndices[var4]; - if ((Players.field1217[var5] & 1) == 0) { - if (var3 > 0) { - --var3; - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var6 = var0.readBits(1); - if (var6 == 0) { - var3 = class43.decode(var0); - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } else if (Message.updateExternalPlayer(var0, var5)) { - var10000 = Players.field1217; - var10000[var5] = (byte)(var10000[var5] | 2); - } - } - } - } - - var0.exportIndex(); - if (var3 != 0) { - throw new RuntimeException(); - } else { - Players.Players_count = 0; - Players.Players_emptyIdxCount = 0; - - for (var4 = 1; var4 < 2048; ++var4) { - var10000 = Players.field1217; - var10000[var4] = (byte)(var10000[var4] >> 1); - Player var7 = Client.players[var4]; - if (var7 != null) { - Players.Players_indices[++Players.Players_count - 1] = var4; - } else { - Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var4; - } - } - - InterfaceParent.method1123(var0); - if (var0.offset - var2 != var1) { - throw new RuntimeException(var0.offset - var2 + " " + var1); - } - } - } - } - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2000673999" - ) - static void method3648() { - Iterator var0 = Messages.Messages_hashTable.iterator(); - - while (var0.hasNext()) { - Message var1 = (Message)var0.next(); - var1.clearIsFromFriend(); - } - - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1282270167" - ) - @Export("SpriteBuffer_clear") - public static void SpriteBuffer_clear() { - class325.SpriteBuffer_xOffsets = null; - SecureRandomCallable.SpriteBuffer_yOffsets = null; - class325.SpriteBuffer_spriteWidths = null; - SoundSystem.SpriteBuffer_spriteHeights = null; - class325.SpriteBuffer_spritePalette = null; - InvDefinition.SpriteBuffer_pixels = null; - } - - @ObfuscatedName("fd") - @ObfuscatedSignature( - signature = "(IIIS)V", - garbageValue = "-8359" - ) - @Export("queueSoundEffect") - static void queueSoundEffect(int var0, int var1, int var2) { - if (Client.soundEffectVolume != 0 && var1 != 0 && Client.soundEffectCount < 50) { - Client.soundEffectIds[Client.soundEffectCount] = var0; - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var1; - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var2; - Client.soundEffects[Client.soundEffectCount] = null; - Client.soundLocations[Client.soundEffectCount] = 0; - ++Client.soundEffectCount; - } - - } - - @ObfuscatedName("it") - @ObfuscatedSignature( - signature = "(Lhy;IIZB)V", - garbageValue = "75" - ) - @Export("alignWidgetSize") - static void alignWidgetSize(Widget var0, int var1, int var2, boolean var3) { - int var4 = var0.width; - int var5 = var0.height; - if (var0.widthAlignment == 0) { - var0.width = var0.rawWidth; - } else if (var0.widthAlignment == 1) { - var0.width = var1 - var0.rawWidth; - } else if (var0.widthAlignment == 2) { - var0.width = var0.rawWidth * var1 >> 14; - } - - if (var0.heightAlignment == 0) { - var0.height = var0.rawHeight; - } else if (var0.heightAlignment == 1) { - var0.height = var2 - var0.rawHeight; - } else if (var0.heightAlignment == 2) { - var0.height = var2 * var0.rawHeight >> 14; - } - - if (var0.widthAlignment == 4) { - var0.width = var0.field2632 * var0.height / var0.field2556; - } - - if (var0.heightAlignment == 4) { - var0.height = var0.field2556 * var0.width / var0.field2632; - } - - if (var0.contentType == 1337) { - Client.viewportWidget = var0; - } - - if (var3 && var0.onResize != null && (var4 != var0.width || var5 != var0.height)) { - ScriptEvent var6 = new ScriptEvent(); - var6.widget = var0; - var6.args = var0.onResize; - Client.scriptEvents.addFirst(var6); - } - - } -} +import java.util.HashSet; +import java.util.Set; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gs") +public enum class192 implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2362("", 0, new class191[]{class191.field2346}), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2351("", 1, new class191[]{class191.field2345, class191.field2346}), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2352("", 2, new class191[]{class191.field2345, class191.field2344, class191.field2346}), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2353("", 3, new class191[]{class191.field2345}), + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2354("", 4), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2361("", 5, new class191[]{class191.field2345, class191.field2346}), + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2356("", 6, new class191[]{class191.field2346}), + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2357("", 8, new class191[]{class191.field2345, class191.field2346}), + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2350("", 9, new class191[]{class191.field2345, class191.field2344}), + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2359("", 10, new class191[]{class191.field2345}), + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2360("", 11, new class191[]{class191.field2345}), + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2355("", 12, new class191[]{class191.field2345, class191.field2346}), + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Lgs;" + ) + field2358("", 13, new class191[]{class191.field2345}); + + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1983326673 + ) + @Export("id") + final int id; + @ObfuscatedName("e") + final Set field2364; + + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I[Lgl;)V" + ) + class192(String var3, int var4, class191[] var5) { + this.field2364 = new HashSet(); + this.id = var4; + class191[] var6 = var5; + + for (int var7 = 0; var7 < var6.length; ++var7) { + class191 var8 = var6[var7]; + this.field2364.add(var8); + } + + } + + class192(String var3, int var4) { + this.field2364 = new HashSet(); + this.id = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)[Lge;", + garbageValue = "-311102379" + ) + static LoginPacket[] method3640() { + return new LoginPacket[]{LoginPacket.field2287, LoginPacket.field2288, LoginPacket.field2291, LoginPacket.field2290, LoginPacket.field2289}; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIILfi;Lfa;Z[I[IB)I", + garbageValue = "-91" + ) + public static int method3637(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4, boolean var5, int[] var6, int[] var7) { + int var9; + for (int var8 = 0; var8 < 128; ++var8) { + for (var9 = 0; var9 < 128; ++var9) { + class173.directions[var8][var9] = 0; + class173.distances[var8][var9] = 99999999; + } + } + + boolean var27; + if (var2 == 1) { + var27 = method3632(var0, var1, var3, var4); + } else if (var2 == 2) { + var27 = RouteStrategy.method3555(var0, var1, var3, var4); + } else { + var27 = class14.method172(var0, var1, var2, var3, var4); + } + + var9 = var0 - 64; + int var10 = var1 - 64; + int var11 = UserComparator10.field1956; + int var12 = class173.field2075; + int var13; + int var14; + int var16; + if (!var27) { + var13 = Integer.MAX_VALUE; + var14 = Integer.MAX_VALUE; + byte var15 = 10; + var16 = var3.approxDestinationX; + int var17 = var3.approxDestinationY; + int var18 = var3.approxDestinationSizeX; + int var19 = var3.approxDestinationSizeY; + + for (int var20 = var16 - var15; var20 <= var16 + var15; ++var20) { + for (int var21 = var17 - var15; var21 <= var15 + var17; ++var21) { + int var22 = var20 - var9; + int var23 = var21 - var10; + if (var22 >= 0 && var23 >= 0 && var22 < 128 && var23 < 128 && class173.distances[var22][var23] < 100) { + int var24 = 0; + if (var20 < var16) { + var24 = var16 - var20; + } else if (var20 > var16 + var18 - 1) { + var24 = var20 - (var18 + var16 - 1); + } + + int var25 = 0; + if (var21 < var17) { + var25 = var17 - var21; + } else if (var21 > var19 + var17 - 1) { + var25 = var21 - (var19 + var17 - 1); + } + + int var26 = var25 * var25 + var24 * var24; + if (var26 < var13 || var26 == var13 && class173.distances[var22][var23] < var14) { + var13 = var26; + var14 = class173.distances[var22][var23]; + var11 = var20; + var12 = var21; + } + } + } + } + + if (var13 == Integer.MAX_VALUE) { + return -1; + } + } + + if (var0 == var11 && var12 == var1) { + return 0; + } else { + byte var28 = 0; + class173.bufferX[var28] = var11; + var13 = var28 + 1; + class173.bufferY[var28] = var12; + + int var29; + for (var14 = var29 = class173.directions[var11 - var9][var12 - var10]; var0 != var11 || var12 != var1; var14 = class173.directions[var11 - var9][var12 - var10]) { + if (var29 != var14) { + var29 = var14; + class173.bufferX[var13] = var11; + class173.bufferY[var13++] = var12; + } + + if ((var14 & 2) != 0) { + ++var11; + } else if ((var14 & 8) != 0) { + --var11; + } + + if ((var14 & 1) != 0) { + ++var12; + } else if ((var14 & 4) != 0) { + --var12; + } + } + + var16 = 0; + + while (var13-- > 0) { + var6[var16] = class173.bufferX[var13]; + var7[var16++] = class173.bufferY[var13]; + if (var16 >= var6.length) { + break; + } + } + + return var16; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IILfi;Lfa;I)Z", + garbageValue = "-1742878989" + ) + static final boolean method3632(int var0, int var1, RouteStrategy var2, CollisionMap var3) { + int var4 = var0; + int var5 = var1; + byte var6 = 64; + byte var7 = 64; + int var8 = var0 - var6; + int var9 = var1 - var7; + class173.directions[var6][var7] = 99; + class173.distances[var6][var7] = 0; + byte var10 = 0; + int var11 = 0; + class173.bufferX[var10] = var0; + byte var10001 = var10; + int var18 = var10 + 1; + class173.bufferY[var10001] = var1; + int[][] var12 = var3.flags; + + while (var11 != var18) { + var4 = class173.bufferX[var11]; + var5 = class173.bufferY[var11]; + var11 = var11 + 1 & 4095; + int var16 = var4 - var8; + int var17 = var5 - var9; + int var13 = var4 - var3.xInset; + int var14 = var5 - var3.yInset; + if (var2.hasArrived(1, var4, var5, var3)) { + UserComparator10.field1956 = var4; + class173.field2075 = var5; + return true; + } + + int var15 = class173.distances[var16][var17] + 1; + if (var16 > 0 && class173.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136776) == 0) { + class173.bufferX[var18] = var4 - 1; + class173.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class173.directions[var16 - 1][var17] = 2; + class173.distances[var16 - 1][var17] = var15; + } + + if (var16 < 127 && class173.directions[var16 + 1][var17] == 0 && (var12[var13 + 1][var14] & 19136896) == 0) { + class173.bufferX[var18] = var4 + 1; + class173.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class173.directions[var16 + 1][var17] = 8; + class173.distances[var16 + 1][var17] = var15; + } + + if (var17 > 0 && class173.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { + class173.bufferX[var18] = var4; + class173.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class173.directions[var16][var17 - 1] = 1; + class173.distances[var16][var17 - 1] = var15; + } + + if (var17 < 127 && class173.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { + class173.bufferX[var18] = var4; + class173.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class173.directions[var16][var17 + 1] = 4; + class173.distances[var16][var17 + 1] = var15; + } + + if (var16 > 0 && var17 > 0 && class173.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13 - 1][var14] & 19136776) == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { + class173.bufferX[var18] = var4 - 1; + class173.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 - 1][var17 - 1] = 3; + class173.distances[var16 - 1][var17 - 1] = var15; + } + + if (var16 < 127 && var17 > 0 && class173.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0 && (var12[var13 + 1][var14] & 19136896) == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { + class173.bufferX[var18] = var4 + 1; + class173.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 + 1][var17 - 1] = 9; + class173.distances[var16 + 1][var17 - 1] = var15; + } + + if (var16 > 0 && var17 < 127 && class173.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0 && (var12[var13 - 1][var14] & 19136776) == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { + class173.bufferX[var18] = var4 - 1; + class173.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 - 1][var17 + 1] = 6; + class173.distances[var16 - 1][var17 + 1] = var15; + } + + if (var16 < 127 && var17 < 127 && class173.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 1] & 19136992) == 0 && (var12[var13 + 1][var14] & 19136896) == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { + class173.bufferX[var18] = var4 + 1; + class173.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class173.directions[var16 + 1][var17 + 1] = 12; + class173.distances[var16 + 1][var17 + 1] = var15; + } + } + + UserComparator10.field1956 = var4; + class173.field2075 = var5; + return false; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "1437512124" + ) + @Export("changeWorldSelectSorting") + static void changeWorldSelectSorting(int var0, int var1) { + int[] var2 = new int[4]; + int[] var3 = new int[4]; + var2[0] = var0; + var3[0] = var1; + int var4 = 1; + + for (int var5 = 0; var5 < 4; ++var5) { + if (World.World_sortOption1[var5] != var0) { + var2[var4] = World.World_sortOption1[var5]; + var3[var4] = World.World_sortOption2[var5]; + ++var4; + } + } + + World.World_sortOption1 = var2; + World.World_sortOption2 = var3; + WorldMapData_0.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + signature = "(IIS)I", + garbageValue = "5004" + ) + static final int method3639(int var0, int var1) { + if (var0 == -1) { + return 12345678; + } else { + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 65408) + var1; + } + } +} diff --git a/runescape-client/src/main/java/class195.java b/runescape-client/src/main/java/class195.java index 05556affde..05a61f333f 100644 --- a/runescape-client/src/main/java/class195.java +++ b/runescape-client/src/main/java/class195.java @@ -1,71 +1,39 @@ -import java.util.HashMap; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("go") -public class class195 { - @ObfuscatedName("ak") - @Export("null_string") - protected static String null_string; - - static { - new HashMap(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(B)[Lga;", - garbageValue = "-55" - ) - @Export("ServerPacket_values") - public static ServerPacket[] ServerPacket_values() { - return new ServerPacket[]{ServerPacket.field2141, ServerPacket.field2113, ServerPacket.field2122, ServerPacket.field2120, ServerPacket.field2100, ServerPacket.field2101, ServerPacket.field2102, ServerPacket.field2103, ServerPacket.field2104, ServerPacket.field2162, ServerPacket.field2118, ServerPacket.field2107, ServerPacket.field2108, ServerPacket.field2109, ServerPacket.field2110, ServerPacket.field2111, ServerPacket.field2112, ServerPacket.field2098, ServerPacket.field2105, ServerPacket.field2135, ServerPacket.field2134, ServerPacket.field2117, ServerPacket.field2181, ServerPacket.field2119, ServerPacket.field2099, ServerPacket.field2121, ServerPacket.field2096, ServerPacket.field2123, ServerPacket.field2116, ServerPacket.field2137, ServerPacket.field2126, ServerPacket.field2127, ServerPacket.field2142, ServerPacket.field2115, ServerPacket.field2130, ServerPacket.field2168, ServerPacket.field2132, ServerPacket.field2133, ServerPacket.field2131, ServerPacket.field2158, ServerPacket.field2136, ServerPacket.field2182, ServerPacket.field2138, ServerPacket.field2164, ServerPacket.field2172, ServerPacket.field2125, ServerPacket.field2129, ServerPacket.field2106, ServerPacket.field2144, ServerPacket.field2145, ServerPacket.field2146, ServerPacket.field2143, ServerPacket.field2128, ServerPacket.field2149, ServerPacket.field2150, ServerPacket.field2151, ServerPacket.field2152, ServerPacket.field2153, ServerPacket.field2154, ServerPacket.field2124, ServerPacket.field2156, ServerPacket.field2157, ServerPacket.field2147, ServerPacket.field2159, ServerPacket.field2160, ServerPacket.field2161, ServerPacket.field2148, ServerPacket.field2163, ServerPacket.field2155, ServerPacket.field2165, ServerPacket.field2166, ServerPacket.field2167, ServerPacket.field2139, ServerPacket.field2169, ServerPacket.field2170, ServerPacket.field2171, ServerPacket.field2097, ServerPacket.field2173, ServerPacket.field2174, ServerPacket.field2175, ServerPacket.field2176, ServerPacket.field2177, ServerPacket.field2178, ServerPacket.field2179, ServerPacket.field2180, ServerPacket.field2140}; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)Liq;", - garbageValue = "2111185945" - ) - @Export("KitDefinition_get") - public static KitDefinition KitDefinition_get(int var0) { - KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = KitDefinition.KitDefinition_archive.takeFile(3, var0); - var1 = new KitDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - KitDefinition.KitDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "2" - ) - public static void method3663() { - VarpDefinition.VarpDefinition_cached.clear(); - } - - @ObfuscatedName("kt") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "4" - ) - static void method3664(Buffer var0, int var1) { - byte[] var2 = var0.array; - if (Client.randomDatData == null) { - Client.randomDatData = new byte[24]; - } - - class300.writeRandomDat(var2, var1, Client.randomDatData, 0, 24); - class49.method828(var0, var1); - } -} +import java.util.HashMap; +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("go") +public class class195 { + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("options_buttons_0Sprite") + static IndexedSprite options_buttons_0Sprite; + + static { + new HashMap(); + } + + @ObfuscatedName("jz") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1399038807" + ) + @Export("FriendSystem_invalidateIgnoreds") + static final void FriendSystem_invalidateIgnoreds() { + Iterator var0 = Messages.Messages_hashTable.iterator(); + + while (var0.hasNext()) { + Message var1 = (Message)var0.next(); + var1.clearIsFromIgnored(); + } + + if (Varps.clanChat != null) { + Varps.clanChat.invalidateIgnoreds(); + } + + } +} diff --git a/runescape-client/src/main/java/class197.java b/runescape-client/src/main/java/class197.java index 616a48bf17..ffc757c8ca 100644 --- a/runescape-client/src/main/java/class197.java +++ b/runescape-client/src/main/java/class197.java @@ -1,107 +1,52 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("gv") -public class class197 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("musicPatchesArchive") - public static AbstractArchive musicPatchesArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("musicSamplesArchive") - public static AbstractArchive musicSamplesArchive; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("soundEffectsArchive") - public static AbstractArchive soundEffectsArchive; - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Lgt;" - ) - @Export("midiPcmStream") - public static MidiPcmStream midiPcmStream; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1354024537 - ) - public static int field2376; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("musicTrackArchive") - public static AbstractArchive musicTrackArchive; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -497843855 - ) - @Export("musicTrackGroupId") - public static int musicTrackGroupId; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -393064307 - ) - @Export("musicTrackFileId") - public static int musicTrackFileId; - @ObfuscatedName("fk") - @ObfuscatedSignature( - signature = "Lkf;" - ) - @Export("fontPlain12") - static Font fontPlain12; - @ObfuscatedName("gz") - @Export("regions") - static int[] regions; - - static { - field2376 = 0; - } - - @ObfuscatedName("iq") - @ObfuscatedSignature( - signature = "([Lhy;Lhy;ZI)V", - garbageValue = "-974819502" - ) - @Export("revalidateWidgetScroll") - static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { - int var3 = var1.scrollWidth != 0 ? var1.scrollWidth : var1.width; - int var4 = var1.scrollHeight != 0 ? var1.scrollHeight : var1.height; - class80.resizeInterface(var0, var1.id, var3, var4, var2); - if (var1.children != null) { - class80.resizeInterface(var1.children, var1.id, var3, var4, var2); - } - - InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); - if (var5 != null) { - Occluder.resizeComponents(var5.group, var3, var4, var2); - } - - if (var1.contentType == 1337) { - } - - } - - @ObfuscatedName("kd") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)V", - garbageValue = "1549074319" - ) - @Export("clanKickUser") - static final void clanKickUser(String var0) { - if (GrandExchangeOfferUnitPriceComparator.clanChat != null) { - PacketBufferNode var1 = MenuAction.getPacketBufferNode(ClientPacket.field2218, Client.packetWriter.isaacCipher); - var1.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var0)); - var1.packetBuffer.writeStringCp1252NullTerminated(var0); - Client.packetWriter.addNode(var1); - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("gr") +public class class197 { + @ObfuscatedName("ok") + @ObfuscatedSignature( + signature = "Lct;" + ) + @Export("varcs") + static Varcs varcs; + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicPatchesArchive") + public static AbstractArchive musicPatchesArchive; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("soundEffectsArchive") + public static AbstractArchive soundEffectsArchive; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1857449183 + ) + public static int field2386; + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("musicTrackArchive") + public static AbstractArchive musicTrackArchive; + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lgh;" + ) + @Export("musicTrack") + public static MusicTrack musicTrack; + @ObfuscatedName("ba") + static String field2390; + @ObfuscatedName("gw") + @Export("regionMapArchiveIds") + static int[] regionMapArchiveIds; + + static { + field2386 = 0; + } +} diff --git a/runescape-client/src/main/java/class2.java b/runescape-client/src/main/java/class2.java index 8af583c136..0c14e483fb 100644 --- a/runescape-client/src/main/java/class2.java +++ b/runescape-client/src/main/java/class2.java @@ -1,70 +1,82 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("t") -final class class2 implements class0 { - @ObfuscatedName("bj") - @ObfuscatedSignature( - signature = "Llt;" - ) - @Export("worldSelectLeftSprite") - static IndexedSprite worldSelectLeftSprite; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkz;B)V", - garbageValue = "1" - ) - public void vmethod42(Object var1, Buffer var2) { - this.method20((Long)var1, var2); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;S)Ljava/lang/Object;", - garbageValue = "31810" - ) - public Object vmethod41(Buffer var1) { - return var1.readLong(); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljava/lang/Long;Lkz;B)V", - garbageValue = "3" - ) - void method20(Long var1, Buffer var2) { - var2.writeLong(var1); - } - - @ObfuscatedName("gn") - @ObfuscatedSignature( - signature = "(ZI)V", - garbageValue = "291099501" - ) - @Export("addNpcsToScene") - static final void addNpcsToScene(boolean var0) { - for (int var1 = 0; var1 < Client.npcCount; ++var1) { - NPC var2 = Client.npcs[Client.npcIndices[var1]]; - if (var2 != null && var2.isVisible() && var2.definition.isVisible == var0 && var2.definition.transformIsVisible()) { - int var3 = var2.x * -78439701 >> 7; - int var4 = var2.y >> 7; - if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { - if (var2.size == 1 && (var2.x * -78439701 & 127) == 64 && (var2.y & 127) == 64) { - if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { - continue; - } - - Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; - } - - long var5 = WorldMapIcon_1.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); - var2.playerCycle = Client.cycle; - WorldMapIcon_1.scene.drawEntity(MouseRecorder.plane, var2.x * -78439701, var2.y, WorldMapAreaData.getTileHeight(var2.x * -78439701 + (var2.size * 64 - 64), var2.size * 64 - 64 + var2.y, MouseRecorder.plane), var2.size * 64 - 64 + 60, var2, var2.rotation, var5, var2.isWalking); - } - } - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("v") +final class class2 implements class0 { + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "Lhp;" + ) + @Export("Widget_fontsArchive") + static AbstractArchive Widget_fontsArchive; + @ObfuscatedName("ix") + @ObfuscatedGetter( + intValue = 1489483619 + ) + @Export("selectedItemWidget") + static int selectedItemWidget; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkl;B)V", + garbageValue = "0" + ) + public void vmethod64(Object var1, Buffer var2) { + this.method18((Long)var1, var2); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;B)Ljava/lang/Object;", + garbageValue = "-93" + ) + public Object vmethod55(Buffer var1) { + return var1.readLong(); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/Long;Lkl;B)V", + garbageValue = "33" + ) + void method18(Long var1, Buffer var2) { + var2.writeLong(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "-620659228" + ) + public static int method30(int var0) { + return var0 >> 11 & 63; + } + + @ObfuscatedName("v") + @Export("ViewportMouse_unpackX") + public static int ViewportMouse_unpackX(long var0) { + return (int)(var0 >>> 0 & 127L); + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;II)I", + garbageValue = "-2101135652" + ) + public static int method29(CharSequence var0, int var1) { + return SoundCache.parseIntCustomRadix(var0, var1, true); + } + + @ObfuscatedName("kk") + @ObfuscatedSignature( + signature = "(Lho;I)I", + garbageValue = "425196182" + ) + @Export("getWidgetClickMask") + static int getWidgetClickMask(Widget var0) { + IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.get(((long)var0.id << 32) + (long)var0.childIndex); + return var1 != null ? var1.integer : var0.clickMask; + } +} diff --git a/runescape-client/src/main/java/class208.java b/runescape-client/src/main/java/class208.java index 1d7604dbf5..ea559ac8b8 100644 --- a/runescape-client/src/main/java/class208.java +++ b/runescape-client/src/main/java/class208.java @@ -1,11 +1,67 @@ -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("hh") -public class class208 { - @ObfuscatedName("eq") - @ObfuscatedGetter( - intValue = -1589464149 - ) - static int field2475; -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hh") +public class class208 { + @ObfuscatedName("gd") + @ObfuscatedSignature( + signature = "(B)I", + garbageValue = "15" + ) + @Export("getHighestVisiblePlane") + static final int getHighestVisiblePlane() { + if (AbstractArchive.clientPreferences.roofsHidden) { + return WorldMapRectangle.plane; + } else { + int var0 = MusicPatchPcmStream.getTileHeight(GrandExchangeOfferOwnWorldComparator.cameraX, WorldMapIcon_1.cameraZ, WorldMapRectangle.plane); + return var0 - Varcs.cameraY < 800 && (Tiles.Tiles_renderFlags[WorldMapRectangle.plane][GrandExchangeOfferOwnWorldComparator.cameraX >> 7][WorldMapIcon_1.cameraZ >> 7] & 4) != 0 ? WorldMapRectangle.plane : 3; + } + } + + @ObfuscatedName("hx") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "73357396" + ) + @Export("Widget_runOnTargetLeave") + static void Widget_runOnTargetLeave() { + if (Client.isSpellSelected) { + Widget var0 = GrandExchangeOfferWorldComparator.getWidgetChild(AttackOption.selectedSpellWidget, Client.selectedSpellChildIndex); + if (var0 != null && var0.onTargetLeave != null) { + ScriptEvent var1 = new ScriptEvent(); + var1.widget = var0; + var1.args = var0.onTargetLeave; + ParamDefinition.runScriptEvent(var1); + } + + Client.isSpellSelected = false; + WorldMapSectionType.invalidateWidget(var0); + } + } + + @ObfuscatedName("ju") + @ObfuscatedSignature( + signature = "(IIIILlf;Lhz;I)V", + garbageValue = "1204804321" + ) + @Export("drawSpriteOnMinimap") + static final void drawSpriteOnMinimap(int var0, int var1, int var2, int var3, Sprite var4, SpriteMask var5) { + if (var4 != null) { + int var6 = Client.camAngleY & 2047; + int var7 = var3 * var3 + var2 * var2; + if (var7 <= 6400) { + int var8 = Rasterizer3D.Rasterizer3D_sine[var6]; + int var9 = Rasterizer3D.Rasterizer3D_cosine[var6]; + int var10 = var9 * var2 + var3 * var8 >> 16; + int var11 = var3 * var9 - var8 * var2 >> 16; + if (var7 > 2500) { + var4.method6065(var10 + var5.width / 2 - var4.width / 2, var5.height / 2 - var11 - var4.height / 2, var0, var1, var5.width, var5.height, var5.xStarts, var5.xWidths); + } else { + var4.drawTransBgAt(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); + } + + } + } + } +} diff --git a/runescape-client/src/main/java/class210.java b/runescape-client/src/main/java/class210.java index 69ce1ffdb8..3bd458fda6 100644 --- a/runescape-client/src/main/java/class210.java +++ b/runescape-client/src/main/java/class210.java @@ -1,97 +1,36 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hd") -public class class210 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhq;" - ) - @Export("huffman") - public static Huffman huffman; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "-1407150141" - ) - public static boolean method3951(int var0, int var1) { - return (var0 >> var1 + 1 & 1) != 0; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;II[BII)I", - garbageValue = "1570390476" - ) - @Export("encodeStringCp1252") - public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { - int var5 = var2 - var1; - - for (int var6 = 0; var6 < var5; ++var6) { - char var7 = var0.charAt(var6 + var1); - if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { - var3[var6 + var4] = (byte)var7; - } else if (var7 == 8364) { - var3[var6 + var4] = -128; - } else if (var7 == 8218) { - var3[var6 + var4] = -126; - } else if (var7 == 402) { - var3[var6 + var4] = -125; - } else if (var7 == 8222) { - var3[var6 + var4] = -124; - } else if (var7 == 8230) { - var3[var6 + var4] = -123; - } else if (var7 == 8224) { - var3[var6 + var4] = -122; - } else if (var7 == 8225) { - var3[var6 + var4] = -121; - } else if (var7 == 710) { - var3[var6 + var4] = -120; - } else if (var7 == 8240) { - var3[var6 + var4] = -119; - } else if (var7 == 352) { - var3[var6 + var4] = -118; - } else if (var7 == 8249) { - var3[var6 + var4] = -117; - } else if (var7 == 338) { - var3[var6 + var4] = -116; - } else if (var7 == 381) { - var3[var6 + var4] = -114; - } else if (var7 == 8216) { - var3[var6 + var4] = -111; - } else if (var7 == 8217) { - var3[var6 + var4] = -110; - } else if (var7 == 8220) { - var3[var6 + var4] = -109; - } else if (var7 == 8221) { - var3[var6 + var4] = -108; - } else if (var7 == 8226) { - var3[var6 + var4] = -107; - } else if (var7 == 8211) { - var3[var6 + var4] = -106; - } else if (var7 == 8212) { - var3[var6 + var4] = -105; - } else if (var7 == 732) { - var3[var6 + var4] = -104; - } else if (var7 == 8482) { - var3[var6 + var4] = -103; - } else if (var7 == 353) { - var3[var6 + var4] = -102; - } else if (var7 == 8250) { - var3[var6 + var4] = -101; - } else if (var7 == 339) { - var3[var6 + var4] = -100; - } else if (var7 == 382) { - var3[var6 + var4] = -98; - } else if (var7 == 376) { - var3[var6 + var4] = -97; - } else { - var3[var6 + var4] = 63; - } - } - - return var5; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hk") +public class class210 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lht;" + ) + @Export("huffman") + public static Huffman huffman; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(ILjava/lang/String;Ljava/lang/String;B)V", + garbageValue = "-65" + ) + @Export("addGameMessage") + static void addGameMessage(int var0, String var1, String var2) { + WorldMapData_1.addChatMessage(var0, var1, var2, (String)null); + } + + @ObfuscatedName("fl") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2143242016" + ) + static void method3939() { + PacketBufferNode var0 = InterfaceParent.getPacketBufferNode(ClientPacket.field2256, Client.packetWriter.isaacCipher); + var0.packetBuffer.writeByte(class247.getWindowedMode()); + var0.packetBuffer.writeShort(FloorDecoration.canvasWidth); + var0.packetBuffer.writeShort(WallDecoration.canvasHeight); + Client.packetWriter.addNode(var0); + } +} diff --git a/runescape-client/src/main/java/class215.java b/runescape-client/src/main/java/class215.java index 6433c08354..bdc9a9e680 100644 --- a/runescape-client/src/main/java/class215.java +++ b/runescape-client/src/main/java/class215.java @@ -1,28 +1,20 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hm") -public class class215 { - @ObfuscatedName("c") - public static final short[] field2518; - @ObfuscatedName("x") - public static final short[][] field2519; - @ObfuscatedName("t") - public static final short[] field2520; - @ObfuscatedName("g") - public static final short[][] field2521; - @ObfuscatedName("f") - @ObfuscatedSignature( - signature = "Lkf;" - ) - @Export("ItemDefinition_fontPlain11") - static Font ItemDefinition_fontPlain11; - - static { - field2518 = new short[]{6798, 8741, 25238, 4626, 4550}; - field2519 = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127, -31821, -17991}}; - field2520 = new short[]{-10304, 9104, -1, -1, -1}; - field2521 = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; - } -} +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("he") +public class class215 { + @ObfuscatedName("z") + public static final short[] field2531; + @ObfuscatedName("n") + public static final short[][] field2530; + @ObfuscatedName("v") + public static final short[] field2532; + @ObfuscatedName("u") + public static final short[][] field2529; + + static { + field2531 = new short[]{6798, 8741, 25238, 4626, 4550}; + field2530 = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127, -31821, -17991}}; + field2532 = new short[]{-10304, 9104, -1, -1, -1}; + field2529 = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; + } +} diff --git a/runescape-client/src/main/java/class216.java b/runescape-client/src/main/java/class216.java index bcfdcd50f8..eff5022395 100644 --- a/runescape-client/src/main/java/class216.java +++ b/runescape-client/src/main/java/class216.java @@ -1,125 +1,191 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("hp") -public class class216 { - @ObfuscatedName("ja") - @ObfuscatedSignature( - signature = "Ldt;" - ) - @Export("textureProvider") - static TextureProvider textureProvider; - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "-1625750481" - ) - static int method4015(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { - var0 -= 1000; - var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - } else { - var3 = var2 ? UserComparator9.field1941 : MidiPcmStream.field2410; - } - - String var4 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - int[] var5 = null; - if (var4.length() > 0 && var4.charAt(var4.length() - 1) == 'Y') { - int var6 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var6 > 0) { - for (var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]) { - } - } - - var4 = var4.substring(0, var4.length() - 1); - } - - Object[] var8 = new Object[var4.length() + 1]; - - int var7; - for (var7 = var8.length - 1; var7 >= 1; --var7) { - if (var4.charAt(var7 - 1) == 's') { - var8[var7] = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - } else { - var8[var7] = new Integer(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - } - } - - var7 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - if (var7 != -1) { - var8[0] = new Integer(var7); - } else { - var8 = null; - } - - if (var0 == ScriptOpcodes.CC_SETONCLICK) { - var3.onClick = var8; - } else if (var0 == ScriptOpcodes.CC_SETONHOLD) { - var3.onHold = var8; - } else if (var0 == ScriptOpcodes.CC_SETONRELEASE) { - var3.onRelease = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSEOVER) { - var3.onMouseOver = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSELEAVE) { - var3.onMouseLeave = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDRAG) { - var3.onDrag = var8; - } else if (var0 == ScriptOpcodes.CC_SETONTARGETLEAVE) { - var3.onTargetLeave = var8; - } else if (var0 == ScriptOpcodes.CC_SETONVARTRANSMIT) { - var3.onVarTransmit = var8; - var3.varTransmitTriggers = var5; - } else if (var0 == ScriptOpcodes.CC_SETONTIMER) { - var3.onTimer = var8; - } else if (var0 == ScriptOpcodes.CC_SETONOP) { - var3.onOp = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDRAGCOMPLETE) { - var3.onDragComplete = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLICKREPEAT) { - var3.onClickRepeat = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSEREPEAT) { - var3.onMouseRepeat = var8; - } else if (var0 == ScriptOpcodes.CC_SETONINVTRANSMIT) { - var3.onInvTransmit = var8; - var3.invTransmitTriggers = var5; - } else if (var0 == ScriptOpcodes.CC_SETONSTATTRANSMIT) { - var3.onStatTransmit = var8; - var3.statTransmitTriggers = var5; - } else if (var0 == ScriptOpcodes.CC_SETONTARGETENTER) { - var3.onTargetEnter = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSCROLLWHEEL) { - var3.onScroll = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCHATTRANSMIT) { - var3.onChatTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONKEY) { - var3.onKey = var8; - } else if (var0 == ScriptOpcodes.CC_SETONFRIENDTRANSMIT) { - var3.onFriendTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLANTRANSMIT) { - var3.onClanTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMISCTRANSMIT) { - var3.onMiscTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDIALOGABORT) { - var3.onDialogAbort = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSUBCHANGE) { - var3.onSubChange = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSTOCKTRANSMIT) { - var3.onStockTransmit = var8; - } else if (var0 == 1426) { - var3.field2655 = var8; - } else { - if (var0 != ScriptOpcodes.CC_SETONRESIZE) { - return 2; - } - - var3.onResize = var8; - } - - var3.hasListener = true; - return 1; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hq") +public class class216 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Liy;", + garbageValue = "1314955897" + ) + @Export("KitDefinition_get") + public static KitDefinition KitDefinition_get(int var0) { + KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = KitDefinition.KitDefinition_archive.takeFile(3, var0); + var1 = new KitDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + KitDefinition.KitDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("ia") + @ObfuscatedSignature( + signature = "(Lho;IB)I", + garbageValue = "25" + ) + static final int method4003(Widget var0, int var1) { + if (var0.cs1Instructions != null && var1 < var0.cs1Instructions.length) { + try { + int[] var2 = var0.cs1Instructions[var1]; + int var3 = 0; + int var4 = 0; + byte var5 = 0; + + while (true) { + int var6 = var2[var4++]; + int var7 = 0; + byte var8 = 0; + if (var6 == 0) { + return var3; + } + + if (var6 == 1) { + var7 = Client.currentLevels[var2[var4++]]; + } + + if (var6 == 2) { + var7 = Client.levels[var2[var4++]]; + } + + if (var6 == 3) { + var7 = Client.experience[var2[var4++]]; + } + + int var9; + Widget var10; + int var11; + int var12; + if (var6 == 4) { + var9 = var2[var4++] << 16; + var9 += var2[var4++]; + var10 = Canvas.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!Occluder.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for (var12 = 0; var12 < var10.itemIds.length; ++var12) { + if (var11 + 1 == var10.itemIds[var12]) { + var7 += var10.itemQuantities[var12]; + } + } + } + } + + if (var6 == 5) { + var7 = Varps.Varps_main[var2[var4++]]; + } + + if (var6 == 6) { + var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1]; + } + + if (var6 == 7) { + var7 = Varps.Varps_main[var2[var4++]] * 100 / 46875; + } + + if (var6 == 8) { + var7 = class223.localPlayer.combatLevel; + } + + if (var6 == 9) { + for (var9 = 0; var9 < 25; ++var9) { + if (Skills.Skills_enabled[var9]) { + var7 += Client.levels[var9]; + } + } + } + + if (var6 == 10) { + var9 = var2[var4++] << 16; + var9 += var2[var4++]; + var10 = Canvas.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!Occluder.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for (var12 = 0; var12 < var10.itemIds.length; ++var12) { + if (var11 + 1 == var10.itemIds[var12]) { + var7 = 999999999; + break; + } + } + } + } + + if (var6 == 11) { + var7 = Client.runEnergy; + } + + if (var6 == 12) { + var7 = Client.weight; + } + + if (var6 == 13) { + var9 = Varps.Varps_main[var2[var4++]]; + int var13 = var2[var4++]; + var7 = (var9 & 1 << var13) != 0 ? 1 : 0; + } + + if (var6 == 14) { + var9 = var2[var4++]; + var7 = WorldMapSprite.getVarbit(var9); + } + + if (var6 == 15) { + var8 = 1; + } + + if (var6 == 16) { + var8 = 2; + } + + if (var6 == 17) { + var8 = 3; + } + + if (var6 == 18) { + var7 = class223.baseX * 64 + (class223.localPlayer.x >> 7); + } + + if (var6 == 19) { + var7 = class286.baseY * 64 + (class223.localPlayer.y * 682054857 >> 7); + } + + if (var6 == 20) { + var7 = var2[var4++]; + } + + if (var8 == 0) { + if (var5 == 0) { + var3 += var7; + } + + if (var5 == 1) { + var3 -= var7; + } + + if (var5 == 2 && var7 != 0) { + var3 /= var7; + } + + if (var5 == 3) { + var3 *= var7; + } + + var5 = 0; + } else { + var5 = var8; + } + } + } catch (Exception var14) { + return -1; + } + } else { + return -2; + } + } +} diff --git a/runescape-client/src/main/java/class218.java b/runescape-client/src/main/java/class218.java deleted file mode 100644 index eb1bf145b3..0000000000 --- a/runescape-client/src/main/java/class218.java +++ /dev/null @@ -1,291 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("hs") -public class class218 { - @ObfuscatedName("rr") - @ObfuscatedSignature( - signature = "Lbc;" - ) - @Export("friendSystem") - public static FriendSystem friendSystem; - - @ObfuscatedName("ap") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "4" - ) - static int method4091(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.publicChatMode; - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { - class160.Interpreter_intStackSize -= 3; - Client.publicChatMode = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - class192.privateChatMode = GameObject.method3263(Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]); - if (class192.privateChatMode == null) { - class192.privateChatMode = PrivateChatMode.field3786; - } - - Client.tradeChatMode = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - PacketBufferNode var18 = MenuAction.getPacketBufferNode(ClientPacket.field2241, Client.packetWriter.isaacCipher); - var18.packetBuffer.writeByte(Client.publicChatMode); - var18.packetBuffer.writeByte(class192.privateChatMode.field3787); - var18.packetBuffer.writeByte(Client.tradeChatMode); - Client.packetWriter.addNode(var18); - return 1; - } else { - String var3; - int var4; - if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class160.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - int var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - PacketBufferNode var6 = MenuAction.getPacketBufferNode(ClientPacket.field2249, Client.packetWriter.isaacCipher); - var6.packetBuffer.writeByte(Varcs.stringCp1252NullTerminatedByteSize(var3) + 2); - var6.packetBuffer.writeStringCp1252NullTerminated(var3); - var6.packetBuffer.writeByte(var4 - 1); - var6.packetBuffer.writeByte(var5); - Client.packetWriter.addNode(var6); - return 1; - } else { - int var10; - if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { - class160.Interpreter_intStackSize -= 2; - var10 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Message var15 = TileItemPile.Messages_getByChannelAndID(var10, var4); - if (var15 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var15.count; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var15.cycle; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var15.sender != null ? var15.sender : ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var15.prefix != null ? var15.prefix : ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var15.text != null ? var15.text : ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var15.isFromFriend() ? 1 : (var15.isFromIgnored() ? 2 : 0); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Message var16 = WorldMapData_0.Messages_getMessage(var10); - if (var16 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var16.type; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var16.cycle; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var16.sender != null ? var16.sender : ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var16.prefix != null ? var16.prefix : ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var16.text != null ? var16.text : ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var16.isFromFriend() ? 1 : (var16.isFromIgnored() ? 2 : 0); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { - if (class192.privateChatMode == null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class192.privateChatMode.field3787; - } - - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - String var14 = var3.toLowerCase(); - byte var17 = 0; - if (var14.startsWith("yellow:")) { - var17 = 0; - var3 = var3.substring("yellow:".length()); - } else if (var14.startsWith("red:")) { - var17 = 1; - var3 = var3.substring("red:".length()); - } else if (var14.startsWith("green:")) { - var17 = 2; - var3 = var3.substring("green:".length()); - } else if (var14.startsWith("cyan:")) { - var17 = 3; - var3 = var3.substring("cyan:".length()); - } else if (var14.startsWith("purple:")) { - var17 = 4; - var3 = var3.substring("purple:".length()); - } else if (var14.startsWith("white:")) { - var17 = 5; - var3 = var3.substring("white:".length()); - } else if (var14.startsWith("flash1:")) { - var17 = 6; - var3 = var3.substring("flash1:".length()); - } else if (var14.startsWith("flash2:")) { - var17 = 7; - var3 = var3.substring("flash2:".length()); - } else if (var14.startsWith("flash3:")) { - var17 = 8; - var3 = var3.substring("flash3:".length()); - } else if (var14.startsWith("glow1:")) { - var17 = 9; - var3 = var3.substring("glow1:".length()); - } else if (var14.startsWith("glow2:")) { - var17 = 10; - var3 = var3.substring("glow2:".length()); - } else if (var14.startsWith("glow3:")) { - var17 = 11; - var3 = var3.substring("glow3:".length()); - } else if (class43.clientLanguage != Language.Language_EN) { - if (var14.startsWith("yellow:")) { - var17 = 0; - var3 = var3.substring("yellow:".length()); - } else if (var14.startsWith("red:")) { - var17 = 1; - var3 = var3.substring("red:".length()); - } else if (var14.startsWith("green:")) { - var17 = 2; - var3 = var3.substring("green:".length()); - } else if (var14.startsWith("cyan:")) { - var17 = 3; - var3 = var3.substring("cyan:".length()); - } else if (var14.startsWith("purple:")) { - var17 = 4; - var3 = var3.substring("purple:".length()); - } else if (var14.startsWith("white:")) { - var17 = 5; - var3 = var3.substring("white:".length()); - } else if (var14.startsWith("flash1:")) { - var17 = 6; - var3 = var3.substring("flash1:".length()); - } else if (var14.startsWith("flash2:")) { - var17 = 7; - var3 = var3.substring("flash2:".length()); - } else if (var14.startsWith("flash3:")) { - var17 = 8; - var3 = var3.substring("flash3:".length()); - } else if (var14.startsWith("glow1:")) { - var17 = 9; - var3 = var3.substring("glow1:".length()); - } else if (var14.startsWith("glow2:")) { - var17 = 10; - var3 = var3.substring("glow2:".length()); - } else if (var14.startsWith("glow3:")) { - var17 = 11; - var3 = var3.substring("glow3:".length()); - } - } - - var14 = var3.toLowerCase(); - byte var7 = 0; - if (var14.startsWith("wave:")) { - var7 = 1; - var3 = var3.substring("wave:".length()); - } else if (var14.startsWith("wave2:")) { - var7 = 2; - var3 = var3.substring("wave2:".length()); - } else if (var14.startsWith("shake:")) { - var7 = 3; - var3 = var3.substring("shake:".length()); - } else if (var14.startsWith("scroll:")) { - var7 = 4; - var3 = var3.substring("scroll:".length()); - } else if (var14.startsWith("slide:")) { - var7 = 5; - var3 = var3.substring("slide:".length()); - } else if (Language.Language_EN != class43.clientLanguage) { - if (var14.startsWith("wave:")) { - var7 = 1; - var3 = var3.substring("wave:".length()); - } else if (var14.startsWith("wave2:")) { - var7 = 2; - var3 = var3.substring("wave2:".length()); - } else if (var14.startsWith("shake:")) { - var7 = 3; - var3 = var3.substring("shake:".length()); - } else if (var14.startsWith("scroll:")) { - var7 = 4; - var3 = var3.substring("scroll:".length()); - } else if (var14.startsWith("slide:")) { - var7 = 5; - var3 = var3.substring("slide:".length()); - } - } - - PacketBufferNode var8 = MenuAction.getPacketBufferNode(ClientPacket.field2278, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeByte(0); - int var9 = var8.packetBuffer.offset; - var8.packetBuffer.writeByte(var4); - var8.packetBuffer.writeByte(var17); - var8.packetBuffer.writeByte(var7); - World.method1755(var8.packetBuffer, var3); - var8.packetBuffer.writeLengthByte(var8.packetBuffer.offset - var9); - Client.packetWriter.addNode(var8); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { - TextureProvider.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize]; - String var12 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize + 1]; - PacketBufferNode var11 = MenuAction.getPacketBufferNode(ClientPacket.field2208, Client.packetWriter.isaacCipher); - var11.packetBuffer.writeShort(0); - int var13 = var11.packetBuffer.offset; - var11.packetBuffer.writeStringCp1252NullTerminated(var3); - World.method1755(var11.packetBuffer, var12); - var11.packetBuffer.writeLengthShort(var11.packetBuffer.offset - var13); - Client.packetWriter.addNode(var11); - return 1; - } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { - if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.tradeChatMode; - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = class160.Messages_getHistorySize(var10); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = WorldMapManager.Messages_getNextChatID(var10); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GrandExchangeOfferOwnWorldComparator.Messages_getLastChatID(var10); - return 1; - } else if (var0 == ScriptOpcodes.DOCHEAT) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - Tiles.doCheat(var3); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { - Client.field778 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize].toLowerCase().trim(); - return 1; - } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = Client.field778; - return 1; - } else if (var0 == 5023) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - System.out.println(var3); - return 1; - } else { - return 2; - } - } else { - if (Varps.localPlayer != null && Varps.localPlayer.username != null) { - var3 = Varps.localPlayer.username.getName(); - } else { - var3 = ""; - } - - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3; - return 1; - } - } - } - } -} diff --git a/runescape-client/src/main/java/class219.java b/runescape-client/src/main/java/class219.java index 1b16fc8988..97f4df3320 100644 --- a/runescape-client/src/main/java/class219.java +++ b/runescape-client/src/main/java/class219.java @@ -1,13 +1,239 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hf") -public class class219 { - @ObfuscatedName("dy") - @ObfuscatedSignature( - signature = "Lks;" - ) - @Export("js5Socket") - static AbstractSocket js5Socket; -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("hg") +public class class219 { + @ObfuscatedName("qe") + @ObfuscatedSignature( + signature = "Ldv;" + ) + @Export("pcmPlayer0") + static PcmPlayer pcmPlayer0; + @ObfuscatedName("pe") + @ObfuscatedSignature( + signature = "Lkc;" + ) + @Export("privateChatMode") + static PrivateChatMode privateChatMode; + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "689014870" + ) + public static void method4067() { + SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); + SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "412788434" + ) + static int method4069(int var0) { + return (int)((Math.log((double)var0) / Interpreter.field1077 - 7.0D) * 256.0D); + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "1490314370" + ) + static int method4068(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = BufferedNetSocket.loadWorlds() ? 1 : 0; + return 1; + } else { + World var3; + if (var0 == ScriptOpcodes.WORLDLIST_START) { + var3 = ModelData0.worldListStart(); + if (var3 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { + var3 = AbstractByteArrayCopier.getNextWorldListWorld(); + if (var3 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else { + World var4; + int var5; + int var7; + if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = null; + + for (var5 = 0; var5 < World.World_count; ++var5) { + if (var7 == World.World_worlds[var5].id) { + var4 = World.World_worlds[var5]; + break; + } + } + + if (var4 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { + Interpreter.Interpreter_intStackSize -= 4; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + boolean var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + boolean var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3] == 1; + class49.sortWorldList(var7, var10, var5, var6); + return 1; + } else if (var0 != ScriptOpcodes.GETWORLDINFO) { + if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { + Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else { + int var8; + ParamDefinition var9; + if (var0 == ScriptOpcodes.NC_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var9 = WallDecoration.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = PacketBufferNode.getNpcDefinition(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = PacketBufferNode.getNpcDefinition(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.LC_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var9 = WallDecoration.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var9 = WallDecoration.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Occluder.ItemDefinition_get(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Occluder.ItemDefinition_get(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var9 = WallDecoration.getParamDefinition(var8); + if (var9.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = JagexCache.StructDefinition_getStructDefinition(var7).getStringParam(var8, var9.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = JagexCache.StructDefinition_getStructDefinition(var7).getIntParam(var8, var9.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.ON_MOBILE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLIENTTYPE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.clientType & 3; + return 1; + } else if (var0 == 6520) { + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) { + return 1; + } else if (var0 == 6522) { + --Interpreter.Interpreter_stringStackSize; + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == 6523) { + --Interpreter.Interpreter_stringStackSize; + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.BATTERYLEVEL) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 == ScriptOpcodes.BATTERYCHARGING) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + return 1; + } else if (var0 == ScriptOpcodes.WIFIAVAILABLE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + return 1; + } else { + return 2; + } + } + } else { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var7 >= 0 && var7 < World.World_count) { + var4 = World.World_worlds[var7]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } + } + } +} diff --git a/runescape-client/src/main/java/class222.java b/runescape-client/src/main/java/class222.java index db0098b29a..efbc3a9c58 100644 --- a/runescape-client/src/main/java/class222.java +++ b/runescape-client/src/main/java/class222.java @@ -1,31 +1,145 @@ -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hk") -public class class222 { - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1751013611 - ) - static int field2726; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1104641647 - ) - static int field2724; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -653819607 - ) - static int field2729; - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "-617072385" - ) - public static boolean method4101(int var0) { - return (var0 >> 20 & 1) != 0; - } -} +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("hu") +public class class222 { + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1634764861 + ) + static int field2729; + + @ObfuscatedName("as") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "1931429415" + ) + static int method4078(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.OC_NAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Occluder.ItemDefinition_get(var3).name; + return 1; + } else { + int var4; + ItemDefinition var5; + if (var0 == ScriptOpcodes.OC_OP) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = Occluder.ItemDefinition_get(var3); + if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_IOP) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = Occluder.ItemDefinition_get(var3); + if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_COST) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Occluder.ItemDefinition_get(var3).price; + return 1; + } else if (var0 == ScriptOpcodes.OC_STACKABLE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Occluder.ItemDefinition_get(var3).isStackable == 1 ? 1 : 0; + return 1; + } else { + ItemDefinition var6; + if (var0 == ScriptOpcodes.OC_CERT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Occluder.ItemDefinition_get(var3); + if (var6.noteTemplate == -1 && var6.note >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.note; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_UNCERT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Occluder.ItemDefinition_get(var3); + if (var6.noteTemplate >= 0 && var6.note >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.note; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_MEMBERS) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Occluder.ItemDefinition_get(var3).isMembersOnly ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Occluder.ItemDefinition_get(var3); + if (var6.placeholderTemplate == -1 && var6.placeholder >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.placeholder; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var6 = Occluder.ItemDefinition_get(var3); + if (var6.placeholderTemplate >= 0 && var6.placeholder >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.placeholder; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_FIND) { + String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Canvas.findItemDefinitions(var7, var4 == 1); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = DevicePcmPlayerProvider.foundItemIdCount; + return 1; + } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { + if (var0 == ScriptOpcodes.OC_FINDRESET) { + ReflectionCheck.foundItemIndex = 0; + return 1; + } else { + return 2; + } + } else { + if (WorldMapIcon_0.foundItemIds != null && ReflectionCheck.foundItemIndex < DevicePcmPlayerProvider.foundItemIdCount) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapIcon_0.foundItemIds[++ReflectionCheck.foundItemIndex - 1] & '\uffff'; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } + + return 1; + } + } + } + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "1936251414" + ) + static int method4077(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.LOGOUT) { + Client.logoutTimer = 250; + return 1; + } else { + return 2; + } + } +} diff --git a/runescape-client/src/main/java/class223.java b/runescape-client/src/main/java/class223.java index 675e58a904..00d4f2c543 100644 --- a/runescape-client/src/main/java/class223.java +++ b/runescape-client/src/main/java/class223.java @@ -1,56 +1,20 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hr") -public class class223 { - @ObfuscatedName("fs") - @ObfuscatedSignature( - signature = "(Lhy;III)V", - garbageValue = "1135716702" - ) - @Export("checkIfMinimapClicked") - static final void checkIfMinimapClicked(Widget var0, int var1, int var2) { - if (Client.minimapState == 0 || Client.minimapState == 3) { - if (!Client.isMenuOpen && (MouseHandler.MouseHandler_lastButton == 1 || !WorldMapSection1.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { - SpriteMask var3 = var0.getSpriteMask(true); - if (var3 == null) { - return; - } - - int var4 = MouseHandler.MouseHandler_lastPressedX - var1; - int var5 = MouseHandler.MouseHandler_lastPressedY - var2; - if (var3.contains(var4, var5)) { - var4 -= var3.width / 2; - var5 -= var3.height / 2; - int var6 = Client.camAngleY & 2047; - int var7 = Rasterizer3D.Rasterizer3D_sine[var6]; - int var8 = Rasterizer3D.Rasterizer3D_cosine[var6]; - int var9 = var8 * var4 + var7 * var5 >> 11; - int var10 = var8 * var5 - var7 * var4 >> 11; - int var11 = Varps.localPlayer.x * -78439701 + var9 >> 7; - int var12 = Varps.localPlayer.y - var10 >> 7; - PacketBufferNode var13 = MenuAction.getPacketBufferNode(ClientPacket.field2245, Client.packetWriter.isaacCipher); - var13.packetBuffer.writeByte(18); - var13.packetBuffer.method5491(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); - var13.packetBuffer.writeShort(var12 + ScriptEvent.baseY); - var13.packetBuffer.writeShort(class4.baseX * 64 + var11); - var13.packetBuffer.writeByte(var4); - var13.packetBuffer.writeByte(var5); - var13.packetBuffer.writeShort(Client.camAngleY); - var13.packetBuffer.writeByte(57); - var13.packetBuffer.writeByte(0); - var13.packetBuffer.writeByte(0); - var13.packetBuffer.writeByte(89); - var13.packetBuffer.writeShort(Varps.localPlayer.x * -78439701); - var13.packetBuffer.writeShort(Varps.localPlayer.y); - var13.packetBuffer.writeByte(63); - Client.packetWriter.addNode(var13); - Client.destinationX = var11; - Client.destinationY = var12; - } - } - - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hi") +public class class223 { + @ObfuscatedName("fw") + @ObfuscatedGetter( + intValue = -369406041 + ) + @Export("baseX") + static int baseX; + @ObfuscatedName("jk") + @ObfuscatedSignature( + signature = "Lbi;" + ) + @Export("localPlayer") + static Player localPlayer; +} diff --git a/runescape-client/src/main/java/class225.java b/runescape-client/src/main/java/class225.java index ebc749f26e..9fbc6a70ec 100644 --- a/runescape-client/src/main/java/class225.java +++ b/runescape-client/src/main/java/class225.java @@ -1,69 +1,19 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hb") -public class class225 { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IB)Liv;", - garbageValue = "-97" - ) - @Export("StructDefinition_getStructDefinition") - public static StructDefinition StructDefinition_getStructDefinition(int var0) { - StructDefinition var1 = (StructDefinition)StructDefinition.StructDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = StructDefinition.StructDefinition_archive.takeFile(34, var0); - var1 = new StructDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - StructDefinition.StructDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1647752784" - ) - static final void method4105() { - if (!ViewportMouse.ViewportMouse_false0) { - int var0 = Scene.Scene_cameraPitchSine; - int var1 = Scene.Scene_cameraPitchCosine; - int var2 = Scene.Scene_cameraYawSine; - int var3 = Scene.Scene_cameraYawCosine; - byte var4 = 50; - short var5 = 3500; - int var6 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var4 / Rasterizer3D.Rasterizer3D_zoom; - int var7 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var4 / Rasterizer3D.Rasterizer3D_zoom; - int var8 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var5 / Rasterizer3D.Rasterizer3D_zoom; - int var9 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var5 / Rasterizer3D.Rasterizer3D_zoom; - int var10 = Rasterizer3D.method2983(var7, var4, var1, var0); - int var11 = Rasterizer3D.method3000(var7, var4, var1, var0); - var7 = var10; - var10 = Rasterizer3D.method2983(var9, var5, var1, var0); - int var12 = Rasterizer3D.method3000(var9, var5, var1, var0); - var9 = var10; - var10 = Rasterizer3D.method3026(var6, var11, var3, var2); - var11 = Rasterizer3D.method2964(var6, var11, var3, var2); - var6 = var10; - var10 = Rasterizer3D.method3026(var8, var12, var3, var2); - var12 = Rasterizer3D.method2964(var8, var12, var3, var2); - ViewportMouse.field1711 = (var10 + var6) / 2; - Ignored.field3577 = (var9 + var7) / 2; - class222.field2726 = (var12 + var11) / 2; - class4.field20 = (var10 - var6) / 2; - ViewportMouse.field1712 = (var9 - var7) / 2; - ServerBuild.field3079 = (var12 - var11) / 2; - ArchiveLoader.field510 = Math.abs(class4.field20); - GrandExchangeOfferUnitPriceComparator.field75 = Math.abs(ViewportMouse.field1712); - class222.field2724 = Math.abs(ServerBuild.field3079); - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hf") +public class class225 { + @ObfuscatedName("qy") + @ObfuscatedGetter( + intValue = 666180224 + ) + static int field3045; + @ObfuscatedName("dx") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive6") + static Archive archive6; +} diff --git a/runescape-client/src/main/java/class226.java b/runescape-client/src/main/java/class226.java index 2d20c77fbd..f8bcec5511 100644 --- a/runescape-client/src/main/java/class226.java +++ b/runescape-client/src/main/java/class226.java @@ -1,226 +1,64 @@ -import java.io.File; -import java.io.RandomAccessFile; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("hv") -public class class226 { - @ObfuscatedName("bs") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("worldSelectStars") - static IndexedSprite[] worldSelectStars; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;I)Ljava/io/File;", - garbageValue = "-1604203626" - ) - @Export("getFile") - static File getFile(String var0) { - if (!FileSystem.FileSystem_hasPermissions) { - throw new RuntimeException(""); - } else { - File var1 = (File)FileSystem.FileSystem_cacheFiles.get(var0); - if (var1 != null) { - return var1; - } else { - File var2 = new File(class16.FileSystem_cacheDir, var0); - RandomAccessFile var3 = null; - - try { - File var4 = new File(var2.getParent()); - if (!var4.exists()) { - throw new RuntimeException(""); - } else { - var3 = new RandomAccessFile(var2, "rw"); - int var5 = var3.read(); - var3.seek(0L); - var3.write(var5); - var3.seek(0L); - var3.close(); - FileSystem.FileSystem_cacheFiles.put(var0, var2); - return var2; - } - } catch (Exception var8) { - try { - if (var3 != null) { - var3.close(); - var3 = null; - } - } catch (Exception var7) { - } - - throw new RuntimeException(); - } - } - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "1" - ) - public static void method4108() { - class197.midiPcmStream.clear(); - class197.field2376 = 1; - class197.musicTrackArchive = null; - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1401808695" - ) - @Export("clearItemContainer") - static void clearItemContainer(int var0) { - ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); - if (var1 != null) { - for (int var2 = 0; var2 < var1.ids.length; ++var2) { - var1.ids[var2] = -1; - var1.quantities[var2] = 0; - } - - } - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "1" - ) - static int method4109(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CLIENTCLOCK) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.cycle; - return 1; - } else { - int var3; - int var4; - if (var0 == ScriptOpcodes.INV_GETOBJ) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = MusicPatch.method3877(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_GETNUM) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Varcs.ItemContainer_getCount(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_TOTAL) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = PendingSpawn.method1683(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INV_SIZE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Players.getInvDefinition(var3).size; - return 1; - } else if (var0 == ScriptOpcodes.STAT) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; - return 1; - } else if (var0 == ScriptOpcodes.STAT_BASE) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.levels[var3]; - return 1; - } else if (var0 == ScriptOpcodes.STAT_XP) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.experience[var3]; - return 1; - } else { - int var5; - if (var0 == ScriptOpcodes.COORD) { - var3 = MouseRecorder.plane; - var4 = class4.baseX * 64 + (Varps.localPlayer.x * -78439701 >> 7); - var5 = (Varps.localPlayer.y >> 7) + ScriptEvent.baseY; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); - return 1; - } else if (var0 == ScriptOpcodes.COORDX) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; - return 1; - } else if (var0 == ScriptOpcodes.COORDZ) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 >> 28; - return 1; - } else if (var0 == ScriptOpcodes.COORDY) { - var3 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3 & 16383; - return 1; - } else if (var0 == ScriptOpcodes.MAP_MEMBERS) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = MusicPatch.method3877(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Varcs.ItemContainer_getCount(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { - class160.Interpreter_intStackSize -= 2; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize] + 32768; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = PendingSpawn.method1683(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { - if (Client.staffModLevel >= 2) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.staffModLevel; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.REBOOTTIMER) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.rebootTimer; - return 1; - } else if (var0 == ScriptOpcodes.MAP_WORLD) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.worldId; - return 1; - } else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.runEnergy; - return 1; - } else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.weight; - return 1; - } else if (var0 == ScriptOpcodes.PLAYERMOD) { - if (Client.playerMod) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.WORLDFLAGS) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.worldProperties; - return 1; - } else if (var0 == ScriptOpcodes.MOVECOORD) { - class160.Interpreter_intStackSize -= 4; - var3 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 2]; - int var6 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 3]; - var3 += var4 << 14; - var3 += var5 << 28; - var3 += var6; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3; - return 1; - } else { - return 2; - } - } - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hd") +public class class226 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)[Lhj;", + garbageValue = "133309082" + ) + @Export("PlayerType_values") + public static PlayerType[] PlayerType_values() { + return new PlayerType[]{PlayerType.PlayerType_jagexModerator, PlayerType.PlayerType_normal, PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_ironman, PlayerType.PlayerType_hardcoreIronman, PlayerType.PlayerType_ultimateIronman}; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(II)Lep;", + garbageValue = "1928253690" + ) + @Export("getFrames") + static Frames getFrames(int var0) { + Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); + if (var1 != null) { + return var1; + } else { + AbstractArchive var3 = SequenceDefinition.SequenceDefinition_animationsArchive; + AbstractArchive var4 = class188.SequenceDefinition_skeletonsArchive; + boolean var5 = true; + int[] var6 = var3.getGroupFileIds(var0); + + for (int var7 = 0; var7 < var6.length; ++var7) { + byte[] var8 = var3.getFile(var0, var6[var7]); + if (var8 == null) { + var5 = false; + } else { + int var9 = (var8[0] & 255) << 8 | var8[1] & 255; + byte[] var10 = var4.getFile(var9, 0); + if (var10 == null) { + var5 = false; + } + } + } + + Frames var2; + if (!var5) { + var2 = null; + } else { + try { + var2 = new Frames(var3, var4, var0, false); + } catch (Exception var12) { + var2 = null; + } + } + + if (var2 != null) { + SequenceDefinition.SequenceDefinition_cachedFrames.put(var2, (long)var0); + } + + return var2; + } + } +} diff --git a/runescape-client/src/main/java/class227.java b/runescape-client/src/main/java/class227.java index 476595074a..9c9036dd9a 100644 --- a/runescape-client/src/main/java/class227.java +++ b/runescape-client/src/main/java/class227.java @@ -1,43 +1,51 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hn") -public final class class227 { - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(I)[Llq;", - garbageValue = "1253106160" - ) - @Export("FillMode_values") - public static FillMode[] FillMode_values() { - return new FillMode[]{FillMode.SOLID, FillMode.field3852, FillMode.field3855}; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(II)Z", - garbageValue = "1135145838" - ) - public static boolean method4110(int var0) { - return var0 >= WorldMapDecorationType.field2714.id && var0 <= WorldMapDecorationType.field2715.id; - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "(Ldg;I)V", - garbageValue = "574899" - ) - @Export("PcmStream_disable") - static final void PcmStream_disable(PcmStream var0) { - var0.active = false; - if (var0.sound != null) { - var0.sound.position = 0; - } - - for (PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) { - PcmStream_disable(var1); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("hw") +public final class class227 { + @ObfuscatedName("ny") + @ObfuscatedGetter( + intValue = 130681721 + ) + static int field3061; + + @ObfuscatedName("je") + @ObfuscatedSignature( + signature = "(Lho;IIS)V", + garbageValue = "16256" + ) + @Export("clickWidget") + static final void clickWidget(Widget var0, int var1, int var2) { + if (Client.clickedWidget == null && !Client.isMenuOpen) { + if (var0 != null) { + Widget var4 = GrandExchangeEvents.method81(var0); + if (var4 == null) { + var4 = var0.parent; + } + + if (var4 != null) { + Client.clickedWidget = var0; + var4 = GrandExchangeEvents.method81(var0); + if (var4 == null) { + var4 = var0.parent; + } + + Client.clickedWidgetParent = var4; + Client.widgetClickX = var1; + Client.widgetClickY = var2; + ViewportMouse.widgetDragDuration = 0; + Client.isDraggingWidget = false; + int var5 = BuddyRankComparator.getNewestMenuIdx(); + if (var5 != -1) { + ChatChannel.method2225(var5); + } + + return; + } + } + + } + } +} diff --git a/runescape-client/src/main/java/class237.java b/runescape-client/src/main/java/class237.java index a6a4a97594..210a9351a5 100644 --- a/runescape-client/src/main/java/class237.java +++ b/runescape-client/src/main/java/class237.java @@ -1,203 +1,201 @@ -import java.awt.Component; -import java.util.HashMap; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ir") -public class class237 { - @ObfuscatedName("c") - @Export("spriteMap") - final HashMap spriteMap; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Llr;" - ) - @Export("bounds") - Bounds bounds; - @ObfuscatedName("t") - int[] field3163; - @ObfuscatedName("g") - int[] field3164; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -73461123 - ) - int field3165; - - public class237() { - this.spriteMap = new HashMap(); - this.bounds = new Bounds(0, 0); - this.field3163 = new int[2048]; - this.field3164 = new int[2048]; - this.field3165 = 0; - MidiPcmStream.method3769(); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "-350747484" - ) - void method4311(int var1) { - int var2 = var1 * 2 + 1; - double var4 = (double)((float)var1 / 3.0F); - int var6 = var1 * 2 + 1; - double[] var7 = new double[var6]; - int var8 = -var1; - - for (int var9 = 0; var8 <= var1; ++var9) { - var7[var9] = GameShell.method1020((double)var8, 0.0D, var4); - ++var8; - } - - double[] var14 = var7; - double var15 = var7[var1] * var7[var1]; - int[] var17 = new int[var2 * var2]; - boolean var10 = false; - - for (int var11 = 0; var11 < var2; ++var11) { - for (int var12 = 0; var12 < var2; ++var12) { - int var13 = var17[var12 + var11 * var2] = (int)(var14[var12] * var14[var11] / var15 * 256.0D); - if (!var10 && var13 > 0) { - var10 = true; - } - } - } - - Sprite var18 = new Sprite(var17, var2, var2); - this.spriteMap.put(var1, var18); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)Lli;", - garbageValue = "-1078597763" - ) - Sprite method4293(int var1) { - if (!this.spriteMap.containsKey(var1)) { - this.method4311(var1); - } - - return (Sprite)this.spriteMap.get(var1); - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "2019840424" - ) - public final void method4319(int var1, int var2) { - if (this.field3165 < this.field3163.length) { - this.field3163[this.field3165] = var1; - this.field3164[this.field3165] = var2; - ++this.field3165; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1110307323" - ) - public final void method4295() { - this.field3165 = 0; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(IILli;FI)V", - garbageValue = "-1921897333" - ) - public final void method4296(int var1, int var2, Sprite var3, float var4) { - int var5 = (int)(var4 * 18.0F); - Sprite var6 = this.method4293(var5); - int var7 = var5 * 2 + 1; - Bounds var8 = new Bounds(0, 0, var3.subWidth, var3.subHeight); - Bounds var9 = new Bounds(0, 0); - this.bounds.setHigh(var7, var7); - System.nanoTime(); - - int var10; - int var11; - int var12; - for (var10 = 0; var10 < this.field3165; ++var10) { - var11 = this.field3163[var10]; - var12 = this.field3164[var10]; - int var13 = (int)(var4 * (float)(var11 - var1)) - var5; - int var14 = (int)((float)var3.subHeight - (float)(var12 - var2) * var4) - var5; - this.bounds.setLow(var13, var14); - this.bounds.method5948(var8, var9); - this.method4297(var6, var3, var9); - } - - System.nanoTime(); - System.nanoTime(); - - for (var10 = 0; var10 < var3.pixels.length; ++var10) { - if (var3.pixels[var10] == 0) { - var3.pixels[var10] = -16777216; - } else { - var11 = (var3.pixels[var10] + 64 - 1) / 256; - if (var11 <= 0) { - var3.pixels[var10] = -16777216; - } else { - if (var11 > GrandExchangeOffer.field67.length) { - var11 = GrandExchangeOffer.field67.length; - } - - var12 = GrandExchangeOffer.field67[var11 - 1]; - var3.pixels[var10] = -16777216 | var12; - } - } - } - - System.nanoTime(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(Lli;Lli;Llr;I)V", - garbageValue = "-1641281756" - ) - void method4297(Sprite var1, Sprite var2, Bounds var3) { - if (var3.highX != 0 && var3.highY != 0) { - int var4 = 0; - int var5 = 0; - if (var3.lowX == 0) { - var4 = var1.subWidth - var3.highX; - } - - if (var3.lowY == 0) { - var5 = var1.subHeight - var3.highY; - } - - int var6 = var4 + var5 * var1.subWidth; - int var7 = var2.subWidth * var3.lowY + var3.lowX; - - for (int var8 = 0; var8 < var3.highY; ++var8) { - for (int var9 = 0; var9 < var3.highX; ++var9) { - int[] var10000 = var2.pixels; - int var10001 = var7++; - var10000[var10001] += var1.pixels[var6++]; - } - - var6 += var1.subWidth - var3.highX; - var7 += var2.subWidth - var3.highX; - } - - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/awt/Component;B)V", - garbageValue = "1" - ) - static void method4317(Component var0) { - var0.setFocusTraversalKeysEnabled(false); - var0.addKeyListener(KeyHandler.KeyHandler_instance); - var0.addFocusListener(KeyHandler.KeyHandler_instance); - } -} +import java.util.HashMap; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ib") +public class class237 { + @ObfuscatedName("z") + @Export("spriteMap") + final HashMap spriteMap; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lll;" + ) + @Export("bounds") + Bounds bounds; + @ObfuscatedName("v") + int[] field3163; + @ObfuscatedName("u") + int[] field3161; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 459040833 + ) + int field3165; + + public class237() { + this.spriteMap = new HashMap(); + this.bounds = new Bounds(0, 0); + this.field3163 = new int[2048]; + this.field3161 = new int[2048]; + this.field3165 = 0; + class267.field3540 = new int[2000]; + int var1 = 0; + int var2 = 240; + + int var4; + for (byte var3 = 12; var1 < 16; var2 -= var3) { + var4 = ScriptFrame.method1158((double)((float)var2 / 360.0F), 0.9998999834060669D, (double)(0.075F + 0.425F * (float)var1 / 16.0F)); + class267.field3540[var1] = var4; + ++var1; + } + + var2 = 48; + + for (int var6 = var2 / 6; var1 < class267.field3540.length; var2 -= var6) { + var4 = var1 * 2; + + for (int var5 = ScriptFrame.method1158((double)((float)var2 / 360.0F), 0.9998999834060669D, 0.5D); var1 < var4 && var1 < class267.field3540.length; ++var1) { + class267.field3540[var1] = var5; + } + } + + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)V", + garbageValue = "1811962046" + ) + void method4287(int var1) { + int var2 = var1 * 2 + 1; + double[] var3 = class287.method5206(0.0D, (double)((float)var1 / 3.0F), var1); + double var4 = var3[var1] * var3[var1]; + int[] var6 = new int[var2 * var2]; + boolean var7 = false; + + for (int var8 = 0; var8 < var2; ++var8) { + for (int var9 = 0; var9 < var2; ++var9) { + int var10 = var6[var9 + var8 * var2] = (int)(256.0D * (var3[var8] * var3[var9] / var4)); + if (!var7 && var10 > 0) { + var7 = true; + } + } + } + + Sprite var11 = new Sprite(var6, var2, var2); + this.spriteMap.put(var1, var11); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IB)Llf;", + garbageValue = "-125" + ) + Sprite method4286(int var1) { + if (!this.spriteMap.containsKey(var1)) { + this.method4287(var1); + } + + return (Sprite)this.spriteMap.get(var1); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "5" + ) + public final void method4289(int var1, int var2) { + if (this.field3165 < this.field3163.length) { + this.field3163[this.field3165] = var1; + this.field3161[this.field3165] = var2; + ++this.field3165; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1070284652" + ) + public final void method4288() { + this.field3165 = 0; + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(IILlf;FI)V", + garbageValue = "-177737442" + ) + public final void method4291(int var1, int var2, Sprite var3, float var4) { + int var5 = (int)(var4 * 18.0F); + Sprite var6 = this.method4286(var5); + int var7 = var5 * 2 + 1; + Bounds var8 = new Bounds(0, 0, var3.subWidth, var3.subHeight); + Bounds var9 = new Bounds(0, 0); + this.bounds.setHigh(var7, var7); + System.nanoTime(); + + int var10; + int var11; + int var12; + for (var10 = 0; var10 < this.field3165; ++var10) { + var11 = this.field3163[var10]; + var12 = this.field3161[var10]; + int var13 = (int)((float)(var11 - var1) * var4) - var5; + int var14 = (int)((float)var3.subHeight - var4 * (float)(var12 - var2)) - var5; + this.bounds.setLow(var13, var14); + this.bounds.method5893(var8, var9); + this.method4292(var6, var3, var9); + } + + System.nanoTime(); + System.nanoTime(); + + for (var10 = 0; var10 < var3.pixels.length; ++var10) { + if (var3.pixels[var10] == 0) { + var3.pixels[var10] = -16777216; + } else { + var11 = (var3.pixels[var10] + 64 - 1) / 256; + if (var11 <= 0) { + var3.pixels[var10] = -16777216; + } else { + if (var11 > class267.field3540.length) { + var11 = class267.field3540.length; + } + + var12 = class267.field3540[var11 - 1]; + var3.pixels[var10] = -16777216 | var12; + } + } + } + + System.nanoTime(); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Llf;Llf;Lll;I)V", + garbageValue = "-1255792875" + ) + void method4292(Sprite var1, Sprite var2, Bounds var3) { + if (var3.highX != 0 && var3.highY != 0) { + int var4 = 0; + int var5 = 0; + if (var3.lowX == 0) { + var4 = var1.subWidth - var3.highX; + } + + if (var3.lowY == 0) { + var5 = var1.subHeight - var3.highY; + } + + int var6 = var4 + var5 * var1.subWidth; + int var7 = var3.lowX + var2.subWidth * var3.lowY; + + for (int var8 = 0; var8 < var3.highY; ++var8) { + for (int var9 = 0; var9 < var3.highX; ++var9) { + int[] var10000 = var2.pixels; + int var10001 = var7++; + var10000[var10001] += var1.pixels[var6++]; + } + + var6 += var1.subWidth - var3.highX; + var7 += var2.subWidth - var3.highX; + } + + } + } +} diff --git a/runescape-client/src/main/java/class247.java b/runescape-client/src/main/java/class247.java index a6def1681d..014ecafd33 100644 --- a/runescape-client/src/main/java/class247.java +++ b/runescape-client/src/main/java/class247.java @@ -1,22 +1,37 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("if") -public class class247 { - @ObfuscatedName("gm") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-197171985" - ) - static final void method4484() { - for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { - if (var0.hitpoints == -1) { - var0.delay = 0; - class16.method164(var0); - } else { - var0.remove(); - } - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("iw") +public class class247 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(II)Ljava/lang/String;", + garbageValue = "1617248140" + ) + static String method4443(int var0) { + return ""; + } + + @ObfuscatedName("fw") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "1170068749" + ) + @Export("getWindowedMode") + static int getWindowedMode() { + return Client.isResizable ? 2 : 1; + } + + @ObfuscatedName("iu") + @ObfuscatedSignature( + signature = "(IIIZB)V", + garbageValue = "-73" + ) + @Export("resizeComponents") + static final void resizeComponents(int var0, int var1, int var2, boolean var3) { + if (WorldMapData_0.loadInterface(var0)) { + FaceNormal.resizeInterface(UserComparator5.Widget_interfaceComponents[var0], -1, var1, var2, var3); + } + } +} diff --git a/runescape-client/src/main/java/class267.java b/runescape-client/src/main/java/class267.java index dca9e78196..0de12bf3b7 100644 --- a/runescape-client/src/main/java/class267.java +++ b/runescape-client/src/main/java/class267.java @@ -1,11 +1,24 @@ -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("js") -public class class267 { - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = 1020468275 - ) - static int field3524; -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jc") +public class class267 { + @ObfuscatedName("y") + static int[] field3540; + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(IIIZII)J", + garbageValue = "1752014522" + ) + @Export("calculateTag") + public static long calculateTag(int var0, int var1, int var2, boolean var3, int var4) { + long var5 = (long)((var0 & 127) << 0 | (var1 & 127) << 7 | (var2 & 3) << 14) | ((long)var4 & 4294967295L) << 17; + if (var3) { + var5 |= 65536L; + } + + return var5; + } +} diff --git a/runescape-client/src/main/java/class268.java b/runescape-client/src/main/java/class268.java index 0fc5200302..2a2fa190fc 100644 --- a/runescape-client/src/main/java/class268.java +++ b/runescape-client/src/main/java/class268.java @@ -1,30 +1,16 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jr") -public class class268 { - @ObfuscatedName("ka") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1779178582" - ) - static void method4967() { - if (Client.field824 && Varps.localPlayer != null) { - int var0 = Varps.localPlayer.pathX[0]; - int var1 = Varps.localPlayer.pathY[0]; - if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { - return; - } - - SecureRandomFuture.oculusOrbFocalPointX = Varps.localPlayer.x * -78439701; - int var2 = WorldMapAreaData.getTileHeight(Varps.localPlayer.x * -78439701, Varps.localPlayer.y, MouseRecorder.plane) - Client.camFollowHeight * 172735687; - if (var2 < class65.field580 * 1615694975) { - class65.field580 = var2 * -59362433; - } - - AbstractByteArrayCopier.oculusOrbFocalPointY = Varps.localPlayer.y; - Client.field824 = false; - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jg") +public class class268 { + @ObfuscatedName("ay") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;I)I", + garbageValue = "-456041774" + ) + @Export("stringCp1252NullTerminatedByteSize") + public static int stringCp1252NullTerminatedByteSize(String var0) { + return var0.length() + 1; + } +} diff --git a/runescape-client/src/main/java/class270.java b/runescape-client/src/main/java/class270.java deleted file mode 100644 index bc225add95..0000000000 --- a/runescape-client/src/main/java/class270.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jc") -public class class270 { - @ObfuscatedName("gi") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("crossSprites") - static Sprite[] crossSprites; -} diff --git a/runescape-client/src/main/java/class286.java b/runescape-client/src/main/java/class286.java index a8c3973c10..37e3cf97ad 100644 --- a/runescape-client/src/main/java/class286.java +++ b/runescape-client/src/main/java/class286.java @@ -1,198 +1,13 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kg") -public class class286 { - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(CLgf;I)I", - garbageValue = "-641630421" - ) - @Export("lowercaseChar") - static int lowercaseChar(char var0, Language var1) { - int var2 = var0 << 4; - if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { - var0 = Character.toLowerCase(var0); - var2 = (var0 << 4) + 1; - } - - if (var0 == 241 && var1 == Language.Language_ES) { - var2 = 1762; - } - - return var2; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1454751170" - ) - static void method5221() { - ItemContainer.itemContainers = new NodeHashTable(32); - } - - @ObfuscatedName("id") - @ObfuscatedSignature( - signature = "(Lhy;II)I", - garbageValue = "520473491" - ) - static final int method5218(Widget var0, int var1) { - if (var0.cs1Instructions != null && var1 < var0.cs1Instructions.length) { - try { - int[] var2 = var0.cs1Instructions[var1]; - int var3 = 0; - int var4 = 0; - byte var5 = 0; - - while (true) { - int var6 = var2[var4++]; - int var7 = 0; - byte var8 = 0; - if (var6 == 0) { - return var3; - } - - if (var6 == 1) { - var7 = Client.currentLevels[var2[var4++]]; - } - - if (var6 == 2) { - var7 = Client.levels[var2[var4++]]; - } - - if (var6 == 3) { - var7 = Client.experience[var2[var4++]]; - } - - int var9; - Widget var10; - int var11; - int var12; - if (var6 == 4) { - var9 = var2[var4++] << 16; - var9 += var2[var4++]; - var10 = Player.getWidget(var9); - var11 = var2[var4++]; - if (var11 != -1 && (!Player.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { - for (var12 = 0; var12 < var10.itemIds.length; ++var12) { - if (var11 + 1 == var10.itemIds[var12]) { - var7 += var10.itemQuantities[var12]; - } - } - } - } - - if (var6 == 5) { - var7 = Varps.Varps_main[var2[var4++]]; - } - - if (var6 == 6) { - var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1]; - } - - if (var6 == 7) { - var7 = Varps.Varps_main[var2[var4++]] * 100 / 46875; - } - - if (var6 == 8) { - var7 = Varps.localPlayer.combatLevel; - } - - if (var6 == 9) { - for (var9 = 0; var9 < 25; ++var9) { - if (Skills.Skills_enabled[var9]) { - var7 += Client.levels[var9]; - } - } - } - - if (var6 == 10) { - var9 = var2[var4++] << 16; - var9 += var2[var4++]; - var10 = Player.getWidget(var9); - var11 = var2[var4++]; - if (var11 != -1 && (!Player.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { - for (var12 = 0; var12 < var10.itemIds.length; ++var12) { - if (var11 + 1 == var10.itemIds[var12]) { - var7 = 999999999; - break; - } - } - } - } - - if (var6 == 11) { - var7 = Client.runEnergy; - } - - if (var6 == 12) { - var7 = Client.weight; - } - - if (var6 == 13) { - var9 = Varps.Varps_main[var2[var4++]]; - int var13 = var2[var4++]; - var7 = (var9 & 1 << var13) != 0 ? 1 : 0; - } - - if (var6 == 14) { - var9 = var2[var4++]; - var7 = WorldMapCacheName.getVarbit(var9); - } - - if (var6 == 15) { - var8 = 1; - } - - if (var6 == 16) { - var8 = 2; - } - - if (var6 == 17) { - var8 = 3; - } - - if (var6 == 18) { - var7 = class4.baseX * 64 + (Varps.localPlayer.x * -78439701 >> 7); - } - - if (var6 == 19) { - var7 = ScriptEvent.baseY + (Varps.localPlayer.y >> 7); - } - - if (var6 == 20) { - var7 = var2[var4++]; - } - - if (var8 == 0) { - if (var5 == 0) { - var3 += var7; - } - - if (var5 == 1) { - var3 -= var7; - } - - if (var5 == 2 && var7 != 0) { - var3 /= var7; - } - - if (var5 == 3) { - var3 *= var7; - } - - var5 = 0; - } else { - var5 = var8; - } - } - } catch (Exception var14) { - return -1; - } - } else { - return -2; - } - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("kq") +public class class286 { + @ObfuscatedName("fn") + @ObfuscatedGetter( + intValue = -2101282847 + ) + @Export("baseY") + static int baseY; +} diff --git a/runescape-client/src/main/java/class287.java b/runescape-client/src/main/java/class287.java index cbb7e0d5d5..0cb2139658 100644 --- a/runescape-client/src/main/java/class287.java +++ b/runescape-client/src/main/java/class287.java @@ -1,20 +1,48 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kd") -public class class287 { - @ObfuscatedName("c") - @Export("cp1252AsciiExtension") - public static final char[] cp1252AsciiExtension; - @ObfuscatedName("gs") - @ObfuscatedSignature( - signature = "[Llt;" - ) - @Export("mapSceneSprites") - static IndexedSprite[] mapSceneSprites; - - static { - cp1252AsciiExtension = new char[]{'€', '\u0000', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', '\u0000', 'Ž', '\u0000', '\u0000', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', '\u0000', 'ž', 'Ÿ'}; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("kk") +public class class287 { + @ObfuscatedName("z") + @Export("cp1252AsciiExtension") + static final char[] cp1252AsciiExtension; + @ObfuscatedName("q") + static byte[][][] field3634; + + static { + cp1252AsciiExtension = new char[]{'€', '\u0000', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', '\u0000', 'Ž', '\u0000', '\u0000', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', '\u0000', 'ž', 'Ÿ'}; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(DDII)[D", + garbageValue = "-1793531075" + ) + public static double[] method5206(double var0, double var2, int var4) { + int var5 = var4 * 2 + 1; + double[] var6 = new double[var5]; + int var7 = -var4; + + for (int var8 = 0; var7 <= var4; ++var8) { + var6[var8] = TaskHandler.method3425((double)var7, var0, var2); + ++var7; + } + + return var6; + } + + @ObfuscatedName("kf") + @ObfuscatedSignature( + signature = "(IIIZI)V", + garbageValue = "326242369" + ) + public static void method5205(int var0, int var1, int var2, boolean var3) { + PacketBufferNode var4 = InterfaceParent.getPacketBufferNode(ClientPacket.field2191, Client.packetWriter.isaacCipher); + var4.packetBuffer.method5446(var2); + var4.packetBuffer.writeIntLE16(var3 ? Client.field718 : 0); + var4.packetBuffer.writeShort(var1); + var4.packetBuffer.writeShortLE(var0); + Client.packetWriter.addNode(var4); + } +} diff --git a/runescape-client/src/main/java/class288.java b/runescape-client/src/main/java/class288.java index 134f17b852..e9bbc1e5e2 100644 --- a/runescape-client/src/main/java/class288.java +++ b/runescape-client/src/main/java/class288.java @@ -1,21 +1,38 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("kr") -public final class class288 { - @ObfuscatedName("c") - @Export("base37Table") - static final char[] base37Table; - @ObfuscatedName("x") - static long[] field3622; - - static { - base37Table = new char[]{'_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; - field3622 = new long[12]; - - for (int var0 = 0; var0 < field3622.length; ++var0) { - field3622[var0] = (long)Math.pow(37.0D, (double)var0); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ke") +public final class class288 { + @ObfuscatedName("z") + @Export("base37Table") + public static final char[] base37Table; + @ObfuscatedName("n") + static long[] field3638; + + static { + base37Table = new char[]{'_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; + field3638 = new long[12]; + + for (int var0 = 0; var0 < field3638.length; ++var0) { + field3638[var0] = (long)Math.pow(37.0D, (double)var0); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Ljava/lang/CharSequence;I)I", + garbageValue = "757556043" + ) + public static int method5209(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; + + for (int var3 = 0; var3 < var1; ++var3) { + var2 = (var2 << 5) - var2 + var0.charAt(var3); + } + + return var2; + } +} diff --git a/runescape-client/src/main/java/class289.java b/runescape-client/src/main/java/class289.java index caa508602f..5a9a08a771 100644 --- a/runescape-client/src/main/java/class289.java +++ b/runescape-client/src/main/java/class289.java @@ -1,97 +1,207 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kh") -public class class289 { - @ObfuscatedName("c") - public static char[] field3626; - @ObfuscatedName("x") - static char[] field3628; - @ObfuscatedName("t") - static char[] field3627; - @ObfuscatedName("g") - static int[] field3629; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "[[Lhy;" - ) - @Export("Widget_interfaceComponents") - public static Widget[][] Widget_interfaceComponents; - - static { - field3626 = new char[64]; - - int var0; - for (var0 = 0; var0 < 26; ++var0) { - field3626[var0] = (char)(var0 + 65); - } - - for (var0 = 26; var0 < 52; ++var0) { - field3626[var0] = (char)(var0 + 97 - 26); - } - - for (var0 = 52; var0 < 62; ++var0) { - field3626[var0] = (char)(var0 + 48 - 52); - } - - field3626[62] = '+'; - field3626[63] = '/'; - field3628 = new char[64]; - - for (var0 = 0; var0 < 26; ++var0) { - field3628[var0] = (char)(var0 + 65); - } - - for (var0 = 26; var0 < 52; ++var0) { - field3628[var0] = (char)(var0 + 97 - 26); - } - - for (var0 = 52; var0 < 62; ++var0) { - field3628[var0] = (char)(var0 + 48 - 52); - } - - field3628[62] = '*'; - field3628[63] = '-'; - field3627 = new char[64]; - - for (var0 = 0; var0 < 26; ++var0) { - field3627[var0] = (char)(var0 + 65); - } - - for (var0 = 26; var0 < 52; ++var0) { - field3627[var0] = (char)(var0 + 97 - 26); - } - - for (var0 = 52; var0 < 62; ++var0) { - field3627[var0] = (char)(var0 + 48 - 52); - } - - field3627[62] = '-'; - field3627[63] = '_'; - field3629 = new int[128]; - - for (var0 = 0; var0 < field3629.length; ++var0) { - field3629[var0] = -1; - } - - for (var0 = 65; var0 <= 90; ++var0) { - field3629[var0] = var0 - 65; - } - - for (var0 = 97; var0 <= 122; ++var0) { - field3629[var0] = var0 - 97 + 26; - } - - for (var0 = 48; var0 <= 57; ++var0) { - field3629[var0] = var0 - 48 + 52; - } - - int[] var2 = field3629; - field3629[43] = 62; - var2[42] = 62; - int[] var1 = field3629; - field3629[47] = 63; - var1[45] = 63; - } -} +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ks") +public class class289 { + @ObfuscatedName("z") + static char[] field3641; + @ObfuscatedName("n") + static char[] field3643; + @ObfuscatedName("v") + static char[] field3642; + @ObfuscatedName("u") + static int[] field3640; + + static { + field3641 = new char[64]; + + int var0; + for (var0 = 0; var0 < 26; ++var0) { + field3641[var0] = (char)(var0 + 65); + } + + for (var0 = 26; var0 < 52; ++var0) { + field3641[var0] = (char)(var0 + 97 - 26); + } + + for (var0 = 52; var0 < 62; ++var0) { + field3641[var0] = (char)(var0 + 48 - 52); + } + + field3641[62] = '+'; + field3641[63] = '/'; + field3643 = new char[64]; + + for (var0 = 0; var0 < 26; ++var0) { + field3643[var0] = (char)(var0 + 65); + } + + for (var0 = 26; var0 < 52; ++var0) { + field3643[var0] = (char)(var0 + 97 - 26); + } + + for (var0 = 52; var0 < 62; ++var0) { + field3643[var0] = (char)(var0 + 48 - 52); + } + + field3643[62] = '*'; + field3643[63] = '-'; + field3642 = new char[64]; + + for (var0 = 0; var0 < 26; ++var0) { + field3642[var0] = (char)(var0 + 65); + } + + for (var0 = 26; var0 < 52; ++var0) { + field3642[var0] = (char)(var0 + 97 - 26); + } + + for (var0 = 52; var0 < 62; ++var0) { + field3642[var0] = (char)(var0 + 48 - 52); + } + + field3642[62] = '-'; + field3642[63] = '_'; + field3640 = new int[128]; + + for (var0 = 0; var0 < field3640.length; ++var0) { + field3640[var0] = -1; + } + + for (var0 = 65; var0 <= 90; ++var0) { + field3640[var0] = var0 - 65; + } + + for (var0 = 97; var0 <= 122; ++var0) { + field3640[var0] = var0 - 97 + 26; + } + + for (var0 = 48; var0 <= 57; ++var0) { + field3640[var0] = var0 - 48 + 52; + } + + int[] var2 = field3640; + field3640[43] = 62; + var2[42] = 62; + int[] var1 = field3640; + field3640[47] = 63; + var1[45] = 63; + } + + @ObfuscatedName("gu") + @ObfuscatedSignature( + signature = "(IIZI)V", + garbageValue = "-1781394642" + ) + static final void method5213(int var0, int var1, boolean var2) { + if (!var2 || var0 != ServerPacket.field2131 || MusicPatchNode.field2422 != var1) { + ServerPacket.field2131 = var0; + MusicPatchNode.field2422 = var1; + MouseRecorder.updateGameState(25); + WorldMapSprite.drawLoadingMessage("Loading - please wait.", true); + int var3 = class223.baseX * 64; + int var4 = class286.baseY * 64; + class223.baseX = (var0 - 6) * 8; + class286.baseY = (var1 - 6) * 8; + int var5 = class223.baseX * 64 - var3; + int var6 = class286.baseY * 64 - var4; + var3 = class223.baseX * 64; + var4 = class286.baseY * 64; + + int var7; + int var9; + int[] var10000; + for (var7 = 0; var7 < 32768; ++var7) { + NPC var8 = Client.npcs[var7]; + if (var8 != null) { + for (var9 = 0; var9 < 10; ++var9) { + var10000 = var8.pathX; + var10000[var9] -= var5; + var10000 = var8.pathY; + var10000[var9] -= var6; + } + + var8.x -= var5 * 128; + var8.y -= var6 * -595411840; + } + } + + for (var7 = 0; var7 < 2048; ++var7) { + Player var21 = Client.players[var7]; + if (var21 != null) { + for (var9 = 0; var9 < 10; ++var9) { + var10000 = var21.pathX; + var10000[var9] -= var5; + var10000 = var21.pathY; + var10000[var9] -= var6; + } + + var21.x -= var5 * 128; + var21.y -= var6 * -595411840; + } + } + + byte var20 = 0; + byte var18 = 104; + byte var22 = 1; + if (var5 < 0) { + var20 = 103; + var18 = -1; + var22 = -1; + } + + byte var10 = 0; + byte var11 = 104; + byte var12 = 1; + if (var6 < 0) { + var10 = 103; + var11 = -1; + var12 = -1; + } + + int var14; + for (int var13 = var20; var13 != var18; var13 += var22) { + for (var14 = var10; var14 != var11; var14 += var12) { + int var15 = var5 + var13; + int var16 = var6 + var14; + + for (int var17 = 0; var17 < 4; ++var17) { + if (var15 >= 0 && var16 >= 0 && var15 < 104 && var16 < 104) { + Client.groundItems[var17][var13][var14] = Client.groundItems[var17][var15][var16]; + } else { + Client.groundItems[var17][var13][var14] = null; + } + } + } + } + + for (PendingSpawn var19 = (PendingSpawn)Client.pendingSpawns.last(); var19 != null; var19 = (PendingSpawn)Client.pendingSpawns.previous()) { + var19.x -= var5; + var19.y -= var6; + if (var19.x < 0 || var19.y < 0 || var19.x >= 104 || var19.y >= 104) { + var19.remove(); + } + } + + if (Client.destinationX != 0) { + Client.destinationX -= var5; + Client.destinationY -= var6; + } + + Client.soundEffectCount = 0; + Client.isCameraLocked = false; + GrandExchangeOfferOwnWorldComparator.cameraX -= var5 << 7; + WorldMapIcon_1.cameraZ -= var6 << 7; + ObjectSound.oculusOrbFocalPointX -= var5 << 7; + class14.oculusOrbFocalPointY -= var6 << 7; + Client.field643 = -1; + Client.graphicsObjects.clear(); + Client.projectiles.clear(); + + for (var14 = 0; var14 < 4; ++var14) { + Client.collisionMaps[var14].clear(); + } + + } + } +} diff --git a/runescape-client/src/main/java/class293.java b/runescape-client/src/main/java/class293.java deleted file mode 100644 index ea95317664..0000000000 --- a/runescape-client/src/main/java/class293.java +++ /dev/null @@ -1,22 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kj") -public class class293 { - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("Widget_modelsArchive") - static AbstractArchive Widget_modelsArchive; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;B)V", - garbageValue = "97" - ) - public static void method5298(AbstractArchive var0) { - VarcInt.VarcInt_archive = var0; - } -} diff --git a/runescape-client/src/main/java/class296.java b/runescape-client/src/main/java/class296.java index 260caeac1b..9f2a764774 100644 --- a/runescape-client/src/main/java/class296.java +++ b/runescape-client/src/main/java/class296.java @@ -1,43 +1,20 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("km") -public final class class296 { - @ObfuscatedName("c") - @ObfuscatedGetter( - longValue = -8842260306920147949L - ) - static long field3680; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = 5493991192687993425L - ) - static long field3681; - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-227117259" - ) - @Export("savePreferences") - static void savePreferences() { - AccessFile var0 = null; - - try { - var0 = GrandExchangeOfferUnitPriceComparator.getPreferencesFile("", class43.field359.name, true); - Buffer var1 = Actor.clientPreferences.toBuffer(); - var0.write(var1.array, 0, var1.offset); - } catch (Exception var3) { - } - - try { - if (var0 != null) { - var0.closeSync(true); - } - } catch (Exception var2) { - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("kb") +public final class class296 { + @ObfuscatedName("z") + @ObfuscatedGetter( + longValue = 3603656264460916993L + ) + static long field3688; + @ObfuscatedName("n") + @ObfuscatedGetter( + longValue = 3509104245048020795L + ) + static long field3689; + @ObfuscatedName("gn") + @Export("xteaKeys") + static int[][] xteaKeys; +} diff --git a/runescape-client/src/main/java/class297.java b/runescape-client/src/main/java/class297.java index b25245c82d..6be5077d59 100644 --- a/runescape-client/src/main/java/class297.java +++ b/runescape-client/src/main/java/class297.java @@ -1,24 +1,38 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kv") -public class class297 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("VarpDefinition_archive") - public static AbstractArchive VarpDefinition_archive; - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - public static void method5410() { - HitSplatDefinition.HitSplatDefinition_cached.clear(); - HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); - HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); - } -} +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("kz") +public class class297 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lhp;IIB)[Llp;", + garbageValue = "0" + ) + public static IndexedSprite[] method5374(AbstractArchive var0, int var1, int var2) { + if (!VertexNormal.method2958(var0, var1, var2)) { + return null; + } else { + IndexedSprite[] var4 = new IndexedSprite[class325.SpriteBuffer_spriteCount]; + + for (int var5 = 0; var5 < class325.SpriteBuffer_spriteCount; ++var5) { + IndexedSprite var6 = var4[var5] = new IndexedSprite(); + var6.width = class325.SpriteBuffer_spriteWidth; + var6.height = Frames.SpriteBuffer_spriteHeight; + var6.xOffset = class325.SpriteBuffer_xOffsets[var5]; + var6.yOffset = MusicPatchPcmStream.SpriteBuffer_yOffsets[var5]; + var6.subWidth = class325.SpriteBuffer_spriteWidths[var5]; + var6.subHeight = RunException.SpriteBuffer_spriteHeights[var5]; + var6.palette = class325.SpriteBuffer_spritePalette; + var6.pixels = PacketBufferNode.SpriteBuffer_pixels[var5]; + } + + class325.SpriteBuffer_xOffsets = null; + MusicPatchPcmStream.SpriteBuffer_yOffsets = null; + class325.SpriteBuffer_spriteWidths = null; + RunException.SpriteBuffer_spriteHeights = null; + class325.SpriteBuffer_spritePalette = null; + PacketBufferNode.SpriteBuffer_pixels = null; + return var4; + } + } +} diff --git a/runescape-client/src/main/java/class3.java b/runescape-client/src/main/java/class3.java index 7a88681dea..363dc52d19 100644 --- a/runescape-client/src/main/java/class3.java +++ b/runescape-client/src/main/java/class3.java @@ -1,130 +1,531 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("g") -public class class3 implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lg;" - ) - public static final class3 field13; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lg;" - ) - public static final class3 field7; - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Lg;" - ) - public static final class3 field10; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1439803863 - ) - final int field9; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 115854395 - ) - public final int field12; - @ObfuscatedName("u") - public final Class field11; - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Lc;" - ) - public final class0 field8; - - static { - field13 = new class3(2, 0, Integer.class, new class1()); - field7 = new class3(0, 1, Long.class, new class2()); - field10 = new class3(1, 2, String.class, new class4()); - } - - @ObfuscatedSignature( - signature = "(IILjava/lang/Class;Lc;)V" - ) - class3(int var1, int var2, Class var3, class0 var4) { - this.field9 = var1; - this.field12 = var2; - this.field11 = var3; - this.field8 = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field12; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;I)Ljava/lang/Object;", - garbageValue = "-1191567390" - ) - public Object method37(Buffer var1) { - return this.field8.vmethod41(var1); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1891869764" - ) - static void method38() { - if (TaskHandler.javaVendor.toLowerCase().indexOf("microsoft") != -1) { - KeyHandler.KeyHandler_keyCodes[186] = 57; - KeyHandler.KeyHandler_keyCodes[187] = 27; - KeyHandler.KeyHandler_keyCodes[188] = 71; - KeyHandler.KeyHandler_keyCodes[189] = 26; - KeyHandler.KeyHandler_keyCodes[190] = 72; - KeyHandler.KeyHandler_keyCodes[191] = 73; - KeyHandler.KeyHandler_keyCodes[192] = 58; - KeyHandler.KeyHandler_keyCodes[219] = 42; - KeyHandler.KeyHandler_keyCodes[220] = 74; - KeyHandler.KeyHandler_keyCodes[221] = 43; - KeyHandler.KeyHandler_keyCodes[222] = 59; - KeyHandler.KeyHandler_keyCodes[223] = 28; - } else { - KeyHandler.KeyHandler_keyCodes[44] = 71; - KeyHandler.KeyHandler_keyCodes[45] = 26; - KeyHandler.KeyHandler_keyCodes[46] = 72; - KeyHandler.KeyHandler_keyCodes[47] = 73; - KeyHandler.KeyHandler_keyCodes[59] = 57; - KeyHandler.KeyHandler_keyCodes[61] = 27; - KeyHandler.KeyHandler_keyCodes[91] = 42; - KeyHandler.KeyHandler_keyCodes[92] = 74; - KeyHandler.KeyHandler_keyCodes[93] = 43; - KeyHandler.KeyHandler_keyCodes[192] = 28; - KeyHandler.KeyHandler_keyCodes[222] = 58; - KeyHandler.KeyHandler_keyCodes[520] = 59; - } - - } - - @ObfuscatedName("kx") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1992850918" - ) - static void method30() { - if (MenuAction.field1133 != null) { - Client.field892 = Client.cycle; - MenuAction.field1133.method4295(); - - for (int var0 = 0; var0 < Client.players.length; ++var0) { - if (Client.players[var0] != null) { - MenuAction.field1133.method4319(class4.baseX * 64 + (Client.players[var0].x * -78439701 >> 7), ScriptEvent.baseY + (Client.players[var0].y >> 7)); - } - } - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("u") +public class class3 implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lu;" + ) + static final class3 field7; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lu;" + ) + static final class3 field15; + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lu;" + ) + static final class3 field8; + @ObfuscatedName("ax") + static String field18; + @ObfuscatedName("dk") + @ObfuscatedSignature( + signature = "Lie;" + ) + @Export("archive5") + static Archive archive5; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1838246195 + ) + final int field12; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 689062233 + ) + public final int field9; + @ObfuscatedName("p") + final Class field11; + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lz;" + ) + public final class0 field13; + + static { + field7 = new class3(1, 0, Integer.class, new class1()); + field15 = new class3(0, 1, Long.class, new class2()); + field8 = new class3(2, 2, String.class, new class4()); + } + + @ObfuscatedSignature( + signature = "(IILjava/lang/Class;Lz;)V" + ) + class3(int var1, int var2, Class var3, class0 var4) { + this.field12 = var1; + this.field9 = var2; + this.field11 = var3; + this.field13 = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field9; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(Lkl;I)Ljava/lang/Object;", + garbageValue = "-1513659890" + ) + public Object method35(Buffer var1) { + return this.field13.vmethod55(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)[Lu;", + garbageValue = "-1521919568" + ) + public static class3[] method41() { + return new class3[]{field8, field15, field7}; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([BIII)Ljava/lang/String;", + garbageValue = "1159986112" + ) + public static String method52(byte[] var0, int var1, int var2) { + StringBuilder var3 = new StringBuilder(); + + for (int var4 = var1; var4 < var2 + var1; var4 += 3) { + int var5 = var0[var4] & 255; + var3.append(class289.field3641[var5 >>> 2]); + if (var4 < var2 - 1) { + int var6 = var0[var4 + 1] & 255; + var3.append(class289.field3641[(var5 & 3) << 4 | var6 >>> 4]); + if (var4 < var2 - 2) { + int var7 = var0[var4 + 2] & 255; + var3.append(class289.field3641[(var6 & 15) << 2 | var7 >>> 6]).append(class289.field3641[var7 & 63]); + } else { + var3.append(class289.field3641[(var6 & 15) << 2]).append("="); + } + } else { + var3.append(class289.field3641[(var5 & 3) << 4]).append("=="); + } + } + + return var3.toString(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/lang/Class;B)Lu;", + garbageValue = "-104" + ) + public static class3 method33(Class var0) { + class3[] var1 = method41(); + + for (int var2 = 0; var2 < var1.length; ++var2) { + class3 var3 = var1[var2]; + if (var3.field11 == var0) { + return var3; + } + } + + return null; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-2040711536" + ) + @Export("WorldMapRegion_clearCachedSprites") + static void WorldMapRegion_clearCachedSprites() { + WorldMapRegion.WorldMapRegion_cachedSprites.clear(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1231494139" + ) + static void method51(int var0, int var1, int var2, int var3) { + for (ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { + int var5 = 0; + if (var1 > var4.field1059 * 16384) { + var5 += var1 - var4.field1059 * 16384; + } else if (var1 < var4.x * 16384) { + var5 += var4.x * 16384 - var1; + } + + if (var2 > var4.field1060 * 16384) { + var5 += var2 - var4.field1060 * 16384; + } else if (var2 < var4.y * 16384) { + var5 += var4.y * 16384 - var2; + } + + if (var5 - 64 <= var4.field1061 && Client.field868 != 0 && var0 == var4.plane) { + var5 -= 64; + if (var5 < 0) { + var5 = 0; + } + + int var6 = (var4.field1061 - var5) * Client.field868 / var4.field1061; + if (var4.stream1 == null) { + if (var4.soundEffectId >= 0) { + SoundEffect var7 = SoundEffect.readSoundEffect(GrandExchangeOfferAgeComparator.archive4, var4.soundEffectId, 0); + if (var7 != null) { + RawSound var8 = var7.toRawSound().resample(Interpreter.decimator); + RawPcmStream var9 = RawPcmStream.createRawPcmStream(var8, 100, var6); + var9.setNumLoops(-1); + WorldMapLabelSize.pcmStreamMixer.addSubStream(var9); + var4.stream1 = var9; + } + } + } else { + var4.stream1.method2515(var6); + } + + if (var4.stream2 == null) { + if (var4.soundEffectIds != null && (var4.field1067 -= var3) <= 0) { + int var11 = (int)(Math.random() * (double)var4.soundEffectIds.length); + SoundEffect var12 = SoundEffect.readSoundEffect(GrandExchangeOfferAgeComparator.archive4, var4.soundEffectIds[var11], 0); + if (var12 != null) { + RawSound var13 = var12.toRawSound().resample(Interpreter.decimator); + RawPcmStream var10 = RawPcmStream.createRawPcmStream(var13, 100, var6); + var10.setNumLoops(0); + WorldMapLabelSize.pcmStreamMixer.addSubStream(var10); + var4.stream2 = var10; + var4.field1067 = var4.field1064 + (int)(Math.random() * (double)(var4.field1070 - var4.field1064)); + } + } + } else { + var4.stream2.method2515(var6); + if (!var4.stream2.hasNext()) { + var4.stream2 = null; + } + } + } else { + if (var4.stream1 != null) { + WorldMapLabelSize.pcmStreamMixer.removeSubStream(var4.stream1); + var4.stream1 = null; + } + + if (var4.stream2 != null) { + WorldMapLabelSize.pcmStreamMixer.removeSubStream(var4.stream2); + var4.stream2 = null; + } + } + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "([BB)Lcu;", + garbageValue = "-44" + ) + @Export("newScript") + static Script newScript(byte[] var0) { + Script var1 = new Script(); + Buffer var2 = new Buffer(var0); + var2.offset = var2.array.length - 2; + int var3 = var2.readUnsignedShort(); + int var4 = var2.array.length - 2 - var3 - 12; + var2.offset = var4; + int var5 = var2.readInt(); + var1.localIntCount = var2.readUnsignedShort(); + var1.localStringCount = var2.readUnsignedShort(); + var1.intArgumentCount = var2.readUnsignedShort(); + var1.stringArgumentCount = var2.readUnsignedShort(); + int var6 = var2.readUnsignedByte(); + int var7; + int var8; + if (var6 > 0) { + var1.switches = var1.newIterableNodeHashTable(var6); + + for (var7 = 0; var7 < var6; ++var7) { + var8 = var2.readUnsignedShort(); + IterableNodeHashTable var9 = new IterableNodeHashTable(var8 > 0 ? Timer.method4923(var8) : 1); + var1.switches[var7] = var9; + + while (var8-- > 0) { + int var10 = var2.readInt(); + int var11 = var2.readInt(); + var9.put(new IntegerNode(var11), (long)var10); + } + } + } + + var2.offset = 0; + var2.readStringCp1252NullTerminatedOrNull(); + var1.opcodes = new int[var5]; + var1.intOperands = new int[var5]; + var1.stringOperands = new String[var5]; + + for (var7 = 0; var2.offset < var4; var1.opcodes[var7++] = var8) { + var8 = var2.readUnsignedShort(); + if (var8 == 3) { + var1.stringOperands[var7] = var2.readStringCp1252NullTerminated(); + } else if (var8 < 100 && var8 != 21 && var8 != 38 && var8 != 39) { + var1.intOperands[var7] = var2.readInt(); + } else { + var1.intOperands[var7] = var2.readUnsignedByte(); + } + } + + return var1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-537744176" + ) + static void method48() { + Login.loginIndex = 24; + PlayerType.setLoginResponseString("The game servers are currently being updated.", "Please wait a few minutes and try again.", ""); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + signature = "(IIIIIIILex;Lfa;S)V", + garbageValue = "23648" + ) + static final void method50(int var0, int var1, int var2, int var3, int var4, int var5, int var6, Scene var7, CollisionMap var8) { + ObjectDefinition var9 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var4); + int var10; + int var11; + if (var5 != 1 && var5 != 3) { + var10 = var9.sizeX; + var11 = var9.sizeY; + } else { + var10 = var9.sizeY; + var11 = var9.sizeX; + } + + int var12; + int var13; + if (var10 + var2 <= 104) { + var12 = (var10 >> 1) + var2; + var13 = var2 + (var10 + 1 >> 1); + } else { + var12 = var2; + var13 = var2 + 1; + } + + int var14; + int var15; + if (var3 + var11 <= 104) { + var14 = var3 + (var11 >> 1); + var15 = var3 + (var11 + 1 >> 1); + } else { + var14 = var3; + var15 = var3 + 1; + } + + int[][] var16 = Tiles.Tiles_heights[var1]; + int var17 = var16[var13][var15] + var16[var12][var14] + var16[var13][var14] + var16[var12][var15] >> 2; + int var18 = (var2 << 7) + (var10 << 6); + int var19 = (var3 << 7) + (var11 << 6); + long var20 = class267.calculateTag(var2, var3, 2, var9.int1 == 0, var4); + int var22 = (var5 << 6) + var6; + if (var9.int3 == 1) { + var22 += 256; + } + + Object var23; + if (var6 == 22) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(22, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newFloorDecoration(var0, var2, var3, var17, (Entity)var23, var20, var22); + if (var9.interactType == 1) { + var8.setBlockedByFloorDec(var2, var3); + } + + } else if (var6 != 10 && var6 != 11) { + if (var6 >= 12) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(var6, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.method3052(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22); + if (var9.interactType != 0) { + var8.addGameObject(var2, var3, var10, var11, var9.boolean1); + } + + } else if (var6 == 0) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(0, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field489[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3502(var2, var3, var6, var5, var9.boolean1); + } + + } else if (var6 == 1) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(1, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field493[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3502(var2, var3, var6, var5, var9.boolean1); + } + + } else { + int var29; + if (var6 == 2) { + var29 = var5 + 1 & 3; + Object var24; + Object var25; + if (var9.animationId == -1 && var9.transforms == null) { + var24 = var9.getModel(2, var5 + 4, var16, var18, var17, var19); + var25 = var9.getModel(2, var29, var16, var18, var17, var19); + } else { + var24 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); + var25 = new DynamicObject(var4, 2, var29, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var24, (Entity)var25, Tiles.field489[var5], Tiles.field489[var29], var20, var22); + if (var9.interactType != 0) { + var8.method3502(var2, var3, var6, var5, var9.boolean1); + } + + } else if (var6 == 3) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(3, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newBoundaryObject(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field493[var5], 0, var20, var22); + if (var9.interactType != 0) { + var8.method3502(var2, var3, var6, var5, var9.boolean1); + } + + } else if (var6 == 9) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(var6, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.method3052(var0, var2, var3, var17, 1, 1, (Entity)var23, 0, var20, var22); + if (var9.interactType != 0) { + var8.addGameObject(var2, var3, var10, var11, var9.boolean1); + } + + } else if (var6 == 4) { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(4, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Entity)var23, (Entity)null, Tiles.field489[var5], 0, 0, 0, var20, var22); + } else { + Object var26; + long var30; + if (var6 == 5) { + var29 = 16; + var30 = var7.getBoundaryObjectTag(var0, var2, var3); + if (var30 != 0L) { + var29 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(class81.Entity_unpackID(var30)).int2; + } + + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, var5, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)null, Tiles.field489[var5], 0, var29 * Tiles.field491[var5], var29 * Tiles.field492[var5], var20, var22); + } else if (var6 == 6) { + var29 = 8; + var30 = var7.getBoundaryObjectTag(var0, var2, var3); + if (var30 != 0L) { + var29 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(class81.Entity_unpackID(var30)).int2 / 2; + } + + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)null, 256, var5, var29 * Tiles.field484[var5], var29 * Tiles.field494[var5], var20, var22); + } else if (var6 == 7) { + int var32 = var5 + 2 & 3; + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(4, var32 + 4, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, 4, var32 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Entity)var23, (Entity)null, 256, var32, 0, 0, var20, var22); + } else if (var6 == 8) { + var29 = 8; + var30 = var7.getBoundaryObjectTag(var0, var2, var3); + if (var30 != 0L) { + var29 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(class81.Entity_unpackID(var30)).int2 / 2; + } + + int var28 = var5 + 2 & 3; + Object var27; + if (var9.animationId == -1 && var9.transforms == null) { + var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); + var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19); + } else { + var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); + var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + var7.newWallDecoration(var0, var2, var3, var17, (Entity)var26, (Entity)var27, 256, var5, var29 * Tiles.field484[var5], var29 * Tiles.field494[var5], var20, var22); + } + } + } + } else { + if (var9.animationId == -1 && var9.transforms == null) { + var23 = var9.getModel(10, var5, var16, var18, var17, var19); + } else { + var23 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, true, (Entity)null); + } + + if (var23 != null) { + var7.method3052(var0, var2, var3, var17, var10, var11, (Entity)var23, var6 == 11 ? 256 : 0, var20, var22); + } + + if (var9.interactType != 0) { + var8.addGameObject(var2, var3, var10, var11, var9.boolean1); + } + + } + } + + @ObfuscatedName("ji") + @ObfuscatedSignature( + signature = "(III)V", + garbageValue = "323283253" + ) + static void method47(int var0, int var1) { + MenuAction var2 = ParamDefinition.tempMenuAction; + InvDefinition.menuAction(var2.argument1, var2.argument2, var2.opcode, var2.argument0, var2.action, var2.action, var0, var1); + ParamDefinition.tempMenuAction = null; + } +} diff --git a/runescape-client/src/main/java/class30.java b/runescape-client/src/main/java/class30.java index 0a2c03f742..63588bfa74 100644 --- a/runescape-client/src/main/java/class30.java +++ b/runescape-client/src/main/java/class30.java @@ -1,92 +1,180 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("an") -public class class30 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Lan;" - ) - static final class30 field253; - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Lan;" - ) - static final class30 field254; - @ObfuscatedName("l") - static byte[][][] field257; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1770534385 - ) - @Export("value") - final int value; - - static { - field253 = new class30(0); - field254 = new class30(1); - } - - class30(int var1) { - this.value = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Lis;", - garbageValue = "-97932043" - ) - public static VarpDefinition method518(int var0) { - VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = class297.VarpDefinition_archive.takeFile(16, var0); - var1 = new VarpDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)V", - garbageValue = "-2099290439" - ) - @Export("changeWorldSelectSorting") - static void changeWorldSelectSorting(int var0, int var1) { - int[] var2 = new int[4]; - int[] var3 = new int[4]; - var2[0] = var0; - var3[0] = var1; - int var4 = 1; - - for (int var5 = 0; var5 < 4; ++var5) { - if (World.World_sortOption1[var5] != var0) { - var2[var4] = World.World_sortOption1[var5]; - var3[var4] = World.World_sortOption2[var5]; - ++var4; - } - } - - World.World_sortOption1 = var2; - World.World_sortOption2 = var3; - AbstractWorldMapData.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(II)[B", - garbageValue = "945536192" - ) - @Export("ByteArrayPool_getArray") - public static synchronized byte[] ByteArrayPool_getArray(int var0) { - return ByteArrayPool.ByteArrayPool_getArrayBool(var0, false); - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ap") +public class class30 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lap;" + ) + static final class30 field253; + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lap;" + ) + static final class30 field250; + @ObfuscatedName("fk") + @ObfuscatedSignature( + signature = "Lky;" + ) + static AbstractSocket field251; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -2108473881 + ) + @Export("value") + final int value; + + static { + field253 = new class30(0); + field250 = new class30(1); + } + + class30(int var1) { + this.value = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(I)J", + garbageValue = "1399044967" + ) + public static final synchronized long method566() { + long var0 = System.currentTimeMillis(); + if (var0 < class296.field3688) { + class296.field3689 += class296.field3688 - var0; + } + + class296.field3688 = var0; + return var0 + class296.field3689; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(III)I", + garbageValue = "-476922485" + ) + public static int method563(int var0, int var1) { + int var2; + for (var2 = 1; var1 > 1; var1 >>= 1) { + if ((var1 & 1) != 0) { + var2 = var0 * var2; + } + + var0 *= var0; + } + + if (var1 == 1) { + return var0 * var2; + } else { + return var2; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(II)[B", + garbageValue = "-2057426461" + ) + @Export("ByteArrayPool_getArray") + public static synchronized byte[] ByteArrayPool_getArray(int var0) { + return ByteArrayPool.ByteArrayPool_getArrayBool(var0, false); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IIIIB)V", + garbageValue = "44" + ) + static final void method561(int var0, int var1, int var2, int var3) { + for (int var4 = var1; var4 <= var3 + var1; ++var4) { + for (int var5 = var0; var5 <= var0 + var2; ++var5) { + if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) { + Tiles.field486[0][var5][var4] = 127; + if (var0 == var5 && var5 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; + } + + if (var0 + var2 == var5 && var5 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; + } + + if (var4 == var1 && var4 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 - 1]; + } + + if (var4 == var3 + var1 && var4 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; + } + } + } + } + + } + + @ObfuscatedName("fo") + @ObfuscatedSignature( + signature = "(Lix;IIII)V", + garbageValue = "1243298159" + ) + @Export("addSequenceSoundEffect") + static void addSequenceSoundEffect(SequenceDefinition var0, int var1, int var2, int var3) { + if (Client.soundEffectCount < 50 && Client.field868 != 0) { + if (var0.soundEffects != null && var1 < var0.soundEffects.length) { + int var4 = var0.soundEffects[var1]; + if (var4 != 0) { + int var5 = var4 >> 8; + int var6 = var4 >> 4 & 7; + int var7 = var4 & 15; + Client.soundEffectIds[Client.soundEffectCount] = var5; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0; + Client.soundEffects[Client.soundEffectCount] = null; + int var8 = (var2 - 64) / 128; + int var9 = (var3 - 64) / 128; + Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16); + ++Client.soundEffectCount; + } + } + } + } + + @ObfuscatedName("iw") + @ObfuscatedSignature( + signature = "(Lho;III)V", + garbageValue = "-1445345740" + ) + @Export("alignWidgetPosition") + static void alignWidgetPosition(Widget var0, int var1, int var2) { + if (var0.xAlignment == 0) { + var0.x = var0.rawX; + } else if (var0.xAlignment == 1) { + var0.x = var0.rawX + (var1 - var0.width) / 2; + } else if (var0.xAlignment == 2) { + var0.x = var1 - var0.width - var0.rawX; + } else if (var0.xAlignment == 3) { + var0.x = var0.rawX * var1 >> 14; + } else if (var0.xAlignment == 4) { + var0.x = (var1 - var0.width) / 2 + (var0.rawX * var1 >> 14); + } else { + var0.x = var1 - var0.width - (var0.rawX * var1 >> 14); + } + + if (var0.yAlignment == 0) { + var0.y = var0.rawY; + } else if (var0.yAlignment == 1) { + var0.y = (var2 - var0.height) / 2 + var0.rawY; + } else if (var0.yAlignment == 2) { + var0.y = var2 - var0.height - var0.rawY; + } else if (var0.yAlignment == 3) { + var0.y = var2 * var0.rawY >> 14; + } else if (var0.yAlignment == 4) { + var0.y = (var2 * var0.rawY >> 14) + (var2 - var0.height) / 2; + } else { + var0.y = var2 - var0.height - (var2 * var0.rawY >> 14); + } + + } +} diff --git a/runescape-client/src/main/java/class300.java b/runescape-client/src/main/java/class300.java index afd2369cca..4f1e99cb2f 100644 --- a/runescape-client/src/main/java/class300.java +++ b/runescape-client/src/main/java/class300.java @@ -1,71 +1,71 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("kp") -public class class300 { - @ObfuscatedName("c") - @Export("writeRandomDat") - public static void writeRandomDat(byte[] var0, int var1, byte[] var2, int var3, int var4) { - if (var2 == var0) { - if (var3 == var1) { - return; - } - - if (var3 > var1 && var3 < var4 + var1) { - --var4; - var1 += var4; - var3 += var4; - var4 = var1 - var4; - - for (var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { - var2[var3--] = var0[var1--]; - var2[var3--] = var0[var1--]; - var2[var3--] = var0[var1--]; - var2[var3--] = var0[var1--]; - var2[var3--] = var0[var1--]; - var2[var3--] = var0[var1--]; - var2[var3--] = var0[var1--]; - } - - for (var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { - } - - return; - } - } - - var4 += var1; - - for (var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { - var2[var3++] = var0[var1++]; - var2[var3++] = var0[var1++]; - var2[var3++] = var0[var1++]; - var2[var3++] = var0[var1++]; - var2[var3++] = var0[var1++]; - var2[var3++] = var0[var1++]; - var2[var3++] = var0[var1++]; - } - - for (var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { - } - - } - - @ObfuscatedName("z") - @Export("clearIntArray") - public static void clearIntArray(int[] var0, int var1, int var2) { - for (var2 = var2 + var1 - 7; var1 < var2; var0[var1++] = 0) { - var0[var1++] = 0; - var0[var1++] = 0; - var0[var1++] = 0; - var0[var1++] = 0; - var0[var1++] = 0; - var0[var1++] = 0; - var0[var1++] = 0; - } - - for (var2 += 7; var1 < var2; var0[var1++] = 0) { - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ka") +public class class300 { + @ObfuscatedName("z") + @Export("writeRandomDat") + public static void writeRandomDat(byte[] var0, int var1, byte[] var2, int var3, int var4) { + if (var2 == var0) { + if (var3 == var1) { + return; + } + + if (var3 > var1 && var3 < var4 + var1) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; + + for (var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } + + for (var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { + } + + return; + } + } + + var4 += var1; + + for (var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } + + for (var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { + } + + } + + @ObfuscatedName("i") + @Export("clearIntArray") + public static void clearIntArray(int[] var0, int var1, int var2) { + for (var2 = var2 + var1 - 7; var1 < var2; var0[var1++] = 0) { + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + } + + for (var2 += 7; var1 < var2; var0[var1++] = 0) { + } + + } +} diff --git a/runescape-client/src/main/java/class312.java b/runescape-client/src/main/java/class312.java index ad15dde796..4e4fefbec5 100644 --- a/runescape-client/src/main/java/class312.java +++ b/runescape-client/src/main/java/class312.java @@ -1,80 +1,709 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lo") -public enum class312 implements Enumerated { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3805(0, 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3806(1, 1), - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3807(4, 2), - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3808(6, 3), - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3809(3, 4), - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3811(7, 5), - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3810(2, 6), - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3812(5, 7), - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "Llo;" - ) - field3813(8, 8); - - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 2054486073 - ) - final int field3814; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -625169807 - ) - @Export("id") - final int id; - - class312(int var3, int var4) { - this.field3814 = var3; - this.id = var4; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-1410702910" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("le") +public enum class312 implements Enumerated { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3818(4, 0), + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3809(1, 1), + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3816(8, 2), + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3811(2, 3), + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3808(6, 4), + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3813(5, 5), + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3815(0, 6), + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3812(7, 7), + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "Lle;" + ) + field3814(3, 8); + + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -504561675 + ) + final int field3817; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -2131314821 + ) + @Export("id") + final int id; + + class312(int var3, int var4) { + this.field3817 = var3; + this.id = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(S)I", + garbageValue = "221" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("gs") + @ObfuscatedSignature( + signature = "(Lby;IIIIII)V", + garbageValue = "2106384053" + ) + @Export("drawActor2d") + static final void drawActor2d(Actor var0, int var1, int var2, int var3, int var4, int var5) { + if (var0 != null && var0.isVisible()) { + if (var0 instanceof NPC) { + NPCDefinition var6 = ((NPC)var0).definition; + if (var6.transforms != null) { + var6 = var6.transform(); + } + + if (var6 == null) { + return; + } + } + + int var75 = Players.Players_count; + int[] var7 = Players.Players_indices; + byte var8 = 0; + if (var1 < var75 && var0.playerCycle == Client.cycle && GrandExchangeOfferUnitPriceComparator.method134((Player)var0)) { + Player var9 = (Player)var0; + if (var1 < var75) { + World.getActorScreenLocation(var0, var0.defaultHeight + 15); + AbstractFont var10 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); + byte var11 = 9; + var10.drawCentered(var9.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var11, 16777215, 0); + var8 = 18; + } + } + + int var76 = -2; + int var15; + int var16; + int var22; + int var23; + if (!var0.healthBars.method4763()) { + World.getActorScreenLocation(var0, var0.defaultHeight + 15); + + for (HealthBar var89 = (HealthBar)var0.healthBars.last(); var89 != null; var89 = (HealthBar)var0.healthBars.previous()) { + HealthBarUpdate var77 = var89.get(Client.cycle); + if (var77 == null) { + if (var89.isEmpty()) { + var89.remove(); + } + } else { + HealthBarDefinition var12 = var89.definition; + Sprite var13 = var12.getBackSprite(); + Sprite var14 = var12.getFrontSprite(); + var16 = 0; + if (var13 != null && var14 != null) { + if (var12.widthPadding * 2 < var14.subWidth) { + var16 = var12.widthPadding; + } + + var15 = var14.subWidth - var16 * 2; + } else { + var15 = var12.width; + } + + int var17 = 255; + boolean var18 = true; + int var19 = Client.cycle - var77.cycle; + int var20 = var15 * var77.health2 / var12.width; + int var21; + int var94; + if (var77.cycleOffset > var19) { + var21 = var12.int4 == 0 ? 0 : var12.int4 * (var19 / var12.int4); + var22 = var15 * var77.health / var12.width; + var94 = var21 * (var20 - var22) / var77.cycleOffset + var22; + } else { + var94 = var20; + var21 = var12.int5 + var77.cycleOffset - var19; + if (var12.int3 >= 0) { + var17 = (var21 << 8) / (var12.int5 - var12.int3); + } + } + + if (var77.health2 > 0 && var94 < 1) { + var94 = 1; + } + + if (var13 != null && var14 != null) { + if (var15 == var94) { + var94 += var16 * 2; + } else { + var94 += var16; + } + + var21 = var13.subHeight; + var76 += var21; + var22 = var2 + Client.viewportTempX - (var15 >> 1); + var23 = var3 + Client.viewportTempY - var76; + var22 -= var16; + if (var17 >= 0 && var17 < 255) { + var13.drawTransAt(var22, var23, var17); + Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var22 + var94, var23 + var21); + var14.drawTransAt(var22, var23, var17); + } else { + var13.drawTransBgAt(var22, var23); + Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var94 + var22, var23 + var21); + var14.drawTransBgAt(var22, var23); + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); + var76 += 2; + } else { + var76 += 5; + if (Client.viewportTempX > -1) { + var21 = var2 + Client.viewportTempX - (var15 >> 1); + var22 = var3 + Client.viewportTempY - var76; + Rasterizer2D.Rasterizer2D_fillRectangle(var21, var22, var94, 5, 65280); + Rasterizer2D.Rasterizer2D_fillRectangle(var21 + var94, var22, var15 - var94, 5, 16711680); + } + + var76 += 2; + } + } + } + } + + if (var76 == -2) { + var76 += 7; + } + + var76 += var8; + if (var1 < var75) { + Player var90 = (Player)var0; + if (var90.isHidden) { + return; + } + + if (var90.headIconPk != -1 || var90.headIconPrayer != -1) { + World.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + if (var90.headIconPk != -1) { + var76 += 25; + StructDefinition.headIconPkSprites[var90.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); + } + + if (var90.headIconPrayer != -1) { + var76 += 25; + WorldMapRegion.headIconPrayerSprites[var90.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); + } + } + } + + if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { + World.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + var76 += ReflectionCheck.headIconHintSprites[1].subHeight; + ReflectionCheck.headIconHintSprites[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); + } + } + } else { + NPCDefinition var91 = ((NPC)var0).definition; + if (var91.transforms != null) { + var91 = var91.transform(); + } + + if (var91.headIconPrayer >= 0 && var91.headIconPrayer < WorldMapRegion.headIconPrayerSprites.length) { + World.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + WorldMapRegion.headIconPrayerSprites[var91.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); + } + } + + if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { + World.getActorScreenLocation(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + ReflectionCheck.headIconHintSprites[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); + } + } + } + + if (var0.overheadText != null && (var1 >= var75 || !var0.field944 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) { + World.getActorScreenLocation(var0, var0.defaultHeight); + if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { + Client.overheadTextXOffsets[Client.overheadTextCount] = class173.fontBold12.stringWidth(var0.overheadText) / 2; + Client.overheadTextAscents[Client.overheadTextCount] = class173.fontBold12.ascent; + Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX; + Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY; + Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor; + Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect; + Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining; + Client.overheadText[Client.overheadTextCount] = var0.overheadText; + ++Client.overheadTextCount; + } + } + + for (int var78 = 0; var78 < 4; ++var78) { + int var92 = var0.hitSplatCycles[var78]; + int var79 = var0.hitSplatTypes[var78]; + HitSplatDefinition var93 = null; + int var80 = 0; + HitSplatDefinition var81; + if (var79 >= 0) { + if (var92 <= Client.cycle) { + continue; + } + + var16 = var0.hitSplatTypes[var78]; + var81 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var16); + HitSplatDefinition var82; + if (var81 != null) { + var82 = var81; + } else { + byte[] var83 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var16); + var81 = new HitSplatDefinition(); + if (var83 != null) { + var81.decode(new Buffer(var83)); + } + + HitSplatDefinition.HitSplatDefinition_cached.put(var81, (long)var16); + var82 = var81; + } + + var93 = var82; + var80 = var82.field3318; + if (var82 != null && var82.transforms != null) { + var93 = var82.transform(); + if (var93 == null) { + var0.hitSplatCycles[var78] = -1; + continue; + } + } + } else if (var92 < 0) { + continue; + } + + var15 = var0.hitSplatTypes2[var78]; + HitSplatDefinition var84 = null; + HitSplatDefinition var96; + if (var15 >= 0) { + var96 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var15); + if (var96 != null) { + var81 = var96; + } else { + byte[] var85 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var15); + var96 = new HitSplatDefinition(); + if (var85 != null) { + var96.decode(new Buffer(var85)); + } + + HitSplatDefinition.HitSplatDefinition_cached.put(var96, (long)var15); + var81 = var96; + } + + var84 = var81; + if (var81 != null && var81.transforms != null) { + var84 = var81.transform(); + } + } + + if (var92 - var80 <= Client.cycle) { + if (var93 == null) { + var0.hitSplatCycles[var78] = -1; + } else { + World.getActorScreenLocation(var0, var0.defaultHeight / 2); + if (Client.viewportTempX > -1) { + if (var78 == 1) { + Client.viewportTempY -= 20; + } + + if (var78 == 2) { + Client.viewportTempX -= 15; + Client.viewportTempY -= 10; + } + + if (var78 == 3) { + Client.viewportTempX += 15; + Client.viewportTempY -= 10; + } + + var96 = null; + Sprite var98 = null; + Sprite var86 = null; + Sprite var87 = null; + var22 = 0; + var23 = 0; + int var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + int var28 = 0; + int var29 = 0; + Sprite var30 = null; + Sprite var31 = null; + Sprite var32 = null; + Sprite var33 = null; + int var34 = 0; + int var35 = 0; + int var36 = 0; + int var37 = 0; + int var38 = 0; + int var39 = 0; + int var40 = 0; + int var41 = 0; + int var42 = 0; + Sprite var97 = var93.method4508(); + int var43; + if (var97 != null) { + var22 = var97.subWidth; + var43 = var97.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var26 = var97.xOffset; + } + + var98 = var93.method4505(); + if (var98 != null) { + var23 = var98.subWidth; + var43 = var98.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var27 = var98.xOffset; + } + + var86 = var93.method4506(); + if (var86 != null) { + var24 = var86.subWidth; + var43 = var86.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var28 = var86.xOffset; + } + + var87 = var93.method4530(); + if (var87 != null) { + var25 = var87.subWidth; + var43 = var87.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var29 = var87.xOffset; + } + + if (var84 != null) { + var30 = var84.method4508(); + if (var30 != null) { + var34 = var30.subWidth; + var43 = var30.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var38 = var30.xOffset; + } + + var31 = var84.method4505(); + if (var31 != null) { + var35 = var31.subWidth; + var43 = var31.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var39 = var31.xOffset; + } + + var32 = var84.method4506(); + if (var32 != null) { + var36 = var32.subWidth; + var43 = var32.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var40 = var32.xOffset; + } + + var33 = var84.method4530(); + if (var33 != null) { + var37 = var33.subWidth; + var43 = var33.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var41 = var33.xOffset; + } + } + + Font var88 = var93.getFont(); + if (var88 == null) { + var88 = GrandExchangeOfferOwnWorldComparator.fontPlain11; + } + + Font var44; + if (var84 != null) { + var44 = var84.getFont(); + if (var44 == null) { + var44 = GrandExchangeOfferOwnWorldComparator.fontPlain11; + } + } else { + var44 = GrandExchangeOfferOwnWorldComparator.fontPlain11; + } + + String var45 = null; + String var46 = null; + boolean var47 = false; + int var48 = 0; + var45 = var93.getString(var0.hitSplatValues[var78]); + int var95 = var88.stringWidth(var45); + if (var84 != null) { + var46 = var84.getString(var0.hitSplatValues2[var78]); + var48 = var44.stringWidth(var46); + } + + int var49 = 0; + int var50 = 0; + if (var23 > 0) { + if (var86 == null && var87 == null) { + var49 = 1; + } else { + var49 = var95 / var23 + 1; + } + } + + if (var84 != null && var35 > 0) { + if (var32 == null && var33 == null) { + var50 = 1; + } else { + var50 = var48 / var35 + 1; + } + } + + int var51 = 0; + int var52 = var51; + if (var22 > 0) { + var51 += var22; + } + + var51 += 2; + int var53 = var51; + if (var24 > 0) { + var51 += var24; + } + + int var54 = var51; + int var55 = var51; + int var56; + if (var23 > 0) { + var56 = var23 * var49; + var51 += var56; + var55 += (var56 - var95) / 2; + } else { + var51 += var95; + } + + var56 = var51; + if (var25 > 0) { + var51 += var25; + } + + int var57 = 0; + int var58 = 0; + int var59 = 0; + int var60 = 0; + int var61 = 0; + int var62; + if (var84 != null) { + var51 += 2; + var57 = var51; + if (var34 > 0) { + var51 += var34; + } + + var51 += 2; + var58 = var51; + if (var36 > 0) { + var51 += var36; + } + + var59 = var51; + var61 = var51; + if (var35 > 0) { + var62 = var35 * var50; + var51 += var62; + var61 += (var62 - var48) / 2; + } else { + var51 += var48; + } + + var60 = var51; + if (var37 > 0) { + var51 += var37; + } + } + + var62 = var0.hitSplatCycles[var78] - Client.cycle; + int var63 = var93.field3323 - var62 * var93.field3323 / var93.field3318; + int var64 = var62 * var93.field3311 / var93.field3318 + -var93.field3311; + int var65 = var63 + (var2 + Client.viewportTempX - (var51 >> 1)); + int var66 = var64 + (var3 + Client.viewportTempY - 12); + int var67 = var66; + int var68 = var66 + var42; + int var69 = var66 + var93.field3334 + 15; + int var70 = var69 - var88.maxAscent; + int var71 = var69 + var88.maxDescent; + if (var70 < var66) { + var67 = var70; + } + + if (var71 > var68) { + var68 = var71; + } + + int var72 = 0; + int var73; + int var74; + if (var84 != null) { + var72 = var66 + var84.field3334 + 15; + var73 = var72 - var44.maxAscent; + var74 = var72 + var44.maxDescent; + if (var73 < var67) { + ; + } + + if (var74 > var68) { + ; + } + } + + var73 = 255; + if (var93.field3325 >= 0) { + var73 = (var62 << 8) / (var93.field3318 - var93.field3325); + } + + if (var73 >= 0 && var73 < 255) { + if (var97 != null) { + var97.drawTransAt(var65 + var52 - var26, var66, var73); + } + + if (var86 != null) { + var86.drawTransAt(var53 + var65 - var28, var66, var73); + } + + if (var98 != null) { + for (var74 = 0; var74 < var49; ++var74) { + var98.drawTransAt(var23 * var74 + (var54 + var65 - var27), var66, var73); + } + } + + if (var87 != null) { + var87.drawTransAt(var56 + var65 - var29, var66, var73); + } + + var88.drawAlpha(var45, var55 + var65, var69, var93.textColor, 0, var73); + if (var84 != null) { + if (var30 != null) { + var30.drawTransAt(var57 + var65 - var38, var66, var73); + } + + if (var32 != null) { + var32.drawTransAt(var58 + var65 - var40, var66, var73); + } + + if (var31 != null) { + for (var74 = 0; var74 < var50; ++var74) { + var31.drawTransAt(var35 * var74 + (var65 + var59 - var39), var66, var73); + } + } + + if (var33 != null) { + var33.drawTransAt(var60 + var65 - var41, var66, var73); + } + + var44.drawAlpha(var46, var65 + var61, var72, var84.textColor, 0, var73); + } + } else { + if (var97 != null) { + var97.drawTransBgAt(var65 + var52 - var26, var66); + } + + if (var86 != null) { + var86.drawTransBgAt(var65 + var53 - var28, var66); + } + + if (var98 != null) { + for (var74 = 0; var74 < var49; ++var74) { + var98.drawTransBgAt(var74 * var23 + (var54 + var65 - var27), var66); + } + } + + if (var87 != null) { + var87.drawTransBgAt(var56 + var65 - var29, var66); + } + + var88.draw(var45, var55 + var65, var69, var93.textColor | -16777216, 0); + if (var84 != null) { + if (var30 != null) { + var30.drawTransBgAt(var65 + var57 - var38, var66); + } + + if (var32 != null) { + var32.drawTransBgAt(var65 + var58 - var40, var66); + } + + if (var31 != null) { + for (var74 = 0; var74 < var50; ++var74) { + var31.drawTransBgAt(var74 * var35 + (var59 + var65 - var39), var66); + } + } + + if (var33 != null) { + var33.drawTransBgAt(var60 + var65 - var41, var66); + } + + var44.draw(var46, var61 + var65, var72, var84.textColor | -16777216, 0); + } + } + } + } + } + } + + } + } +} diff --git a/runescape-client/src/main/java/class319.java b/runescape-client/src/main/java/class319.java index 818d16ef7d..65c9c2367b 100644 --- a/runescape-client/src/main/java/class319.java +++ b/runescape-client/src/main/java/class319.java @@ -1,13 +1,11 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("lp") -public class class319 { - @ObfuscatedName("hf") - @ObfuscatedGetter( - intValue = 977386879 - ) - @Export("cameraPitch") - static int cameraPitch; -} +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("ln") +public class class319 { + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 2052078695 + ) + public static int field3843; +} diff --git a/runescape-client/src/main/java/class32.java b/runescape-client/src/main/java/class32.java index 35ec4069d8..098bee5ed7 100644 --- a/runescape-client/src/main/java/class32.java +++ b/runescape-client/src/main/java/class32.java @@ -1,138 +1,392 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("as") -public class class32 { - @ObfuscatedName("sf") - @ObfuscatedSignature( - signature = "Lla;" - ) - @Export("platformInfo") - static PlatformInfo platformInfo; - @ObfuscatedName("i") - @ObfuscatedSignature( - signature = "Lae;" - ) - @Export("worldMapEvent") - static WorldMapEvent worldMapEvent; - @ObfuscatedName("lb") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("mousedOverWidgetIf1") - static Widget mousedOverWidgetIf1; - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Lkz;IIIIIIS)V", - garbageValue = "128" - ) - @Export("loadTerrain") - static final void loadTerrain(Buffer var0, int var1, int var2, int var3, int var4, int var5, int var6) { - int var7; - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { - Tiles.Tiles_renderFlags[var1][var2][var3] = 0; - - while (true) { - var7 = var0.readUnsignedByte(); - if (var7 == 0) { - if (var1 == 0) { - Tiles.Tiles_heights[0][var2][var3] = -MusicPatchNode.method3811(var4 + 932731 + var2, 556238 + var3 + var5) * 8; - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; - } - break; - } - - if (var7 == 1) { - int var8 = var0.readUnsignedByte(); - if (var8 == 1) { - var8 = 0; - } - - if (var1 == 0) { - Tiles.Tiles_heights[0][var2][var3] = -var8 * 8; - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - var8 * 8; - } - break; - } - - if (var7 <= 49) { - class30.field257[var1][var2][var3] = var0.readByte(); - Tiles.field477[var1][var2][var3] = (byte)((var7 - 2) / 4); - HealthBar.field1089[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); - } else if (var7 <= 81) { - Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); - } else { - Tiles.field476[var1][var2][var3] = (byte)(var7 - 81); - } - } - } else { - while (true) { - var7 = var0.readUnsignedByte(); - if (var7 == 0) { - break; - } - - if (var7 == 1) { - var0.readUnsignedByte(); - break; - } - - if (var7 <= 49) { - var0.readUnsignedByte(); - } - } - } - - } - - @ObfuscatedName("jf") - @ObfuscatedSignature( - signature = "([Lhy;IB)V", - garbageValue = "63" - ) - @Export("runComponentCloseListeners") - static final void runComponentCloseListeners(Widget[] var0, int var1) { - for (int var2 = 0; var2 < var0.length; ++var2) { - Widget var3 = var0[var2]; - if (var3 != null) { - if (var3.type == 0) { - if (var3.children != null) { - runComponentCloseListeners(var3.children, var1); - } - - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); - if (var4 != null) { - WorldMapRectangle.runIntfCloseListeners(var4.group, var1); - } - } - - ScriptEvent var5; - if (var1 == 0 && var3.onDialogAbort != null) { - var5 = new ScriptEvent(); - var5.widget = var3; - var5.args = var3.onDialogAbort; - SecureRandomFuture.runScriptEvent(var5); - } - - if (var1 == 1 && var3.onSubChange != null) { - if (var3.childIndex >= 0) { - Widget var6 = Player.getWidget(var3.id); - if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { - continue; - } - } - - var5 = new ScriptEvent(); - var5.widget = var3; - var5.args = var3.onSubChange; - SecureRandomFuture.runScriptEvent(var5); - } - } - } - - } -} +import java.io.DataInputStream; +import java.net.URL; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ab") +public class class32 { + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("titleboxSprite") + static IndexedSprite titleboxSprite; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", + garbageValue = "-806391378" + ) + @Export("RunException_sendStackTrace") + public static void RunException_sendStackTrace(String var0, Throwable var1) { + if (var1 != null) { + var1.printStackTrace(); + } else { + try { + String var2 = ""; + if (var1 != null) { + var2 = WorldMapManager.method685(var1); + } + + if (var0 != null) { + if (var1 != null) { + var2 = var2 + " | "; + } + + var2 = var2 + var0; + } + + System.out.println("Error: " + var2); + var2 = var2.replace(':', '.'); + var2 = var2.replace('@', '_'); + var2 = var2.replace('&', '_'); + var2 = var2.replace('#', '_'); + if (RunException.RunException_applet == null) { + return; + } + + URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + class319.field3843 + "&e=" + var2); + DataInputStream var4 = new DataInputStream(var3.openStream()); + var4.read(); + var4.close(); + } catch (Exception var5) { + } + + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(CI)C", + garbageValue = "-2024660468" + ) + static char method577(char var0) { + switch(var0) { + case ' ': + case '-': + case '_': + case ' ': + return '_'; + case '#': + case '[': + case ']': + return var0; + case 'À': + case 'Á': + case 'Â': + case 'Ã': + case 'Ä': + case 'à': + case 'á': + case 'â': + case 'ã': + case 'ä': + return 'a'; + case 'Ç': + case 'ç': + return 'c'; + case 'È': + case 'É': + case 'Ê': + case 'Ë': + case 'è': + case 'é': + case 'ê': + case 'ë': + return 'e'; + case 'Í': + case 'Î': + case 'Ï': + case 'í': + case 'î': + case 'ï': + return 'i'; + case 'Ñ': + case 'ñ': + return 'n'; + case 'Ò': + case 'Ó': + case 'Ô': + case 'Õ': + case 'Ö': + case 'ò': + case 'ó': + case 'ô': + case 'õ': + case 'ö': + return 'o'; + case 'Ù': + case 'Ú': + case 'Û': + case 'Ü': + case 'ù': + case 'ú': + case 'û': + case 'ü': + return 'u'; + case 'ß': + return 'b'; + case 'ÿ': + case 'Ÿ': + return 'y'; + default: + return Character.toLowerCase(var0); + } + } + + @ObfuscatedName("r") + public static int method578(long var0) { + return (int)(var0 >>> 7 & 127L); + } + + @ObfuscatedName("fg") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1866608014" + ) + static final void method571() { + int var0 = Players.Players_count; + int[] var1 = Players.Players_indices; + + for (int var2 = 0; var2 < var0; ++var2) { + Player var3 = Client.players[var1[var2]]; + if (var3 != null) { + class325.calculateActorPosition(var3, 1); + } + } + + } + + @ObfuscatedName("hi") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "1810963756" + ) + @Export("selectSpell") + static void selectSpell(int var0, int var1, int var2, int var3) { + Widget var4 = GrandExchangeOfferWorldComparator.getWidgetChild(var0, var1); + if (var4 != null && var4.onTargetEnter != null) { + ScriptEvent var5 = new ScriptEvent(); + var5.widget = var4; + var5.args = var4.onTargetEnter; + ParamDefinition.runScriptEvent(var5); + } + + Client.field793 = var3; + Client.isSpellSelected = true; + AttackOption.selectedSpellWidget = var0; + Client.selectedSpellChildIndex = var1; + ItemContainer.selectedSpellFlags = var2; + WorldMapSectionType.invalidateWidget(var4); + } + + @ObfuscatedName("hp") + @ObfuscatedSignature( + signature = "(IIIII)V", + garbageValue = "-1928557491" + ) + @Export("addSceneMenuOptions") + static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { + if (Client.isItemSelected == 0 && !Client.isSpellSelected) { + WorldMapData_1.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); + } + + long var4 = -1L; + long var6 = -1L; + int var8 = 0; + + while (true) { + int var10 = ViewportMouse.ViewportMouse_entityCount; + if (var8 >= var10) { + if (-1L != var4) { + var8 = class2.ViewportMouse_unpackX(var4); + int var9 = method578(var4); + Player var27 = Client.players[Client.combatTargetPlayerIndex]; + GrandExchangeEvent.addPlayerToMenu(var27, Client.combatTargetPlayerIndex, var8, var9); + } + + return; + } + + long var11 = ViewportMouse.ViewportMouse_entityTags[var8]; + if (var11 != var6) { + label336: { + var6 = var11; + int var15 = class2.ViewportMouse_unpackX(ViewportMouse.ViewportMouse_entityTags[var8]); + int var16 = var15; + int var17 = ArchiveLoader.method1173(var8); + int var18 = class81.method2059(var8); + int var19 = class81.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var8]); + int var20 = var19; + if (var18 == 2 && PacketWriter.scene.getObjectFlags(WorldMapRectangle.plane, var15, var17, var11) >= 0) { + ObjectDefinition var21 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var19); + if (var21.transforms != null) { + var21 = var21.transform(); + } + + if (var21 == null) { + break label336; + } + + if (Client.isItemSelected == 1) { + WorldMapData_1.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + World.colorStartTag(65535) + var21.name, 1, var19, var15, var17); + } else if (Client.isSpellSelected) { + if ((ItemContainer.selectedSpellFlags & 4) == 4) { + WorldMapData_1.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + World.colorStartTag(65535) + var21.name, 2, var19, var15, var17); + } + } else { + String[] var28 = var21.actions; + if (var28 != null) { + for (int var29 = 4; var29 >= 0; --var29) { + if (var28[var29] != null) { + short var24 = 0; + if (var29 == 0) { + var24 = 3; + } + + if (var29 == 1) { + var24 = 4; + } + + if (var29 == 2) { + var24 = 5; + } + + if (var29 == 3) { + var24 = 6; + } + + if (var29 == 4) { + var24 = 1001; + } + + WorldMapData_1.insertMenuItemNoShift(var28[var29], World.colorStartTag(65535) + var21.name, var24, var20, var16, var17); + } + } + } + + WorldMapData_1.insertMenuItemNoShift("Examine", World.colorStartTag(65535) + var21.name, 1002, var21.id, var16, var17); + } + } + + int var22; + NPC var23; + Player var25; + int[] var35; + int var37; + if (var18 == 1) { + NPC var32 = Client.npcs[var20]; + if (var32 == null) { + break label336; + } + + if (var32.definition.size == 1 && (var32.x & 127) == 64 && (var32.y * 682054857 & 127) == 64) { + for (var22 = 0; var22 < Client.npcCount; ++var22) { + var23 = Client.npcs[Client.npcIndices[var22]]; + if (var23 != null && var23 != var32 && var23.definition.size == 1 && var23.x == var32.x && var32.y * 682054857 == var23.y * 682054857) { + class186.addNpcToMenu(var23.definition, Client.npcIndices[var22], var16, var17); + } + } + + var22 = Players.Players_count; + var35 = Players.Players_indices; + + for (var37 = 0; var37 < var22; ++var37) { + var25 = Client.players[var35[var37]]; + if (var25 != null && var32.x == var25.x && var32.y * 682054857 == var25.y * 682054857) { + GrandExchangeEvent.addPlayerToMenu(var25, var35[var37], var16, var17); + } + } + } + + class186.addNpcToMenu(var32.definition, var20, var16, var17); + } + + if (var18 == 0) { + Player var33 = Client.players[var20]; + if (var33 == null) { + break label336; + } + + if ((var33.x & 127) == 64 && (var33.y * 682054857 & 127) == 64) { + for (var22 = 0; var22 < Client.npcCount; ++var22) { + var23 = Client.npcs[Client.npcIndices[var22]]; + if (var23 != null && var23.definition.size == 1 && var23.x == var33.x && var23.y * 682054857 == var33.y * 682054857) { + class186.addNpcToMenu(var23.definition, Client.npcIndices[var22], var16, var17); + } + } + + var22 = Players.Players_count; + var35 = Players.Players_indices; + + for (var37 = 0; var37 < var22; ++var37) { + var25 = Client.players[var35[var37]]; + if (var25 != null && var33 != var25 && var33.x == var25.x && var33.y * 682054857 == var25.y * 682054857) { + GrandExchangeEvent.addPlayerToMenu(var25, var35[var37], var16, var17); + } + } + } + + if (var20 != Client.combatTargetPlayerIndex) { + GrandExchangeEvent.addPlayerToMenu(var33, var20, var16, var17); + } else { + var4 = var11; + } + } + + if (var18 == 3) { + NodeDeque var34 = Client.groundItems[WorldMapRectangle.plane][var16][var17]; + if (var34 != null) { + for (TileItem var38 = (TileItem)var34.first(); var38 != null; var38 = (TileItem)var34.next()) { + ItemDefinition var36 = Occluder.ItemDefinition_get(var38.id); + if (Client.isItemSelected == 1) { + WorldMapData_1.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + World.colorStartTag(16748608) + var36.name, 16, var38.id, var16, var17); + } else if (Client.isSpellSelected) { + if ((ItemContainer.selectedSpellFlags & 1) == 1) { + WorldMapData_1.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + World.colorStartTag(16748608) + var36.name, 17, var38.id, var16, var17); + } + } else { + String[] var30 = var36.groundActions; + + for (int var31 = 4; var31 >= 0; --var31) { + if (var30 != null && var30[var31] != null) { + byte var26 = 0; + if (var31 == 0) { + var26 = 18; + } + + if (var31 == 1) { + var26 = 19; + } + + if (var31 == 2) { + var26 = 20; + } + + if (var31 == 3) { + var26 = 21; + } + + if (var31 == 4) { + var26 = 22; + } + + WorldMapData_1.insertMenuItemNoShift(var30[var31], World.colorStartTag(16748608) + var36.name, var26, var38.id, var16, var17); + } else if (var31 == 2) { + WorldMapData_1.insertMenuItemNoShift("Take", World.colorStartTag(16748608) + var36.name, 20, var38.id, var16, var17); + } + } + + WorldMapData_1.insertMenuItemNoShift("Examine", World.colorStartTag(16748608) + var36.name, 1004, var38.id, var16, var17); + } + } + } + } + } + } + + ++var8; + } + } +} diff --git a/runescape-client/src/main/java/class325.java b/runescape-client/src/main/java/class325.java index ed284de696..a2b5333c1f 100644 --- a/runescape-client/src/main/java/class325.java +++ b/runescape-client/src/main/java/class325.java @@ -1,34 +1,415 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("lg") -public class class325 { - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 243189555 - ) - @Export("SpriteBuffer_spriteCount") - static int SpriteBuffer_spriteCount; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1019350203 - ) - @Export("SpriteBuffer_spriteWidth") - public static int SpriteBuffer_spriteWidth; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 633563737 - ) - @Export("SpriteBuffer_spriteHeight") - public static int SpriteBuffer_spriteHeight; - @ObfuscatedName("g") - @Export("SpriteBuffer_xOffsets") - public static int[] SpriteBuffer_xOffsets; - @ObfuscatedName("u") - @Export("SpriteBuffer_spriteWidths") - public static int[] SpriteBuffer_spriteWidths; - @ObfuscatedName("v") - @Export("SpriteBuffer_spritePalette") - public static int[] SpriteBuffer_spritePalette; -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("lo") +public class class325 { + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 2036297741 + ) + @Export("SpriteBuffer_spriteCount") + static int SpriteBuffer_spriteCount; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -850597869 + ) + @Export("SpriteBuffer_spriteWidth") + public static int SpriteBuffer_spriteWidth; + @ObfuscatedName("u") + @Export("SpriteBuffer_xOffsets") + public static int[] SpriteBuffer_xOffsets; + @ObfuscatedName("p") + @Export("SpriteBuffer_spriteWidths") + public static int[] SpriteBuffer_spriteWidths; + @ObfuscatedName("m") + @Export("SpriteBuffer_spritePalette") + public static int[] SpriteBuffer_spritePalette; + + @ObfuscatedName("fu") + @ObfuscatedSignature( + signature = "(Lby;II)V", + garbageValue = "771292121" + ) + @Export("calculateActorPosition") + static final void calculateActorPosition(Actor var0, int var1) { + SequenceDefinition var2; + int var4; + int var11; + int var12; + if (var0.field948 > Client.cycle) { + class191.method3630(var0); + } else if (var0.field976 >= Client.cycle) { + HealthBar.method2028(var0); + } else { + var0.movementSequence = var0.readySequence; + if (var0.pathLength == 0) { + var0.field949 = 0; + } else { + label548: { + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var2 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var0.sequence); + if (var0.field988 > 0 && var2.field3515 == 0) { + ++var0.field949; + break label548; + } + + if (var0.field988 <= 0 && var2.field3510 == 0) { + ++var0.field949; + break label548; + } + } + + var11 = var0.x; + var12 = var0.y * 682054857; + var4 = var0.pathX[var0.pathLength - 1] * 128 + var0.field932 * -527978816; + int var5 = var0.field932 * -527978816 + var0.pathY[var0.pathLength - 1] * 128; + if (var11 < var4) { + if (var12 < var5) { + var0.orientation = 1280; + } else if (var12 > var5) { + var0.orientation = 1792; + } else { + var0.orientation = 1536; + } + } else if (var11 > var4) { + if (var12 < var5) { + var0.orientation = 768; + } else if (var12 > var5) { + var0.orientation = 256; + } else { + var0.orientation = 512; + } + } else if (var12 < var5) { + var0.orientation = 1024; + } else if (var12 > var5) { + var0.orientation = 0; + } + + byte var6 = var0.pathTraversed[var0.pathLength - 1]; + if (var4 - var11 <= 256 && var4 - var11 >= -256 && var5 - var12 <= 256 && var5 - var12 >= -256) { + int var7 = var0.orientation - var0.rotation & 2047; + if (var7 > 1024) { + var7 -= 2048; + } + + int var8 = var0.walkBackSequence; + if (var7 >= -256 && var7 <= 256) { + var8 = var0.walkSequence; + } else if (var7 >= 256 && var7 < 768) { + var8 = var0.walkRightSequence; + } else if (var7 >= -768 && var7 <= -256) { + var8 = var0.walkLeftSequence; + } + + if (var8 == -1) { + var8 = var0.walkSequence; + } + + var0.movementSequence = var8; + int var9 = 4; + boolean var10 = true; + if (var0 instanceof NPC) { + var10 = ((NPC)var0).definition.isClickable; + } + + if (var10) { + if (var0.rotation != var0.orientation && var0.targetIndex == -1 && var0.field982 != 0) { + var9 = 2; + } + + if (var0.pathLength > 2) { + var9 = 6; + } + + if (var0.pathLength > 3) { + var9 = 8; + } + + if (var0.field949 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field949; + } + } else { + if (var0.pathLength > 1) { + var9 = 6; + } + + if (var0.pathLength > 2) { + var9 = 8; + } + + if (var0.field949 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field949; + } + } + + if (var6 == 2) { + var9 <<= 1; + } + + if (var9 >= 8 && var0.walkSequence == var0.movementSequence && var0.runSequence != -1) { + var0.movementSequence = var0.runSequence; + } + + if (var11 != var4 || var12 != var5) { + if (var11 < var4) { + var0.x += var9; + if (var0.x > var4) { + var0.x = var4; + } + } else if (var11 > var4) { + var0.x -= var9; + if (var0.x < var4) { + var0.x = var4; + } + } + + if (var12 < var5) { + var0.y += -944175751 * var9; + if (var0.y * 682054857 > var5) { + var0.y = var5 * -944175751; + } + } else if (var12 > var5) { + var0.y -= var9 * -944175751; + if (var0.y * 682054857 < var5) { + var0.y = var5 * -944175751; + } + } + } + + if (var4 == var0.x && var0.y * 682054857 == var5) { + --var0.pathLength; + if (var0.field988 > 0) { + --var0.field988; + } + } + } else { + var0.x = var4; + var0.y = var5 * -944175751; + --var0.pathLength; + if (var0.field988 > 0) { + --var0.field988; + } + } + } + } + } + + if (var0.x < 128 || var0.y * 682054857 < 128 || var0.x >= 13184 || var0.y * 682054857 >= 13184) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field948 = 0; + var0.field976 = 0; + var0.x = var0.pathX[0] * 128 + var0.field932 * -527978816; + var0.y = var0.field932 * 1330337984 + var0.pathY[0] * -595411840; + var0.method1761(); + } + + if (class223.localPlayer == var0 && (var0.x < 1536 || var0.y * 682054857 < 1536 || var0.x >= 11776 || var0.y * 682054857 >= 11776)) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field948 = 0; + var0.field976 = 0; + var0.x = var0.field932 * -527978816 + var0.pathX[0] * 128; + var0.y = var0.field932 * 1330337984 + var0.pathY[0] * -595411840; + var0.method1761(); + } + + if (var0.field982 != 0) { + if (var0.targetIndex != -1) { + Object var13 = null; + if (var0.targetIndex < 32768) { + var13 = Client.npcs[var0.targetIndex]; + } else if (var0.targetIndex >= 32768) { + var13 = Client.players[var0.targetIndex - 32768]; + } + + if (var13 != null) { + var12 = var0.x - ((Actor)var13).x; + var4 = var0.y * 682054857 - ((Actor)var13).y * 682054857; + if (var12 != 0 || var4 != 0) { + var0.orientation = (int)(Math.atan2((double)var12, (double)var4) * 325.949D) & 2047; + } + } else if (var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } + } + + if (var0.field957 != -1 && (var0.pathLength == 0 || var0.field949 > 0)) { + var0.orientation = var0.field957; + var0.field957 = -1; + } + + var11 = var0.orientation - var0.rotation & 2047; + if (var11 == 0 && var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } + + if (var11 != 0) { + ++var0.field981; + boolean var14; + if (var11 > 1024) { + var0.rotation -= var0.field982; + var14 = true; + if (var11 < var0.field982 || var11 > 2048 - var0.field982) { + var0.rotation = var0.orientation; + var14 = false; + } + + if (var0.readySequence == var0.movementSequence && (var0.field981 > 25 || var14)) { + if (var0.turnLeftSequence != -1) { + var0.movementSequence = var0.turnLeftSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } else { + var0.rotation += var0.field982; + var14 = true; + if (var11 < var0.field982 || var11 > 2048 - var0.field982) { + var0.rotation = var0.orientation; + var14 = false; + } + + if (var0.movementSequence == var0.readySequence && (var0.field981 > 25 || var14)) { + if (var0.turnRightSequence != -1) { + var0.movementSequence = var0.turnRightSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } + + var0.rotation &= 2047; + } else { + var0.field981 = 0; + } + } + + var0.isWalking = false; + if (var0.movementSequence != -1) { + var2 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var0.movementSequence); + if (var2 != null && var2.frameIds != null) { + ++var0.movementFrameCycle; + if (var0.movementFrame < var2.frameIds.length && var0.movementFrameCycle > var2.frameLengths[var0.movementFrame]) { + var0.movementFrameCycle = 1; + ++var0.movementFrame; + class30.addSequenceSoundEffect(var2, var0.movementFrame, var0.x, var0.y * 682054857); + } + + if (var0.movementFrame >= var2.frameIds.length) { + var0.movementFrameCycle = 0; + var0.movementFrame = 0; + class30.addSequenceSoundEffect(var2, var0.movementFrame, var0.x, var0.y * 682054857); + } + } else { + var0.movementSequence = -1; + } + } + + if (var0.spotAnimation != -1 && Client.cycle >= var0.field969) { + if (var0.spotAnimationFrame < 0) { + var0.spotAnimationFrame = 0; + } + + var11 = InterfaceParent.SpotAnimationDefinition_get(var0.spotAnimation).sequence; + if (var11 != -1) { + SequenceDefinition var3 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var11); + if (var3 != null && var3.frameIds != null) { + ++var0.spotAnimationFrameCycle; + if (var0.spotAnimationFrame < var3.frameIds.length && var0.spotAnimationFrameCycle > var3.frameLengths[var0.spotAnimationFrame]) { + var0.spotAnimationFrameCycle = 1; + ++var0.spotAnimationFrame; + class30.addSequenceSoundEffect(var3, var0.spotAnimationFrame, var0.x, var0.y * 682054857); + } + + if (var0.spotAnimationFrame >= var3.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var3.frameIds.length)) { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay <= 1) { + var2 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var0.sequence); + if (var2.field3515 == 1 && var0.field988 > 0 && var0.field948 <= Client.cycle && var0.field976 < Client.cycle) { + var0.sequenceDelay = 1; + return; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var2 = GrandExchangeOfferUnitPriceComparator.SequenceDefinition_get(var0.sequence); + if (var2 != null && var2.frameIds != null) { + ++var0.sequenceFrameCycle; + if (var0.sequenceFrame < var2.frameIds.length && var0.sequenceFrameCycle > var2.frameLengths[var0.sequenceFrame]) { + var0.sequenceFrameCycle = 1; + ++var0.sequenceFrame; + class30.addSequenceSoundEffect(var2, var0.sequenceFrame, var0.x, var0.y * 682054857); + } + + if (var0.sequenceFrame >= var2.frameIds.length) { + var0.sequenceFrame -= var2.frameCount; + ++var0.field965; + if (var0.field965 >= var2.field3503) { + var0.sequence = -1; + } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var2.frameIds.length) { + class30.addSequenceSoundEffect(var2, var0.sequenceFrame, var0.x, var0.y * 682054857); + } else { + var0.sequence = -1; + } + } + + var0.isWalking = var2.field3504; + } else { + var0.sequence = -1; + } + } + + if (var0.sequenceDelay > 0) { + --var0.sequenceDelay; + } + + } + + @ObfuscatedName("jc") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-761836956" + ) + static void method6167() { + for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { + int var1 = var0.group; + if (WorldMapData_0.loadInterface(var1)) { + boolean var2 = true; + Widget[] var3 = UserComparator5.Widget_interfaceComponents[var1]; + + int var4; + for (var4 = 0; var4 < var3.length; ++var4) { + if (var3[var4] != null) { + var2 = var3[var4].isIf3; + break; + } + } + + if (!var2) { + var4 = (int)var0.key; + Widget var5 = Canvas.getWidget(var4); + if (var5 != null) { + WorldMapSectionType.invalidateWidget(var5); + } + } + } + } + + } +} diff --git a/runescape-client/src/main/java/class336.java b/runescape-client/src/main/java/class336.java index 60011af53f..27d3df68f8 100644 --- a/runescape-client/src/main/java/class336.java +++ b/runescape-client/src/main/java/class336.java @@ -1,29 +1,21 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("lk") -public class class336 { - @ObfuscatedName("z") - static final int[] field4016; - @ObfuscatedName("n") - static final int[] field4020; - @ObfuscatedName("e") - @ObfuscatedSignature( - signature = "Lkz;" - ) - @Export("NetCache_responseArchiveBuffer") - public static Buffer NetCache_responseArchiveBuffer; - - static { - field4016 = new int[2048]; - field4020 = new int[2048]; - double var0 = 0.0030679615757712823D; - - for (int var2 = 0; var2 < 2048; ++var2) { - field4016[var2] = (int)(65536.0D * Math.sin(var0 * (double)var2)); - field4020[var2] = (int)(65536.0D * Math.cos(var0 * (double)var2)); - } - - } -} +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("lc") +public class class336 { + @ObfuscatedName("i") + static final int[] field4019; + @ObfuscatedName("c") + static final int[] field4023; + + static { + field4019 = new int[2048]; + field4023 = new int[2048]; + double var0 = 0.0030679615757712823D; + + for (int var2 = 0; var2 < 2048; ++var2) { + field4019[var2] = (int)(65536.0D * Math.sin(var0 * (double)var2)); + field4023[var2] = (int)(65536.0D * Math.cos((double)var2 * var0)); + } + + } +} diff --git a/runescape-client/src/main/java/class338.java b/runescape-client/src/main/java/class338.java index a5c63d0872..4ec1caa0bb 100644 --- a/runescape-client/src/main/java/class338.java +++ b/runescape-client/src/main/java/class338.java @@ -1,14 +1,14 @@ -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("ml") -public class class338 { - @ObfuscatedName("t") - public static final char[] field4037; - @ObfuscatedName("g") - public static final char[] field4038; - - static { - field4037 = new char[]{' ', ' ', '_', '-', 'à', 'á', 'â', 'ä', 'ã', 'À', 'Á', 'Â', 'Ä', 'Ã', 'è', 'é', 'ê', 'ë', 'È', 'É', 'Ê', 'Ë', 'í', 'î', 'ï', 'Í', 'Î', 'Ï', 'ò', 'ó', 'ô', 'ö', 'õ', 'Ò', 'Ó', 'Ô', 'Ö', 'Õ', 'ù', 'ú', 'û', 'ü', 'Ù', 'Ú', 'Û', 'Ü', 'ç', 'Ç', 'ÿ', 'Ÿ', 'ñ', 'Ñ', 'ß'}; - field4038 = new char[]{'[', ']', '#'}; - } -} +import net.runelite.mapping.ObfuscatedName; + +@ObfuscatedName("mp") +public class class338 { + @ObfuscatedName("v") + static final char[] field4036; + @ObfuscatedName("u") + static final char[] field4037; + + static { + field4036 = new char[]{' ', ' ', '_', '-', 'à', 'á', 'â', 'ä', 'ã', 'À', 'Á', 'Â', 'Ä', 'Ã', 'è', 'é', 'ê', 'ë', 'È', 'É', 'Ê', 'Ë', 'í', 'î', 'ï', 'Í', 'Î', 'Ï', 'ò', 'ó', 'ô', 'ö', 'õ', 'Ò', 'Ó', 'Ô', 'Ö', 'Õ', 'ù', 'ú', 'û', 'ü', 'Ù', 'Ú', 'Û', 'Ü', 'ç', 'Ç', 'ÿ', 'Ÿ', 'ñ', 'Ñ', 'ß'}; + field4037 = new char[]{'[', ']', '#'}; + } +} diff --git a/runescape-client/src/main/java/class4.java b/runescape-client/src/main/java/class4.java index 69f48b22f2..aa01f295a4 100644 --- a/runescape-client/src/main/java/class4.java +++ b/runescape-client/src/main/java/class4.java @@ -1,143 +1,171 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("l") -final class class4 implements class0 { - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -142539597 - ) - static int field20; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = -587969877 - ) - static int field17; - @ObfuscatedName("bi") - @ObfuscatedSignature( - signature = "Lll;" - ) - @Export("loginType") - static LoginType loginType; - @ObfuscatedName("fv") - @ObfuscatedGetter( - intValue = 583721997 - ) - @Export("baseX") - static int baseX; - @ObfuscatedName("jr") - @ObfuscatedSignature( - signature = "Lhy;" - ) - @Export("dragInventoryWidget") - static Widget dragInventoryWidget; - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/lang/Object;Lkz;B)V", - garbageValue = "1" - ) - public void vmethod42(Object var1, Buffer var2) { - this.method44((String)var1, var2); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Lkz;S)Ljava/lang/Object;", - garbageValue = "31810" - ) - public Object vmethod41(Buffer var1) { - return var1.readStringCp1252NullTerminated(); - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;Lkz;I)V", - garbageValue = "442520806" - ) - void method44(String var1, Buffer var2) { - var2.writeStringCp1252NullTerminated(var1); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;II)Lgc;", - garbageValue = "531775240" - ) - static MusicPatch method47(AbstractArchive var0, int var1) { - byte[] var2 = var0.takeFileFlat(var1); - return var2 == null ? null : new MusicPatch(var2); - } - - @ObfuscatedName("gd") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "2058959697" - ) - static final void method48(int var0) { - int[] var1 = class60.sceneMinimapSprite.pixels; - int var2 = var1.length; - - int var3; - for (var3 = 0; var3 < var2; ++var3) { - var1[var3] = 0; - } - - int var4; - int var5; - for (var3 = 1; var3 < 103; ++var3) { - var4 = (103 - var3) * 2048 + 24628; - - for (var5 = 1; var5 < 103; ++var5) { - if ((Tiles.Tiles_renderFlags[var0][var5][var3] & 24) == 0) { - WorldMapIcon_1.scene.drawTileMinimap(var1, var4, 512, var0, var5, var3); - } - - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var5][var3] & 8) != 0) { - WorldMapIcon_1.scene.drawTileMinimap(var1, var4, 512, var0 + 1, var5, var3); - } - - var4 += 4; - } - } - - var3 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); - var4 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; - class60.sceneMinimapSprite.setRaster(); - - int var6; - for (var5 = 1; var5 < 103; ++var5) { - for (var6 = 1; var6 < 103; ++var6) { - if ((Tiles.Tiles_renderFlags[var0][var6][var5] & 24) == 0) { - EnumDefinition.drawObject(var0, var6, var5, var3, var4); - } - - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var6][var5] & 8) != 0) { - EnumDefinition.drawObject(var0 + 1, var6, var5, var3, var4); - } - } - } - - Client.mapIconCount = 0; - - for (var5 = 0; var5 < 104; ++var5) { - for (var6 = 0; var6 < 104; ++var6) { - long var7 = WorldMapIcon_1.scene.getFloorDecorationTag(MouseRecorder.plane, var5, var6); - if (var7 != 0L) { - int var9 = SecureRandomFuture.Entity_unpackID(var7); - int var10 = WallDecoration.getObjectDefinition(var9).mapIconId; - if (var10 >= 0) { - Client.mapIcons[Client.mapIconCount] = WorldMapSection1.WorldMapElement_get(var10).getSpriteBool(false); - Client.mapIconXs[Client.mapIconCount] = var5; - Client.mapIconYs[Client.mapIconCount] = var6; - ++Client.mapIconCount; - } - } - } - } - - DevicePcmPlayerProvider.rasterProvider.apply(); - } -} +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.util.Iterator; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("r") +final class class4 implements class0 { + @ObfuscatedName("gj") + @ObfuscatedSignature( + signature = "[Llp;" + ) + @Export("scrollBarSprites") + static IndexedSprite[] scrollBarSprites; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/lang/Object;Lkl;B)V", + garbageValue = "0" + ) + public void vmethod64(Object var1, Buffer var2) { + this.method54((String)var1, var2); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;B)Ljava/lang/Object;", + garbageValue = "-93" + ) + public Object vmethod55(Buffer var1) { + return var1.readStringCp1252NullTerminated(); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Ljava/lang/String;Lkl;I)V", + garbageValue = "-1135540783" + ) + void method54(String var1, Buffer var2) { + var2.writeStringCp1252NullTerminated(var1); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIIIB)V", + garbageValue = "-25" + ) + @Export("itemContainerSetItem") + static void itemContainerSetItem(int var0, int var1, int var2, int var3) { + ItemContainer var4 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var4 == null) { + var4 = new ItemContainer(); + ItemContainer.itemContainers.put(var4, (long)var0); + } + + if (var4.ids.length <= var1) { + int[] var5 = new int[var1 + 1]; + int[] var6 = new int[var1 + 1]; + + int var7; + for (var7 = 0; var7 < var4.ids.length; ++var7) { + var5[var7] = var4.ids[var7]; + var6[var7] = var4.quantities[var7]; + } + + for (var7 = var4.ids.length; var7 < var1; ++var7) { + var5[var7] = -1; + var6[var7] = 0; + } + + var4.ids = var5; + var4.quantities = var6; + } + + var4.ids[var1] = var2; + var4.quantities[var1] = var3; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(Lbo;I)V", + garbageValue = "688122635" + ) + @Export("changeWorld") + static void changeWorld(World var0) { + if (var0.isMembersOnly() != Client.isMembersWorld) { + Client.isMembersWorld = var0.isMembersOnly(); + class1.method16(var0.isMembersOnly()); + } + + class160.worldHost = var0.host; + Client.worldId = var0.id; + Client.worldProperties = var0.properties; + HitSplatDefinition.port1 = Client.gameBuild == 0 ? 43594 : var0.id + 40000; + BZip2State.port2 = Client.gameBuild == 0 ? 443 : var0.id + 50000; + NPC.port3 = HitSplatDefinition.port1; + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + signature = "(I)I", + garbageValue = "-1757923424" + ) + @Export("getGcDuration") + protected static int getGcDuration() { + int var0 = 0; + if (AbstractUserComparator.garbageCollector == null || !AbstractUserComparator.garbageCollector.isValid()) { + try { + Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); + + while (var1.hasNext()) { + GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); + if (var2.isValid()) { + AbstractUserComparator.garbageCollector = var2; + GameShell.garbageCollectorLastCheckTimeMs = -1L; + GameShell.garbageCollectorLastCollectionTime = -1L; + } + } + } catch (Throwable var11) { + } + } + + if (AbstractUserComparator.garbageCollector != null) { + long var9 = class30.method566(); + long var3 = AbstractUserComparator.garbageCollector.getCollectionTime(); + if (GameShell.garbageCollectorLastCollectionTime != -1L) { + long var5 = var3 - GameShell.garbageCollectorLastCollectionTime; + long var7 = var9 - GameShell.garbageCollectorLastCheckTimeMs; + if (0L != var7) { + var0 = (int)(var5 * 100L / var7); + } + } + + GameShell.garbageCollectorLastCollectionTime = var3; + GameShell.garbageCollectorLastCheckTimeMs = var9; + } + + return var0; + } + + @ObfuscatedName("gg") + @ObfuscatedSignature( + signature = "(ZB)V", + garbageValue = "57" + ) + @Export("addNpcsToScene") + static final void addNpcsToScene(boolean var0) { + for (int var1 = 0; var1 < Client.npcCount; ++var1) { + NPC var2 = Client.npcs[Client.npcIndices[var1]]; + if (var2 != null && var2.isVisible() && var2.definition.isVisible == var0 && var2.definition.transformIsVisible()) { + int var3 = var2.x >> 7; + int var4 = var2.y * 682054857 >> 7; + if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { + if (var2.field932 * 1669471931 == 1 && (var2.x & 127) == 64 && (var2.y * 682054857 & 127) == 64) { + if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { + continue; + } + + Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; + } + + long var5 = class267.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); + var2.playerCycle = Client.cycle; + PacketWriter.scene.drawEntity(WorldMapRectangle.plane, var2.x, var2.y * 682054857, MusicPatchPcmStream.getTileHeight(var2.field932 * -527978816 - 64 + var2.x, var2.field932 * -527978816 - 64 + var2.y * 682054857, WorldMapRectangle.plane), var2.field932 * -527978816 - 64 + 60, var2, var2.rotation, var5, var2.isWalking); + } + } + } + + } +} diff --git a/runescape-client/src/main/java/class40.java b/runescape-client/src/main/java/class40.java index ba4cb61aa0..649479509c 100644 --- a/runescape-client/src/main/java/class40.java +++ b/runescape-client/src/main/java/class40.java @@ -1,718 +1,866 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ay") -public class class40 { - @ObfuscatedName("re") - @ObfuscatedGetter( - intValue = 697703808 - ) - static int field334; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1312373259 - ) - @Export("pixelsPerTile") - int pixelsPerTile; - @ObfuscatedName("x") - @Export("tileTemplates") - byte[][][] tileTemplates; - - class40(int var1) { - this.pixelsPerTile = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIIIIIIII)V", - garbageValue = "-288061828" - ) - void method707(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - if (var7 != 0 && this.pixelsPerTile != 0 && this.tileTemplates != null) { - var8 = this.method708(var8, var7); - var7 = this.method720(var7); - Rasterizer2D.Rasterizer2D_drawGradientPixels(var1, var2, var5, var6, var3, var4, this.tileTemplates[var7 - 1][var8], this.pixelsPerTile); - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(III)I", - garbageValue = "-1246935327" - ) - int method708(int var1, int var2) { - if (var2 == 9) { - var1 = var1 + 1 & 3; - } - - if (var2 == 10) { - var1 = var1 + 3 & 3; - } - - if (var2 == 11) { - var1 = var1 + 3 & 3; - } - - return var1; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IB)I", - garbageValue = "-99" - ) - int method720(int var1) { - if (var1 != 9 && var1 != 10) { - return var1 == 11 ? 8 : var1; - } else { - return 1; - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "43" - ) - @Export("init") - void init() { - if (this.tileTemplates == null) { - this.tileTemplates = new byte[8][4][]; - this.init0(); - this.init1(); - this.init2(); - this.init3(); - this.init4(); - this.init5(); - this.init6(); - this.init7(); - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "1944668937" - ) - @Export("init0") - void init0() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var2 = 0; - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[0][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[0][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[0][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= var3) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[0][3] = var1; - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1965093636" - ) - @Export("init1") - void init1() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[1][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var2 >= 0 && var2 < var1.length) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } else { - ++var2; - } - } - } - - this.tileTemplates[1][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[1][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[1][3] = var1; - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "-102" - ) - @Export("init2") - void init2() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[2][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[2][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[2][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 >= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[2][3] = var1; - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - signature = "(S)V", - garbageValue = "12394" - ) - @Export("init3") - void init3() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[3][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[3][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[3][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[3][3] = var1; - } - - @ObfuscatedName("d") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1949991875" - ) - @Export("init4") - void init4() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var2 = 0; - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[4][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[4][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= var3 >> 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[4][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var2 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 <= var3 << 1) { - var1[var2] = -1; - } - - ++var2; - } - } - - this.tileTemplates[4][3] = var1; - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-2049205254" - ) - @Export("init5") - void init5() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - boolean var2 = false; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var5 = 0; - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[5][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var3 <= this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[5][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[5][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var3 >= this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[5][3] = var1; - } - - @ObfuscatedName("s") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "42" - ) - @Export("init6") - void init6() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - boolean var2 = false; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var5 = 0; - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[6][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 <= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[6][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 <= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[6][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 <= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[6][3] = var1; - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1882268812" - ) - @Export("init7") - void init7() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - boolean var2 = false; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - int var5 = 0; - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[7][0] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { - if (var4 >= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[7][1] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 >= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[7][2] = var1; - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; - var5 = 0; - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { - if (var4 >= var3 - this.pixelsPerTile / 2) { - var1[var5] = -1; - } - - ++var5; - } - } - - this.tileTemplates[7][3] = var1; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIIB)I", - garbageValue = "82" - ) - public static int method735(int var0, int var1, int var2) { - var2 &= 3; - if (var2 == 0) { - return var0; - } else if (var2 == 1) { - return var1; - } else { - return var2 == 2 ? 7 - var0 : 7 - var1; - } - } - - @ObfuscatedName("eu") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-1745602668" - ) - static final void method736() { - Client.packetWriter.close(); - MouseRecorder.method1139(); - GrandExchangeOfferWorldComparator.method62(); - KitDefinition.KitDefinition_cached.clear(); - ObjectDefinition.ObjectDefinition_cached.clear(); - ObjectDefinition.ObjectDefinition_cachedModelData.clear(); - ObjectDefinition.ObjectDefinition_cachedEntities.clear(); - ObjectDefinition.ObjectDefinition_cachedModels.clear(); - NPCDefinition.NpcDefinition_cached.clear(); - NPCDefinition.NpcDefinition_cachedModels.clear(); - ItemDefinition.ItemDefinition_cached.clear(); - ItemDefinition.ItemDefinition_cachedModels.clear(); - ItemDefinition.ItemDefinition_cachedSprites.clear(); - SequenceDefinition.SequenceDefinition_cached.clear(); - SequenceDefinition.SequenceDefinition_cachedFrames.clear(); - SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); - SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); - VarbitDefinition.VarbitDefinition_cached.clear(); - class195.method3663(); - class297.method5410(); - UserComparator3.HealthBarDefinition_clearCached(); - StructDefinition.StructDefinition_cached.clear(); - ParamDefinition.ParamDefinition_cached.clear(); - Canvas.WorldMapElement_clearCached(); - PlayerAppearance.PlayerAppearance_cachedModels.clear(); - Widget.Widget_cachedSprites.clear(); - Widget.Widget_cachedModels.clear(); - Widget.Widget_cachedFonts.clear(); - Widget.Widget_cachedSpriteMasks.clear(); - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); - Script.Script_cached.clear(); - ScriptEvent.archive0.clearFiles(); - GrandExchangeOffer.archive1.clearFiles(); - WorldMapData_0.archive3.clearFiles(); - class13.archive4.clearFiles(); - Timer.archive5.clearFiles(); - WorldMapDecoration.archive6.clearFiles(); - class49.archive7.clearFiles(); - WorldMapDecoration.archive8.clearFiles(); - WorldMapData_0.archive9.clearFiles(); - FontName.archive10.clearFiles(); - ArchiveDisk.archive11.clearFiles(); - Message.archive12.clearFiles(); - WorldMapIcon_1.scene.clear(); - - for (int var0 = 0; var0 < 4; ++var0) { - Client.collisionMaps[var0].clear(); - } - - System.gc(); - WallDecoration.method3256(2); - Client.field857 = -1; - Client.field746 = false; - Widget.method4074(); - WorldMapIcon_0.updateGameState(10); - } -} +import java.awt.image.BufferedImage; +import java.awt.image.PixelGrabber; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import javax.imageio.ImageIO; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("ak") +public class class40 { + @ObfuscatedName("em") + @ObfuscatedGetter( + intValue = 1914345139 + ) + static int field329; + @ObfuscatedName("ga") + @ObfuscatedGetter( + intValue = -1478059255 + ) + static int field326; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1827111681 + ) + @Export("pixelsPerTile") + int pixelsPerTile; + @ObfuscatedName("n") + @Export("tileTemplates") + byte[][][] tileTemplates; + + class40(int var1) { + this.pixelsPerTile = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIIIIIIII)V", + garbageValue = "-1205626261" + ) + void method751(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + if (var7 != 0 && this.pixelsPerTile != 0 && this.tileTemplates != null) { + var8 = this.method752(var8, var7); + var7 = this.method753(var7); + Rasterizer2D.Rasterizer2D_drawGradientPixels(var1, var2, var5, var6, var3, var4, this.tileTemplates[var7 - 1][var8], this.pixelsPerTile); + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIB)I", + garbageValue = "-28" + ) + int method752(int var1, int var2) { + if (var2 == 9) { + var1 = var1 + 1 & 3; + } + + if (var2 == 10) { + var1 = var1 + 3 & 3; + } + + if (var2 == 11) { + var1 = var1 + 3 & 3; + } + + return var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(IB)I", + garbageValue = "-61" + ) + int method753(int var1) { + if (var1 != 9 && var1 != 10) { + return var1 == 11 ? 8 : var1; + } else { + return 1; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(S)V", + garbageValue = "-1981" + ) + @Export("init") + void init() { + if (this.tileTemplates == null) { + this.tileTemplates = new byte[8][4][]; + this.init0(); + this.init1(); + this.init2(); + this.init3(); + this.init4(); + this.init5(); + this.init6(); + this.init7(); + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "27" + ) + @Export("init0") + void init0() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][3] = var1; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1748591927" + ) + @Export("init1") + void init1() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[1][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var2 >= 0 && var2 < var1.length) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } else { + ++var2; + } + } + } + + this.tileTemplates[1][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[1][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[1][3] = var1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-997969960" + ) + @Export("init2") + void init2() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][3] = var1; + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "26" + ) + @Export("init3") + void init3() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][3] = var1; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "2142999758" + ) + @Export("init4") + void init4() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][3] = var1; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "582087203" + ) + @Export("init5") + void init5() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + boolean var2 = false; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var5 = 0; + + int var3; + int var4; + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var3 <= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var3 >= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][3] = var1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-920906914" + ) + @Export("init6") + void init6() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + boolean var2 = false; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var5 = 0; + + int var3; + int var4; + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][3] = var1; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1722985499" + ) + @Export("init7") + void init7() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + boolean var2 = false; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var5 = 0; + + int var3; + int var4; + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][3] = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "([BB)Llf;", + garbageValue = "14" + ) + @Export("convertJpgToSprite") + public static final Sprite convertJpgToSprite(byte[] var0) { + BufferedImage var1 = null; + + try { + var1 = ImageIO.read(new ByteArrayInputStream(var0)); + int var2 = var1.getWidth(); + int var3 = var1.getHeight(); + int[] var4 = new int[var2 * var3]; + PixelGrabber var5 = new PixelGrabber(var1, 0, 0, var2, var3, var4, 0, var2); + var5.grabPixels(); + return new Sprite(var4, var2, var3); + } catch (IOException var7) { + } catch (InterruptedException var8) { + } + + return new Sprite(0, 0); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "([BIIII[Lfa;I)V", + garbageValue = "1638905500" + ) + static final void method787(byte[] var0, int var1, int var2, int var3, int var4, CollisionMap[] var5) { + int var7; + int var8; + for (int var6 = 0; var6 < 4; ++var6) { + for (var7 = 0; var7 < 64; ++var7) { + for (var8 = 0; var8 < 64; ++var8) { + if (var7 + var1 > 0 && var7 + var1 < 103 && var8 + var2 > 0 && var8 + var2 < 103) { + int[] var10000 = var5[var6].flags[var7 + var1]; + var10000[var2 + var8] &= -16777217; + } + } + } + } + + Buffer var10 = new Buffer(var0); + + for (var7 = 0; var7 < 4; ++var7) { + for (var8 = 0; var8 < 64; ++var8) { + for (int var9 = 0; var9 < 64; ++var9) { + GrandExchangeOfferWorldComparator.loadTerrain(var10, var7, var8 + var1, var9 + var2, var3, var4, 0); + } + } + } + + } + + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "123699852" + ) + static int method797(int var0, Script var1, boolean var2) { + boolean var3 = true; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var4 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var3 = false; + } else { + var4 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + } + + int var11; + if (var0 == ScriptOpcodes.CC_SETOP) { + var11 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + var4.setAction(var11, Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); + return 1; + } else { + --Interpreter.Interpreter_stringStackSize; + return 1; + } + } else { + int var6; + if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { + Interpreter.Interpreter_intStackSize -= 2; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var4.parent = GrandExchangeOfferWorldComparator.getWidgetChild(var11, var6); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { + var4.isScrollBar = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { + var4.dragZoneSize = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { + var4.dragThreshold = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { + var4.dataText = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { + var4.spellActionName = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { + var4.actions = null; + return 1; + } else if (var0 == 1308) { + var4.field2687 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else { + int var7; + byte[] var9; + if (var0 != ScriptOpcodes.CC_SETOPKEY) { + byte var5; + if (var0 == ScriptOpcodes.CC_SETOPTKEY) { + Interpreter.Interpreter_intStackSize -= 2; + var5 = 10; + var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]}; + byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]}; + Calendar.Widget_setKey(var4, var5, var9, var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { + Interpreter.Interpreter_intStackSize -= 3; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] - 1; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + if (var11 >= 0 && var11 <= 9) { + LoginScreenAnimation.Widget_setKeyRate(var4, var11, var6, var7); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { + var5 = 10; + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + LoginScreenAnimation.Widget_setKeyRate(var4, var5, var6, var7); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { + --Interpreter.Interpreter_intStackSize; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + class13.Widget_setKeyIgnoreHeld(var4, var11); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { + var5 = 10; + class13.Widget_setKeyIgnoreHeld(var4, var5); + return 1; + } else { + return 2; + } + } else { + byte[] var8 = null; + var9 = null; + if (var3) { + Interpreter.Interpreter_intStackSize -= 10; + + for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize] >= 0; var7 += 2) { + } + + if (var7 > 0) { + var8 = new byte[var7 / 2]; + var9 = new byte[var7 / 2]; + + for (var7 -= 2; var7 >= 0; var7 -= 2) { + var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize]; + var9[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize + 1]; + } + } + } else { + Interpreter.Interpreter_intStackSize -= 2; + var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]}; + var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]}; + } + + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] - 1; + if (var7 >= 0 && var7 <= 9) { + Calendar.Widget_setKey(var4, var7, var8, var9); + return 1; + } else { + throw new RuntimeException(); + } + } + } + } + } + + @ObfuscatedName("hc") + @ObfuscatedSignature( + signature = "(II)Ljava/lang/String;", + garbageValue = "-2143921100" + ) + static String method799(int var0) { + if (var0 < 0) { + return ""; + } else { + return Client.menuTargets[var0].length() > 0 ? Client.menuActions[var0] + " " + Client.menuTargets[var0] : Client.menuActions[var0]; + } + } + + @ObfuscatedName("js") + @ObfuscatedSignature( + signature = "(IIB)V", + garbageValue = "0" + ) + @Export("runIntfCloseListeners") + static final void runIntfCloseListeners(int var0, int var1) { + if (WorldMapData_0.loadInterface(var0)) { + MouseRecorder.runComponentCloseListeners(UserComparator5.Widget_interfaceComponents[var0], var1); + } + } +} diff --git a/runescape-client/src/main/java/class42.java b/runescape-client/src/main/java/class42.java index 2499612ead..4e05107d17 100644 --- a/runescape-client/src/main/java/class42.java +++ b/runescape-client/src/main/java/class42.java @@ -1,216 +1,369 @@ -import java.awt.Desktop; -import java.awt.Image; -import java.awt.Desktop.Action; -import java.net.URI; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ah") -public class class42 implements WorldMapSection { - @ObfuscatedName("f") - @Export("Tiles_hueMultiplier") - static int[] Tiles_hueMultiplier; - @ObfuscatedName("ap") - static Image field358; - @ObfuscatedName("gb") - @ObfuscatedSignature( - signature = "[Lli;" - ) - @Export("mapDotSprites") - static Sprite[] mapDotSprites; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 114988403 - ) - int field351; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1866285667 - ) - int field346; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -358829747 - ) - int field347; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 158528351 - ) - int field357; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1099424901 - ) - int field349; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 255034921 - ) - int field350; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1506534569 - ) - int field348; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 560033955 - ) - int field352; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -2075605251 - ) - int field353; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 68781873 - ) - int field354; - - class42() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lag;S)V", - garbageValue = "32767" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.field349) { - var1.regionLowX = this.field349; - } - - if (var1.regionHighX < this.field349) { - var1.regionHighX = this.field349; - } - - if (var1.regionLowY > this.field350) { - var1.regionLowY = this.field350; - } - - if (var1.regionHighY < this.field350) { - var1.regionHighY = this.field350; - } - - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(IIII)Z", - garbageValue = "950167825" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.field351 && var1 < this.field346 + this.field351) { - return var2 >= (this.field347 << 6) + (this.field348 << 3) && var2 <= (this.field347 << 6) + (this.field348 << 3) + 7 && var3 >= (this.field357 << 6) + (this.field352 << 3) && var3 <= (this.field357 << 6) + (this.field352 << 3) + 7; - } else { - return false; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(III)Z", - garbageValue = "1510325414" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >= (this.field349 << 6) + (this.field353 << 3) && var1 <= (this.field349 << 6) + (this.field353 << 3) + 7 && var2 >= (this.field350 << 6) + (this.field354 << 3) && var2 <= (this.field350 << 6) + (this.field354 << 3) + 7; - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - signature = "(IIII)[I", - garbageValue = "-771447481" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { - return null; - } else { - int[] var4 = new int[]{this.field349 * 64 - this.field347 * 64 + var2 + (this.field353 * 8 - this.field348 * 8), var3 + (this.field350 * 64 - this.field357 * 64) + (this.field354 * 8 - this.field352 * 8)}; - return var4; - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(IIB)Lhj;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { - return null; - } else { - int var3 = this.field347 * 64 - this.field349 * 64 + (this.field348 * 8 - this.field353 * 8) + var1; - int var4 = this.field357 * 64 - this.field350 * 64 + var2 + (this.field352 * 8 - this.field354 * 8); - return new Coord(this.field351, var3, var4); - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkz;I)V", - garbageValue = "1954302512" - ) - @Export("read") - public void read(Buffer var1) { - this.field351 = var1.readUnsignedByte(); - this.field346 = var1.readUnsignedByte(); - this.field347 = var1.readUnsignedShort(); - this.field348 = var1.readUnsignedByte(); - this.field357 = var1.readUnsignedShort(); - this.field352 = var1.readUnsignedByte(); - this.field349 = var1.readUnsignedShort(); - this.field353 = var1.readUnsignedByte(); - this.field350 = var1.readUnsignedShort(); - this.field354 = var1.readUnsignedByte(); - this.method745(); - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-563197042" - ) - void method745() { - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Ljava/lang/String;ZLjava/lang/String;ZB)V", - garbageValue = "-124" - ) - static void method754(String var0, boolean var1, String var2, boolean var3) { - if (var1) { - if (!var3 && Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) { - try { - Desktop.getDesktop().browse(new URI(var0)); - return; - } catch (Exception var5) { - } - } - - if (class51.field406.startsWith("win") && !var3) { - FontName.method5292(var0, 0); - return; - } - - if (class51.field406.startsWith("mac")) { - ReflectionCheck.method2261(var0, 1, var2); - return; - } - - FontName.method5292(var0, 2); - } else { - FontName.method5292(var0, 3); - } - - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("am") +public class class42 implements WorldMapSection { + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "Llp;" + ) + @Export("options_buttons_2Sprite") + static IndexedSprite options_buttons_2Sprite; + @ObfuscatedName("ak") + @ObfuscatedSignature( + signature = "Llm;" + ) + @Export("rasterProvider") + public static AbstractRasterProvider rasterProvider; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1607509985 + ) + int field337; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1391505979 + ) + int field338; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 558153755 + ) + int field339; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -246228093 + ) + int field342; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1950186217 + ) + int field341; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -766889275 + ) + int field351; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1083558581 + ) + int field343; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1036531637 + ) + int field344; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 796855403 + ) + int field345; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 301384915 + ) + int field340; + + class42() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Lac;I)V", + garbageValue = "2098672163" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.field341) { + var1.regionLowX = this.field341; + } + + if (var1.regionHighX < this.field341) { + var1.regionHighX = this.field341; + } + + if (var1.regionLowY > this.field351) { + var1.regionLowY = this.field351; + } + + if (var1.regionHighY < this.field351) { + var1.regionHighY = this.field351; + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIII)Z", + garbageValue = "-327883108" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.field337 && var1 < this.field338 + this.field337) { + return var2 >= (this.field339 << 6) + (this.field343 << 3) && var2 <= (this.field339 << 6) + (this.field343 << 3) + 7 && var3 >= (this.field342 << 6) + (this.field344 << 3) && var3 <= (this.field342 << 6) + (this.field344 << 3) + 7; + } else { + return false; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(III)Z", + garbageValue = "-1535371561" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >= (this.field341 << 6) + (this.field345 << 3) && var1 <= (this.field341 << 6) + (this.field345 << 3) + 7 && var2 >= (this.field351 << 6) + (this.field340 << 3) && var2 <= (this.field351 << 6) + (this.field340 << 3) + 7; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IIII)[I", + garbageValue = "-1322751923" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.field341 * 64 - this.field339 * 64 + var2 + (this.field345 * 8 - this.field343 * 8), var3 + (this.field351 * 64 - this.field342 * 64) + (this.field340 * 8 - this.field344 * 8)}; + return var4; + } + } + + @ObfuscatedName("r") + @ObfuscatedSignature( + signature = "(III)Lhb;", + garbageValue = "1439979703" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.field339 * 64 - this.field341 * 64 + (this.field343 * 8 - this.field345 * 8) + var1; + int var4 = this.field342 * 64 - this.field351 * 64 + var2 + (this.field344 * 8 - this.field340 * 8); + return new Coord(this.field337, var3, var4); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(Lkl;B)V", + garbageValue = "-99" + ) + @Export("read") + public void read(Buffer var1) { + this.field337 = var1.readUnsignedByte(); + this.field338 = var1.readUnsignedByte(); + this.field339 = var1.readUnsignedShort(); + this.field343 = var1.readUnsignedByte(); + this.field342 = var1.readUnsignedShort(); + this.field344 = var1.readUnsignedByte(); + this.field341 = var1.readUnsignedShort(); + this.field345 = var1.readUnsignedByte(); + this.field351 = var1.readUnsignedShort(); + this.field340 = var1.readUnsignedByte(); + this.method810(); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "1301595386" + ) + void method810() { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(IIII)Lcu;", + garbageValue = "-994648590" + ) + @Export("getWorldMapScript") + static Script getWorldMapScript(int var0, int var1, int var2) { + int var3 = (var1 << 8) + var0; + Script var5 = WorldMapSection1.method591(var3, var0); + if (var5 != null) { + return var5; + } else { + int var6 = (var2 + 40000 << 8) + var0; + var5 = WorldMapSection1.method591(var6, var0); + return var5 != null ? var5 : null; + } + } + + @ObfuscatedName("gp") + @ObfuscatedSignature( + signature = "(IIIIIB)V", + garbageValue = "127" + ) + @Export("drawObject") + static final void drawObject(int var0, int var1, int var2, int var3, int var4) { + long var5 = PacketWriter.scene.getBoundaryObjectTag(var0, var1, var2); + int var7; + int var8; + int var9; + int var10; + int var12; + int var13; + if (var5 != 0L) { + var7 = PacketWriter.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = var3; + if (Language.method3627(var5)) { + var10 = var4; + } + + int[] var11 = ObjectSound.sceneMinimapSprite.pixels; + var12 = var1 * 4 + (103 - var2) * 2048 + 24624; + var13 = class81.Entity_unpackID(var5); + ObjectDefinition var14 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var13); + if (var14.mapSceneId != -1) { + IndexedSprite var15 = class14.mapSceneSprites[var14.mapSceneId]; + if (var15 != null) { + int var16 = (var14.sizeX * 4 - var15.subWidth) / 2; + int var17 = (var14.sizeY * 4 - var15.subHeight) / 2; + var15.drawAt(var1 * 4 + var16 + 48, var17 + (104 - var2 - var14.sizeY) * 4 + 48); + } + } else { + if (var9 == 0 || var9 == 2) { + if (var8 == 0) { + var11[var12] = var10; + var11[var12 + 512] = var10; + var11[var12 + 1024] = var10; + var11[var12 + 1536] = var10; + } else if (var8 == 1) { + var11[var12] = var10; + var11[var12 + 1] = var10; + var11[var12 + 2] = var10; + var11[var12 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 3] = var10; + var11[var12 + 512 + 3] = var10; + var11[var12 + 1024 + 3] = var10; + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 3) { + var11[var12 + 1536] = var10; + var11[var12 + 1536 + 1] = var10; + var11[var12 + 1536 + 2] = var10; + var11[var12 + 1536 + 3] = var10; + } + } + + if (var9 == 3) { + if (var8 == 0) { + var11[var12] = var10; + } else if (var8 == 1) { + var11[var12 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 3) { + var11[var12 + 1536] = var10; + } + } + + if (var9 == 2) { + if (var8 == 3) { + var11[var12] = var10; + var11[var12 + 512] = var10; + var11[var12 + 1024] = var10; + var11[var12 + 1536] = var10; + } else if (var8 == 0) { + var11[var12] = var10; + var11[var12 + 1] = var10; + var11[var12 + 2] = var10; + var11[var12 + 3] = var10; + } else if (var8 == 1) { + var11[var12 + 3] = var10; + var11[var12 + 512 + 3] = var10; + var11[var12 + 1024 + 3] = var10; + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 1536] = var10; + var11[var12 + 1536 + 1] = var10; + var11[var12 + 1536 + 2] = var10; + var11[var12 + 1536 + 3] = var10; + } + } + } + } + + var5 = PacketWriter.scene.getGameObjectTag(var0, var1, var2); + if (var5 != 0L) { + var7 = PacketWriter.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = class81.Entity_unpackID(var5); + ObjectDefinition var24 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var10); + int var19; + if (var24.mapSceneId != -1) { + IndexedSprite var18 = class14.mapSceneSprites[var24.mapSceneId]; + if (var18 != null) { + var13 = (var24.sizeX * 4 - var18.subWidth) / 2; + var19 = (var24.sizeY * 4 - var18.subHeight) / 2; + var18.drawAt(var1 * 4 + var13 + 48, var19 + (104 - var2 - var24.sizeY) * 4 + 48); + } + } else if (var9 == 9) { + var12 = 15658734; + if (Language.method3627(var5)) { + var12 = 15597568; + } + + int[] var23 = ObjectSound.sceneMinimapSprite.pixels; + var19 = var1 * 4 + (103 - var2) * 2048 + 24624; + if (var8 != 0 && var8 != 2) { + var23[var19] = var12; + var23[var19 + 1 + 512] = var12; + var23[var19 + 1024 + 2] = var12; + var23[var19 + 1536 + 3] = var12; + } else { + var23[var19 + 1536] = var12; + var23[var19 + 1 + 1024] = var12; + var23[var19 + 512 + 2] = var12; + var23[var19 + 3] = var12; + } + } + } + + var5 = PacketWriter.scene.getFloorDecorationTag(var0, var1, var2); + if (var5 != 0L) { + var7 = class81.Entity_unpackID(var5); + ObjectDefinition var20 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var7); + if (var20.mapSceneId != -1) { + IndexedSprite var21 = class14.mapSceneSprites[var20.mapSceneId]; + if (var21 != null) { + var10 = (var20.sizeX * 4 - var21.subWidth) / 2; + int var22 = (var20.sizeY * 4 - var21.subHeight) / 2; + var21.drawAt(var1 * 4 + var10 + 48, (104 - var2 - var20.sizeY) * 4 + var22 + 48); + } + } + } + + } + + @ObfuscatedName("iq") + @ObfuscatedSignature( + signature = "(IS)Ljava/lang/String;", + garbageValue = "-6160" + ) + @Export("formatItemStacks") + static final String formatItemStacks(int var0) { + String var1 = Integer.toString(var0); + + for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) { + var1 = var1.substring(0, var2) + "," + var1.substring(var2); + } + + if (var1.length() > 9) { + return " " + World.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; + } else { + return var1.length() > 6 ? " " + World.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + World.colorStartTag(16776960) + var1 + ""; + } + } +} diff --git a/runescape-client/src/main/java/class43.java b/runescape-client/src/main/java/class43.java index edcafd9a9e..b8ec302e8f 100644 --- a/runescape-client/src/main/java/class43.java +++ b/runescape-client/src/main/java/class43.java @@ -1,56 +1,82 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("aa") -public final class class43 { - @ObfuscatedName("bu") - @ObfuscatedSignature( - signature = "Lht;" - ) - static StudioGame field359; - @ObfuscatedName("bm") - @ObfuscatedSignature( - signature = "Lgf;" - ) - @Export("clientLanguage") - static Language clientLanguage; - @ObfuscatedName("ce") - @ObfuscatedGetter( - intValue = 121062689 - ) - public static int field361; - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lkt;I)I", - garbageValue = "-1826944981" - ) - @Export("decode") - static int decode(PacketBuffer var0) { - int var1 = var0.readBits(2); - int var2; - if (var1 == 0) { - var2 = 0; - } else if (var1 == 1) { - var2 = var0.readBits(5); - } else if (var1 == 2) { - var2 = var0.readBits(8); - } else { - var2 = var0.readBits(11); - } - - return var2; - } - - @ObfuscatedName("fw") - @ObfuscatedSignature( - signature = "(I)I", - garbageValue = "-980502076" - ) - @Export("getWindowedMode") - static int getWindowedMode() { - return Client.isResizable ? 2 : 1; - } -} +import java.awt.Component; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ae") +public final class class43 { + @ObfuscatedName("dq") + @ObfuscatedSignature( + signature = "Lky;" + ) + @Export("js5Socket") + static AbstractSocket js5Socket; + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;I)V", + garbageValue = "-416045608" + ) + static void method838(Component var0) { + var0.addMouseListener(MouseHandler.MouseHandler_instance); + var0.addMouseMotionListener(MouseHandler.MouseHandler_instance); + var0.addFocusListener(MouseHandler.MouseHandler_instance); + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + signature = "(II)Ljava/lang/String;", + garbageValue = "1930428495" + ) + static final String method839(int var0) { + if (var0 < 100000) { + return "" + var0 + ""; + } else { + return var0 < 10000000 ? "" + var0 / 1000 + "K" + "" : "" + var0 / 1000000 + "M" + ""; + } + } + + @ObfuscatedName("jw") + @ObfuscatedSignature( + signature = "(Lho;I)Z", + garbageValue = "-1205677722" + ) + static final boolean method840(Widget var0) { + int var1 = var0.contentType; + if (var1 == 205) { + Client.logoutTimer = 250; + return true; + } else { + int var2; + int var3; + if (var1 >= 300 && var1 <= 313) { + var2 = (var1 - 300) / 2; + var3 = var1 & 1; + Client.playerAppearance.changeAppearance(var2, var3 == 1); + } + + if (var1 >= 314 && var1 <= 323) { + var2 = (var1 - 314) / 2; + var3 = var1 & 1; + Client.playerAppearance.method3965(var2, var3 == 1); + } + + if (var1 == 324) { + Client.playerAppearance.changeSex(false); + } + + if (var1 == 325) { + Client.playerAppearance.changeSex(true); + } + + if (var1 == 326) { + PacketBufferNode var4 = InterfaceParent.getPacketBufferNode(ClientPacket.field2228, Client.packetWriter.isaacCipher); + Client.playerAppearance.write(var4.packetBuffer); + Client.packetWriter.addNode(var4); + return true; + } else { + return false; + } + } + } +} diff --git a/runescape-client/src/main/java/class47.java b/runescape-client/src/main/java/class47.java index 129793d0b5..0ed8cf8bf2 100644 --- a/runescape-client/src/main/java/class47.java +++ b/runescape-client/src/main/java/class47.java @@ -1,16 +1,25 @@ -import java.applet.Applet; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import netscape.javascript.JSObject; - -@ObfuscatedName("az") -public class class47 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Ljava/applet/Applet;Ljava/lang/String;I)Ljava/lang/Object;", - garbageValue = "606173703" - ) - public static Object method812(Applet var0, String var1) throws Throwable { - return JSObject.getWindow(var0).call(var1, (Object[])null); - } -} +import java.applet.Applet; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import netscape.javascript.JSObject; + +@ObfuscatedName("aj") +public class class47 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(Ljava/applet/Applet;Ljava/lang/String;I)V", + garbageValue = "-716931956" + ) + public static void method880(Applet var0, String var1) throws Throwable { + JSObject.getWindow(var0).eval(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/applet/Applet;Ljava/lang/String;B)Ljava/lang/Object;", + garbageValue = "-1" + ) + public static Object method881(Applet var0, String var1) throws Throwable { + return JSObject.getWindow(var0).call(var1, (Object[])null); + } +} diff --git a/runescape-client/src/main/java/class49.java b/runescape-client/src/main/java/class49.java index dc660676f5..e75c5523ca 100644 --- a/runescape-client/src/main/java/class49.java +++ b/runescape-client/src/main/java/class49.java @@ -1,295 +1,58 @@ -import java.util.Date; -import javax.imageio.ImageIO; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("am") -public class class49 { - @ObfuscatedName("dt") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive7") - static Archive archive7; - @ObfuscatedName("ec") - @ObfuscatedSignature( - signature = "Lio;" - ) - @Export("archive17") - static Archive archive17; - - static { - ImageIO.setUseCache(false); - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(Lhz;IIIZI)V", - garbageValue = "-120471549" - ) - public static void method826(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { - class197.field2376 = 1; - class197.musicTrackArchive = var0; - class197.musicTrackGroupId = var1; - class197.musicTrackFileId = var2; - Canvas.field395 = var3; - MouseRecorder.musicTrackBoolean = var4; - ModelData0.field1833 = 10000; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - signature = "(IIB)Lhy;", - garbageValue = "8" - ) - @Export("getWidgetChild") - public static Widget getWidgetChild(int var0, int var1) { - Widget var2 = Player.getWidget(var0); - if (var1 == -1) { - return var2; - } else { - return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null; - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "(Lkz;IB)V", - garbageValue = "-1" - ) - public static void method828(Buffer var0, int var1) { - if (JagexCache.JagexCache_randomDat != null) { - try { - JagexCache.JagexCache_randomDat.seek(0L); - JagexCache.JagexCache_randomDat.write(var0.array, var1, 24); - } catch (Exception var3) { - } - } - - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - signature = "(ILcu;ZI)I", - garbageValue = "-164032917" - ) - static int method829(int var0, Script var1, boolean var2) { - String var3; - int var4; - if (var0 == ScriptOpcodes.APPEND_NUM) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3 + var4; - return 1; - } else { - String var9; - if (var0 == ScriptOpcodes.APPEND) { - TextureProvider.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize + 1]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3 + var9; - return 1; - } else if (var0 == ScriptOpcodes.APPEND_SIGNNUM) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3 + Skeleton.intToString(var4, true); - return 1; - } else if (var0 == ScriptOpcodes.LOWERCASE) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.toLowerCase(); - return 1; - } else { - int var6; - int var10; - if (var0 == ScriptOpcodes.FROMDATE) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - long var11 = (11745L + (long)var10) * 86400000L; - Interpreter.Interpreter_calendar.setTime(new Date(var11)); - var6 = Interpreter.Interpreter_calendar.get(5); - int var16 = Interpreter.Interpreter_calendar.get(2); - int var8 = Interpreter.Interpreter_calendar.get(1); - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var6 + "-" + Interpreter.Interpreter_MONTHS[var16] + "-" + var8; - return 1; - } else if (var0 != ScriptOpcodes.TEXT_GENDER) { - if (var0 == ScriptOpcodes.TOSTRING) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = Integer.toString(var10); - return 1; - } else if (var0 == ScriptOpcodes.COMPARE) { - TextureProvider.Interpreter_stringStackSize -= 2; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = GameShell.method951(MenuAction.compareStrings(Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize + 1], class43.clientLanguage)); - return 1; - } else { - int var5; - byte[] var13; - Font var14; - if (var0 == ScriptOpcodes.PARAHEIGHT) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class160.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var13 = TextureProvider.archive13.takeFile(var5, 0); - var14 = new Font(var13); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var14.lineCount(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.PARAWIDTH) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class160.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - var13 = TextureProvider.archive13.takeFile(var5, 0); - var14 = new Font(var13); - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var14.lineWidth(var3, var4); - return 1; - } else if (var0 == ScriptOpcodes.TEXT_SWITCH) { - TextureProvider.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize + 1]; - if (Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize] == 1) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var9; - } - - return 1; - } else if (var0 == ScriptOpcodes.ESCAPE) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = AbstractFont.escapeBrackets(var3); - return 1; - } else if (var0 == ScriptOpcodes.APPEND_CHAR) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3 + (char)var4; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISPRINTABLE) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = MusicPatchNode2.isCharPrintable((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISALPHANUMERIC) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = HealthBar.isAlphaNumeric((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISALPHA) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Client.isCharAlphabetic((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.CHAR_ISNUMERIC) { - var10 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = Actor.isDigit((char)var10) ? 1 : 0; - return 1; - } else if (var0 == ScriptOpcodes.STRING_LENGTH) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - if (var3 != null) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.length(); - } else { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = 0; - } - - return 1; - } else if (var0 == ScriptOpcodes.SUBSTRING) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - class160.Interpreter_intStackSize -= 2; - var4 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize]; - var5 = Interpreter.Interpreter_intStack[class160.Interpreter_intStackSize + 1]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.substring(var4, var5); - return 1; - } else if (var0 == ScriptOpcodes.REMOVETAGS) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - StringBuilder var17 = new StringBuilder(var3.length()); - boolean var15 = false; - - for (var6 = 0; var6 < var3.length(); ++var6) { - char var7 = var3.charAt(var6); - if (var7 == '<') { - var15 = true; - } else if (var7 == '>') { - var15 = false; - } else if (!var15) { - var17.append(var7); - } - } - - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var17.toString(); - return 1; - } else if (var0 == ScriptOpcodes.STRING_INDEXOF_CHAR) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.indexOf(var4); - return 1; - } else if (var0 == ScriptOpcodes.STRING_INDEXOF_STRING) { - TextureProvider.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize + 1]; - var5 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = var3.indexOf(var9, var5); - return 1; - } else if (var0 == ScriptOpcodes.UPPERCASE) { - var3 = Interpreter.Interpreter_stringStack[--TextureProvider.Interpreter_stringStackSize]; - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.toUpperCase(); - return 1; - } else { - return 2; - } - } - } else { - TextureProvider.Interpreter_stringStackSize -= 2; - var3 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize]; - var9 = Interpreter.Interpreter_stringStack[TextureProvider.Interpreter_stringStackSize + 1]; - if (Varps.localPlayer.appearance != null && Varps.localPlayer.appearance.isFemale) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var9; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3; - } - - return 1; - } - } - } - } - - @ObfuscatedName("ja") - @ObfuscatedSignature( - signature = "(Lhy;S)Z", - garbageValue = "1376" - ) - static final boolean method825(Widget var0) { - int var1 = var0.contentType; - if (var1 == 205) { - Client.logoutTimer = 250; - return true; - } else { - int var2; - int var3; - if (var1 >= 300 && var1 <= 313) { - var2 = (var1 - 300) / 2; - var3 = var1 & 1; - Client.playerAppearance.changeAppearance(var2, var3 == 1); - } - - if (var1 >= 314 && var1 <= 323) { - var2 = (var1 - 314) / 2; - var3 = var1 & 1; - Client.playerAppearance.method3983(var2, var3 == 1); - } - - if (var1 == 324) { - Client.playerAppearance.changeSex(false); - } - - if (var1 == 325) { - Client.playerAppearance.changeSex(true); - } - - if (var1 == 326) { - PacketBufferNode var4 = MenuAction.getPacketBufferNode(ClientPacket.field2263, Client.packetWriter.isaacCipher); - Client.playerAppearance.write(var4.packetBuffer); - Client.packetWriter.addNode(var4); - return true; - } else { - return false; - } - } - } -} +import javax.imageio.ImageIO; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("au") +public class class49 { + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "Lgb;" + ) + @Export("midiPcmStream") + public static MidiPcmStream midiPcmStream; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -649185671 + ) + @Export("musicTrackFileId") + public static int musicTrackFileId; + + static { + ImageIO.setUseCache(false); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + signature = "(IZIZB)V", + garbageValue = "-64" + ) + @Export("sortWorldList") + static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { + if (World.World_worlds != null) { + AbstractWorldMapData.doWorldSorting(0, World.World_worlds.length - 1, var0, var1, var2, var3); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + signature = "([BI)Lkn;", + garbageValue = "-1770627772" + ) + static Font method893(byte[] var0) { + if (var0 == null) { + return null; + } else { + Font var1 = new Font(var0, class325.SpriteBuffer_xOffsets, MusicPatchPcmStream.SpriteBuffer_yOffsets, class325.SpriteBuffer_spriteWidths, RunException.SpriteBuffer_spriteHeights, class325.SpriteBuffer_spritePalette, PacketBufferNode.SpriteBuffer_pixels); + class325.SpriteBuffer_xOffsets = null; + MusicPatchPcmStream.SpriteBuffer_yOffsets = null; + class325.SpriteBuffer_spriteWidths = null; + RunException.SpriteBuffer_spriteHeights = null; + class325.SpriteBuffer_spritePalette = null; + PacketBufferNode.SpriteBuffer_pixels = null; + return var1; + } + } +} diff --git a/runescape-client/src/main/java/class51.java b/runescape-client/src/main/java/class51.java index dc5ef058ca..f072ed7198 100644 --- a/runescape-client/src/main/java/class51.java +++ b/runescape-client/src/main/java/class51.java @@ -1,225 +1,90 @@ -import java.applet.Applet; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; - -@ObfuscatedName("au") -public class class51 { - @ObfuscatedName("qv") - @ObfuscatedSignature( - signature = "Lcq;" - ) - @Export("pcmStreamMixer") - static PcmStreamMixer pcmStreamMixer; - @ObfuscatedName("c") - @Export("applet") - public static Applet applet; - @ObfuscatedName("x") - public static String field406; - @ObfuscatedName("av") - @Export("fontHelvetica13") - static java.awt.Font fontHelvetica13; - @ObfuscatedName("ad") - static String field405; - @ObfuscatedName("ax") - @ObfuscatedSignature( - signature = "Llr;" - ) - static Bounds field411; - - static { - applet = null; - field406 = ""; - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(Lhz;Lhz;IZB)Lev;", - garbageValue = "-39" - ) - public static Frames method852(AbstractArchive var0, AbstractArchive var1, int var2, boolean var3) { - boolean var4 = true; - int[] var5 = var0.getGroupFileIds(var2); - - for (int var6 = 0; var6 < var5.length; ++var6) { - byte[] var7 = var0.getFile(var2, var5[var6]); - if (var7 == null) { - var4 = false; - } else { - int var8 = (var7[0] & 255) << 8 | var7[1] & 255; - byte[] var9; - if (var3) { - var9 = var1.getFile(0, var8); - } else { - var9 = var1.getFile(var8, 0); - } - - if (var9 == null) { - var4 = false; - } - } - } - - if (!var4) { - return null; - } else { - try { - return new Frames(var0, var1, var2, var3); - } catch (Exception var11) { - return null; - } - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "-159620801" - ) - public static void method860() { - class96.reflectionChecks = new IterableNodeDeque(); - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - signature = "(Ljava/lang/CharSequence;IZI)I", - garbageValue = "1374783193" - ) - @Export("parseIntCustomRadix") - static int parseIntCustomRadix(CharSequence var0, int var1, boolean var2) { - if (var1 >= 2 && var1 <= 36) { - boolean var3 = false; - boolean var4 = false; - int var5 = 0; - int var6 = var0.length(); - - for (int var7 = 0; var7 < var6; ++var7) { - char var8 = var0.charAt(var7); - if (var7 == 0) { - if (var8 == '-') { - var3 = true; - continue; - } - - if (var8 == '+') { - continue; - } - } - - int var10; - if (var8 >= '0' && var8 <= '9') { - var10 = var8 - '0'; - } else if (var8 >= 'A' && var8 <= 'Z') { - var10 = var8 - '7'; - } else { - if (var8 < 'a' || var8 > 'z') { - throw new NumberFormatException(); - } - - var10 = var8 - 'W'; - } - - if (var10 >= var1) { - throw new NumberFormatException(); - } - - if (var3) { - var10 = -var10; - } - - int var9 = var10 + var5 * var1; - if (var9 / var1 != var5) { - throw new NumberFormatException(); - } - - var5 = var9; - var4 = true; - } - - if (!var4) { - throw new NumberFormatException(); - } else { - return var5; - } - } else { - throw new IllegalArgumentException("" + var1); - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "([BIII)Ljava/lang/String;", - garbageValue = "-2138724395" - ) - @Export("decodeStringCp1252") - public static String decodeStringCp1252(byte[] var0, int var1, int var2) { - char[] var3 = new char[var2]; - int var4 = 0; - - for (int var5 = 0; var5 < var2; ++var5) { - int var6 = var0[var5 + var1] & 255; - if (var6 != 0) { - if (var6 >= 128 && var6 < 160) { - char var7 = class287.cp1252AsciiExtension[var6 - 128]; - if (var7 == 0) { - var7 = '?'; - } - - var6 = var7; - } - - var3[var4++] = (char)var6; - } - } - - return new String(var3, 0, var4); - } - - @ObfuscatedName("a") - @ObfuscatedSignature( - signature = "(ILcu;ZB)I", - garbageValue = "10" - ) - static int method861(int var0, Script var1, boolean var2) { - Widget var3 = Player.getWidget(Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]); - if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { - Interpreter.Interpreter_intStack[++class160.Interpreter_intStackSize - 1] = WorldMapElement.method4390(class60.getWidgetClickMask(var3)); - return 1; - } else if (var0 != ScriptOpcodes.IF_GETOP) { - if (var0 == ScriptOpcodes.IF_GETOPBASE) { - if (var3.dataText == null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.dataText; - } - - return 1; - } else { - return 2; - } - } else { - int var4 = Interpreter.Interpreter_intStack[--class160.Interpreter_intStackSize]; - --var4; - if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = var3.actions[var4]; - } else { - Interpreter.Interpreter_stringStack[++TextureProvider.Interpreter_stringStackSize - 1] = ""; - } - - return 1; - } - } - - @ObfuscatedName("kh") - @ObfuscatedSignature( - signature = "(B)V", - garbageValue = "0" - ) - @Export("Clan_leaveChat") - static final void Clan_leaveChat() { - PacketBufferNode var0 = MenuAction.getPacketBufferNode(ClientPacket.field2252, Client.packetWriter.isaacCipher); - var0.packetBuffer.writeByte(0); - Client.packetWriter.addNode(var0); - } -} +import java.applet.Applet; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("at") +public class class51 { + @ObfuscatedName("z") + @Export("applet") + public static Applet applet; + @ObfuscatedName("n") + public static String field406; + @ObfuscatedName("m") + @ObfuscatedSignature( + signature = "Llf;" + ) + @Export("rightTitleSprite") + static Sprite rightTitleSprite; + @ObfuscatedName("i") + @ObfuscatedSignature( + signature = "Leh;" + ) + @Export("World_request") + static UrlRequest World_request; + @ObfuscatedName("kc") + @ObfuscatedGetter( + intValue = -1418069311 + ) + @Export("menuY") + static int menuY; + + static { + applet = null; + field406 = ""; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + signature = "(ILcu;ZI)I", + garbageValue = "-150727859" + ) + static int method921(int var0, Script var1, boolean var2) { + Widget var3 = Canvas.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHIDE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETLAYER) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("jo") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-1129572121" + ) + static final void method922() { + PacketBufferNode var0 = InterfaceParent.getPacketBufferNode(ClientPacket.field2241, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var0); + + for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { + if (var1.type == 0 || var1.type == 3) { + FontName.closeInterface(var1, true); + } + } + + if (Client.meslayerContinueWidget != null) { + WorldMapSectionType.invalidateWidget(Client.meslayerContinueWidget); + Client.meslayerContinueWidget = null; + } + + } +} diff --git a/runescape-client/src/main/java/class60.java b/runescape-client/src/main/java/class60.java index 7710c7926a..0874189213 100644 --- a/runescape-client/src/main/java/class60.java +++ b/runescape-client/src/main/java/class60.java @@ -1,72 +1,85 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("bm") -public class class60 { - @ObfuscatedName("pg") - @ObfuscatedSignature( - signature = "Lli;" - ) - @Export("sceneMinimapSprite") - static Sprite sceneMinimapSprite; - - @ObfuscatedName("hv") - @ObfuscatedSignature( - signature = "(ILjava/lang/String;I)V", - garbageValue = "1939345864" - ) - static void method1122(int var0, String var1) { - int var2 = Players.Players_count; - int[] var3 = Players.Players_indices; - boolean var4 = false; - Username var5 = new Username(var1, class4.loginType); - - for (int var6 = 0; var6 < var2; ++var6) { - Player var7 = Client.players[var3[var6]]; - if (var7 != null && var7 != Varps.localPlayer && var7.username != null && var7.username.equals(var5)) { - PacketBufferNode var8; - if (var0 == 1) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2237, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5500(var3[var6]); - var8.packetBuffer.method5566(0); - Client.packetWriter.addNode(var8); - } else if (var0 == 4) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2248, Client.packetWriter.isaacCipher); - var8.packetBuffer.writeByte(0); - var8.packetBuffer.method5500(var3[var6]); - Client.packetWriter.addNode(var8); - } else if (var0 == 6) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2250, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5502(var3[var6]); - var8.packetBuffer.method5491(0); - Client.packetWriter.addNode(var8); - } else if (var0 == 7) { - var8 = MenuAction.getPacketBufferNode(ClientPacket.field2268, Client.packetWriter.isaacCipher); - var8.packetBuffer.method5491(0); - var8.packetBuffer.method5500(var3[var6]); - Client.packetWriter.addNode(var8); - } - - var4 = true; - break; - } - } - - if (!var4) { - WorldMapCacheName.addGameMessage(4, "", "Unable to find " + var1); - } - - } - - @ObfuscatedName("kn") - @ObfuscatedSignature( - signature = "(Lhy;S)I", - garbageValue = "-12983" - ) - @Export("getWidgetClickMask") - static int getWidgetClickMask(Widget var0) { - IntegerNode var1 = (IntegerNode)Client.widgetClickMasks.get(((long)var0.id << 32) + (long)var0.childIndex); - return var1 != null ? var1.integer : var0.clickMask; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("bc") +public class class60 { + @ObfuscatedName("gg") + @Export("regionLandArchiveIds") + static int[] regionLandArchiveIds; + + @ObfuscatedName("fv") + @ObfuscatedSignature( + signature = "(I)V", + garbageValue = "-410662040" + ) + static final void method1191() { + if (Client.field643 != WorldMapRectangle.plane) { + Client.field643 = WorldMapRectangle.plane; + int var0 = WorldMapRectangle.plane; + int[] var1 = ObjectSound.sceneMinimapSprite.pixels; + int var2 = var1.length; + + int var3; + for (var3 = 0; var3 < var2; ++var3) { + var1[var3] = 0; + } + + int var4; + int var5; + for (var3 = 1; var3 < 103; ++var3) { + var4 = (103 - var3) * 2048 + 24628; + + for (var5 = 1; var5 < 103; ++var5) { + if ((Tiles.Tiles_renderFlags[var0][var5][var3] & 24) == 0) { + PacketWriter.scene.drawTileMinimap(var1, var4, 512, var0, var5, var3); + } + + if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var5][var3] & 8) != 0) { + PacketWriter.scene.drawTileMinimap(var1, var4, 512, var0 + 1, var5, var3); + } + + var4 += 4; + } + } + + var3 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); + var4 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; + ObjectSound.sceneMinimapSprite.setRaster(); + + int var6; + for (var5 = 1; var5 < 103; ++var5) { + for (var6 = 1; var6 < 103; ++var6) { + if ((Tiles.Tiles_renderFlags[var0][var6][var5] & 24) == 0) { + class42.drawObject(var0, var6, var5, var3, var4); + } + + if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var6][var5] & 8) != 0) { + class42.drawObject(var0 + 1, var6, var5, var3, var4); + } + } + } + + Client.mapIconCount = 0; + + for (var5 = 0; var5 < 104; ++var5) { + for (var6 = 0; var6 < 104; ++var6) { + long var7 = PacketWriter.scene.getFloorDecorationTag(WorldMapRectangle.plane, var5, var6); + if (0L != var7) { + int var9 = class81.Entity_unpackID(var7); + int var10 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var9).mapIconId; + if (var10 >= 0) { + Client.mapIcons[Client.mapIconCount] = Decimator.WorldMapElement_get(var10).getSpriteBool(false); + Client.mapIconXs[Client.mapIconCount] = var5; + Client.mapIconYs[Client.mapIconCount] = var6; + ++Client.mapIconCount; + } + } + } + } + + class42.rasterProvider.apply(); + } + + } +} diff --git a/runescape-client/src/main/java/class65.java b/runescape-client/src/main/java/class65.java index b3c3e4d49b..b2c927fe84 100644 --- a/runescape-client/src/main/java/class65.java +++ b/runescape-client/src/main/java/class65.java @@ -1,191 +1,54 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("bd") -public class class65 extends RouteStrategy { - @ObfuscatedName("rl") - @ObfuscatedGetter( - intValue = 502905585 - ) - static int field581; - @ObfuscatedName("u") - @ObfuscatedSignature( - signature = "Lhz;" - ) - @Export("ItemDefinition_archive") - static AbstractArchive ItemDefinition_archive; - @ObfuscatedName("ht") - static int field580; - - class65() { - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(IIILfj;I)Z", - garbageValue = "2030512647" - ) - @Export("hasArrived") - protected boolean hasArrived(int var1, int var2, int var3, CollisionMap var4) { - return var2 == super.approxDestinationX && var3 == super.approxDestinationY; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(Llj;III)I", - garbageValue = "1086795116" - ) - static int method1177(IterableNodeHashTable var0, int var1, int var2) { - if (var0 == null) { - return var2; - } else { - IntegerNode var3 = (IntegerNode)var0.get((long)var1); - return var3 == null ? var2 : var3.integer; - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - signature = "(IIIII)I", - garbageValue = "1745774438" - ) - static final int method1171(int var0, int var1, int var2, int var3) { - int var4 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var2 * 1024 / var3] >> 1; - return ((65536 - var4) * var0 >> 16) + (var4 * var1 >> 16); - } - - @ObfuscatedName("je") - @ObfuscatedSignature( - signature = "(Lhy;IIIB)V", - garbageValue = "85" - ) - @Export("drawMinimap") - static final void drawMinimap(Widget var0, int var1, int var2, int var3) { - ModelData0.playPcmPlayers(); - SpriteMask var4 = var0.getSpriteMask(false); - if (var4 != null) { - Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); - if (Client.minimapState != 2 && Client.minimapState != 5) { - int var5 = Client.camAngleY & 2047; - int var6 = Varps.localPlayer.x * -78439701 / 32 + 48; - int var7 = 464 - Varps.localPlayer.y / 32; - class60.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); - - int var8; - int var9; - int var10; - for (var8 = 0; var8 < Client.mapIconCount; ++var8) { - var9 = Client.mapIconXs[var8] * 4 + 2 - Varps.localPlayer.x * -78439701 / 32; - var10 = Client.mapIconYs[var8] * 4 + 2 - Varps.localPlayer.y / 32; - ChatChannel.drawSpriteOnMinimap(var1, var2, var9, var10, Client.mapIcons[var8], var4); - } - - int var11; - int var12; - for (var8 = 0; var8 < 104; ++var8) { - for (var9 = 0; var9 < 104; ++var9) { - NodeDeque var15 = Client.groundItems[MouseRecorder.plane][var8][var9]; - if (var15 != null) { - var11 = var8 * 4 + 2 - Varps.localPlayer.x * -78439701 / 32; - var12 = var9 * 4 + 2 - Varps.localPlayer.y / 32; - ChatChannel.drawSpriteOnMinimap(var1, var2, var11, var12, class42.mapDotSprites[0], var4); - } - } - } - - for (var8 = 0; var8 < Client.npcCount; ++var8) { - NPC var16 = Client.npcs[Client.npcIndices[var8]]; - if (var16 != null && var16.isVisible()) { - NPCDefinition var18 = var16.definition; - if (var18 != null && var18.transforms != null) { - var18 = var18.transform(); - } - - if (var18 != null && var18.drawMapDot && var18.isInteractable) { - var11 = var16.x * -78439701 / 32 - Varps.localPlayer.x * -78439701 / 32; - var12 = var16.y / 32 - Varps.localPlayer.y / 32; - ChatChannel.drawSpriteOnMinimap(var1, var2, var11, var12, class42.mapDotSprites[1], var4); - } - } - } - - var8 = Players.Players_count; - int[] var19 = Players.Players_indices; - - for (var10 = 0; var10 < var8; ++var10) { - Player var17 = Client.players[var19[var10]]; - if (var17 != null && var17.isVisible() && !var17.isHidden && var17 != Varps.localPlayer) { - var12 = var17.x * -78439701 / 32 - Varps.localPlayer.x * -78439701 / 32; - int var13 = var17.y / 32 - Varps.localPlayer.y / 32; - boolean var14 = false; - if (Varps.localPlayer.team != 0 && var17.team != 0 && var17.team == Varps.localPlayer.team) { - var14 = true; - } - - if (var17.isFriend()) { - ChatChannel.drawSpriteOnMinimap(var1, var2, var12, var13, class42.mapDotSprites[3], var4); - } else if (var14) { - ChatChannel.drawSpriteOnMinimap(var1, var2, var12, var13, class42.mapDotSprites[4], var4); - } else if (var17.isClanMember()) { - ChatChannel.drawSpriteOnMinimap(var1, var2, var12, var13, class42.mapDotSprites[5], var4); - } else { - ChatChannel.drawSpriteOnMinimap(var1, var2, var12, var13, class42.mapDotSprites[2], var4); - } - } - } - - if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) { - if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) { - NPC var20 = Client.npcs[Client.hintArrowNpcIndex]; - if (var20 != null) { - var11 = var20.x * -78439701 / 32 - Varps.localPlayer.x * -78439701 / 32; - var12 = var20.y / 32 - Varps.localPlayer.y / 32; - AttackOption.worldToMinimap(var1, var2, var11, var12, WorldMapLabelSize.mapMarkerSprites[1], var4); - } - } - - if (Client.hintArrowType == 2) { - var10 = Client.hintArrowX * 4 - class4.baseX * 256 + 2 - Varps.localPlayer.x * -78439701 / 32; - var11 = Client.hintArrowY * 4 - ScriptEvent.baseY * 2082609860 + 2 - Varps.localPlayer.y / 32; - AttackOption.worldToMinimap(var1, var2, var10, var11, WorldMapLabelSize.mapMarkerSprites[1], var4); - } - - if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { - Player var21 = Client.players[Client.hintArrowPlayerIndex]; - if (var21 != null) { - var11 = var21.x * -78439701 / 32 - Varps.localPlayer.x * -78439701 / 32; - var12 = var21.y / 32 - Varps.localPlayer.y / 32; - AttackOption.worldToMinimap(var1, var2, var11, var12, WorldMapLabelSize.mapMarkerSprites[1], var4); - } - } - } - - if (Client.destinationX != 0) { - var10 = Client.destinationX * 4 + 2 - Varps.localPlayer.x * -78439701 / 32; - var11 = Client.destinationY * 4 + 2 - Varps.localPlayer.y / 32; - ChatChannel.drawSpriteOnMinimap(var1, var2, var10, var11, WorldMapLabelSize.mapMarkerSprites[0], var4); - } - - if (!Varps.localPlayer.isHidden) { - Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215); - } - } else { - Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); - } - - Client.field828[var3] = true; - } - } - - @ObfuscatedName("kg") - @ObfuscatedSignature( - signature = "(I)V", - garbageValue = "96843493" - ) - static final void method1176() { - Client.field816 = Client.cycleCntr; - InterfaceParent.ClanChat_inClanChat = true; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("bu") +public class class65 extends RouteStrategy { + class65() { + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIILfa;B)Z", + garbageValue = "27" + ) + @Export("hasArrived") + protected boolean hasArrived(int var1, int var2, int var3, CollisionMap var4) { + return var2 == super.approxDestinationX && var3 == super.approxDestinationY; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(IIIB)I", + garbageValue = "42" + ) + static int method1245(int var0, int var1, int var2) { + if (var2 > 179) { + var1 /= 2; + } + + if (var2 > 192) { + var1 /= 2; + } + + if (var2 > 217) { + var1 /= 2; + } + + if (var2 > 243) { + var1 /= 2; + } + + int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; + return var3; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lkl;I)Ljava/lang/String;", + garbageValue = "-714921437" + ) + public static String method1250(Buffer var0) { + return TilePaint.method3038(var0, 32767); + } +} diff --git a/runescape-client/src/main/java/class80.java b/runescape-client/src/main/java/class80.java index f7c8a424ae..a4d6a5f451 100644 --- a/runescape-client/src/main/java/class80.java +++ b/runescape-client/src/main/java/class80.java @@ -1,83 +1,160 @@ -import java.math.BigInteger; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ch") -public class class80 { - @ObfuscatedName("or") - @ObfuscatedSignature( - signature = "Lfa;" - ) - @Export("mouseWheel") - static MouseWheel mouseWheel; - @ObfuscatedName("l") - static final BigInteger field1105; - @ObfuscatedName("u") - static final BigInteger field1106; - - static { - field1105 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); - field1106 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - signature = "(CB)Z", - garbageValue = "-11" - ) - public static boolean method2029(char var0) { - if ((var0 <= 0 || var0 >= 128) && (var0 < 160 || var0 > 255)) { - if (var0 != 0) { - char[] var1 = class287.cp1252AsciiExtension; - - for (int var2 = 0; var2 < var1.length; ++var2) { - char var3 = var1[var2]; - if (var0 == var3) { - return true; - } - } - } - - return false; - } else { - return true; - } - } - - @ObfuscatedName("if") - @ObfuscatedSignature( - signature = "([Lhy;IIIZI)V", - garbageValue = "982619045" - ) - @Export("resizeInterface") - static void resizeInterface(Widget[] var0, int var1, int var2, int var3, boolean var4) { - for (int var5 = 0; var5 < var0.length; ++var5) { - Widget var6 = var0[var5]; - if (var6 != null && var6.parentId == var1) { - class192.alignWidgetSize(var6, var2, var3, var4); - WorldMapEvent.alignWidgetPosition(var6, var2, var3); - if (var6.scrollX > var6.scrollWidth - var6.width) { - var6.scrollX = var6.scrollWidth - var6.width; - } - - if (var6.scrollX < 0) { - var6.scrollX = 0; - } - - if (var6.scrollY > var6.scrollHeight - var6.height) { - var6.scrollY = var6.scrollHeight - var6.height; - } - - if (var6.scrollY < 0) { - var6.scrollY = 0; - } - - if (var6.type == 0) { - class197.revalidateWidgetScroll(var0, var6, var4); - } - } - } - - } -} +import java.math.BigInteger; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("cv") +public class class80 { + @ObfuscatedName("rs") + @ObfuscatedGetter( + intValue = 436556705 + ) + static int field1126; + @ObfuscatedName("r") + static final BigInteger field1119; + @ObfuscatedName("p") + static final BigInteger field1120; + + static { + field1119 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); + field1120 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "([BI)V", + garbageValue = "555042891" + ) + @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 (class81.ByteArrayPool_arrays != null) { + for (int var1 = 0; var1 < ByteArrayPool.ByteArrayPool_alternativeSizes.length; ++var1) { + if (var0.length == ByteArrayPool.ByteArrayPool_alternativeSizes[var1] && ByteArrayPool.ByteArrayPool_altSizeArrayCounts[var1] < class81.ByteArrayPool_arrays[var1].length) { + class81.ByteArrayPool_arrays[var1][ByteArrayPool.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; + return; + } + } + } + + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(B)V", + garbageValue = "84" + ) + public static void method2053() { + if (NetCache.NetCache_socket != null) { + NetCache.NetCache_socket.close(); + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + signature = "([BIIIIIIILex;[Lfa;I)V", + garbageValue = "1963296713" + ) + static final void method2047(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, Scene var8, CollisionMap[] var9) { + Buffer var10 = new Buffer(var0); + int var11 = -1; + + while (true) { + int var12 = var10.method5442(); + if (var12 == 0) { + return; + } + + var11 += var12; + int var13 = 0; + + while (true) { + int var14 = var10.readUShortSmart(); + if (var14 == 0) { + break; + } + + var13 += var14 - 1; + int var15 = var13 & 63; + int var16 = var13 >> 6 & 63; + int var17 = var13 >> 12; + int var18 = var10.readUnsignedByte(); + int var19 = var18 >> 2; + int var20 = var18 & 3; + if (var17 == var4 && var16 >= var5 && var16 < var5 + 8 && var15 >= var6 && var15 < var6 + 8) { + ObjectDefinition var21 = GrandExchangeOfferOwnWorldComparator.getObjectDefinition(var11); + int var24 = var16 & 7; + int var25 = var15 & 7; + int var27 = var21.sizeX; + int var28 = var21.sizeY; + int var29; + if ((var20 & 1) == 1) { + var29 = var27; + var27 = var28; + var28 = var29; + } + + int var26 = var7 & 3; + int var23; + if (var26 == 0) { + var23 = var24; + } else if (var26 == 1) { + var23 = var25; + } else if (var26 == 2) { + var23 = 7 - var24 - (var27 - 1); + } else { + var23 = 7 - var25 - (var28 - 1); + } + + var29 = var2 + var23; + int var32 = var16 & 7; + int var33 = var15 & 7; + int var35 = var21.sizeX; + int var36 = var21.sizeY; + int var37; + if ((var20 & 1) == 1) { + var37 = var35; + var35 = var36; + var36 = var37; + } + + int var34 = var7 & 3; + int var31; + if (var34 == 0) { + var31 = var33; + } else if (var34 == 1) { + var31 = 7 - var32 - (var35 - 1); + } else if (var34 == 2) { + var31 = 7 - var33 - (var36 - 1); + } else { + var31 = var32; + } + + var37 = var3 + var31; + if (var29 > 0 && var37 > 0 && var29 < 103 && var37 < 103) { + int var38 = var1; + if ((Tiles.Tiles_renderFlags[1][var29][var37] & 2) == 2) { + var38 = var1 - 1; + } + + CollisionMap var39 = null; + if (var38 >= 0) { + var39 = var9[var38]; + } + + GrandExchangeOfferAgeComparator.method165(var1, var29, var37, var11, var20 + var7 & 3, var19, var8, var39); + } + } + } + } + } +} diff --git a/runescape-client/src/main/java/class81.java b/runescape-client/src/main/java/class81.java index c4ec2cf0b9..82182d7e76 100644 --- a/runescape-client/src/main/java/class81.java +++ b/runescape-client/src/main/java/class81.java @@ -1,25 +1,224 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cc") -public class class81 { - @ObfuscatedName("qg") - @ObfuscatedSignature( - signature = "Lde;" - ) - @Export("decimator") - static Decimator decimator; - @ObfuscatedName("bg") - @Export("otp") - static String otp; - - @ObfuscatedName("ic") - @ObfuscatedSignature( - signature = "(II)Ljava/lang/String;", - garbageValue = "910653188" - ) - static final String method2032(int var0) { - return var0 < 999999999 ? Integer.toString(var0) : "*"; - } -} +import java.awt.Image; +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("co") +public class class81 { + @ObfuscatedName("sp") + @ObfuscatedGetter( + longValue = -8179620885535776663L + ) + static long field1135; + @ObfuscatedName("y") + @Export("ByteArrayPool_arrays") + public static byte[][][] ByteArrayPool_arrays; + @ObfuscatedName("as") + static Image field1127; + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(ILcu;ZB)I", + garbageValue = "116" + ) + static int method2058(int var0, Script var1, boolean var2) { + int var4 = -1; + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var3 = Canvas.getWidget(var4); + } else { + var3 = var2 ? GrandExchangeOfferAgeComparator.field76 : KitDefinition.field3252; + } + + if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { + Interpreter.Interpreter_intStackSize -= 2; + var3.scrollX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (var3.scrollX > var3.scrollWidth - var3.width) { + var3.scrollX = var3.scrollWidth - var3.width; + } + + if (var3.scrollX < 0) { + var3.scrollX = 0; + } + + var3.scrollY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (var3.scrollY > var3.scrollHeight - var3.height) { + var3.scrollY = var3.scrollHeight - var3.height; + } + + if (var3.scrollY < 0) { + var3.scrollY = 0; + } + + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { + var3.color = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILL) { + var3.fill = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTRANS) { + var3.transparencyTop = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { + var3.lineWid = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { + var3.spriteId2 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { + var3.spriteAngle = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTILING) { + var3.spriteTiling = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODEL) { + var3.modelType = 1; + var3.modelId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { + Interpreter.Interpreter_intStackSize -= 6; + var3.modelOffsetX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var3.modelOffsetY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var3.modelAngleX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var3.modelAngleY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + var3.modelAngleZ = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 4]; + var3.modelZoom = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 5]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else { + int var8; + if (var0 == ScriptOpcodes.CC_SETMODELANIM) { + var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var8 != var3.sequenceId) { + var3.sequenceId = var8; + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + WorldMapSectionType.invalidateWidget(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { + var3.modelOrthog = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXT) { + String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + if (!var7.equals(var3.text)) { + var3.text = var7; + WorldMapSectionType.invalidateWidget(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { + var3.fontId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { + Interpreter.Interpreter_intStackSize -= 3; + var3.textXAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var3.textYAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var3.textLineHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { + var3.textShadowed = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { + var3.outline = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { + var3.spriteShadow = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { + var3.spriteFlipV = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { + var3.spriteFlipH = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { + Interpreter.Interpreter_intStackSize -= 2; + var3.scrollWidth = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var3.scrollHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + WorldMapSectionType.invalidateWidget(var3); + if (var4 != -1 && var3.type == 0) { + GameShell.revalidateWidgetScroll(UserComparator5.Widget_interfaceComponents[var4 >> 16], var3, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { + Clock.resumePauseWidget(var3.id, var3.childIndex); + Client.meslayerContinueWidget = var3; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == 1122) { + var3.spriteId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { + var3.color2 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == 1124) { + var3.transparencyBot = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSectionType.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILLMODE) { + var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + FillMode var6 = (FillMode)NetSocket.findEnumerated(class96.FillMode_values(), var8); + if (var6 != null) { + var3.fillMode = var6; + WorldMapSectionType.invalidateWidget(var3); + } + + return 1; + } else { + boolean var5; + if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { + var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + var3.field2579 = var5; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { + var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + var3.modelTransparency = var5; + return 1; + } else { + return 2; + } + } + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + signature = "(II)I", + garbageValue = "550144839" + ) + public static int method2059(int var0) { + return Client.method1707(ViewportMouse.ViewportMouse_entityTags[var0]); + } + + @ObfuscatedName("m") + @Export("Entity_unpackID") + public static int Entity_unpackID(long var0) { + return (int)(var0 >>> 17 & 4294967295L); + } +} diff --git a/runescape-client/src/main/java/class83.java b/runescape-client/src/main/java/class83.java index 0cdad153e4..203c2044e4 100644 --- a/runescape-client/src/main/java/class83.java +++ b/runescape-client/src/main/java/class83.java @@ -1,77 +1,49 @@ -import java.math.BigInteger; -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("cr") -public class class83 { - @ObfuscatedName("c") - static final BigInteger field1142; - @ObfuscatedName("x") - static final BigInteger field1139; - @ObfuscatedName("kc") - @ObfuscatedGetter( - intValue = 2081723437 - ) - @Export("menuY") - static int menuY; - @ObfuscatedName("lk") - @ObfuscatedGetter( - intValue = 670190247 - ) - @Export("selectedSpellWidget") - static int selectedSpellWidget; - - static { - field1142 = new BigInteger("10001", 16); - field1139 = new BigInteger("f8a2c48a898ebf7a2a5069193f0c6798757879d298af09a6fa94e569d45b09f67aeef8e6bb8a61650d597c743104fdef7d07b24af92df6be995877e9a7dd6a630d3e62c14e70427b959ff70735f96135d73434e73aabbd6aa8cf0b97dae7e2b6b70e646ff550b0ad8a4d8d18675714e5228b026d85e8f2f24607ba69d7404571", 16); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(II)Liw;", - garbageValue = "-2100671163" - ) - @Export("SequenceDefinition_get") - public static SequenceDefinition SequenceDefinition_get(int var0) { - SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = SequenceDefinition.SequenceDefinition_archive.takeFile(12, var0); - var1 = new SequenceDefinition(); - if (var2 != null) { - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); - SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0); - return var1; - } - } - - @ObfuscatedName("jh") - @ObfuscatedSignature( - signature = "(Lhy;III)V", - garbageValue = "858308141" - ) - @Export("clickWidget") - static final void clickWidget(Widget var0, int var1, int var2) { - if (Client.clickedWidget == null && !Client.isMenuOpen) { - if (var0 != null && WorldMapLabel.method382(var0) != null) { - Client.clickedWidget = var0; - Client.clickedWidgetParent = WorldMapLabel.method382(var0); - Client.widgetClickX = var1; - Client.widgetClickY = var2; - ArchiveLoader.widgetDragDuration = 0; - Client.isDraggingWidget = false; - int var3 = WorldMapCacheName.getNewestMenuIdx(); - if (var3 != -1) { - UserComparator3.method3399(var3); - } - - } - } - } -} +import java.awt.Component; +import java.math.BigInteger; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("cg") +public class class83 { + @ObfuscatedName("z") + static final BigInteger field1148; + @ObfuscatedName("n") + static final BigInteger field1149; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 1818915939 + ) + static int field1145; + + static { + field1148 = new BigInteger("10001", 16); + field1149 = new BigInteger("a8cda33f9c45f0b9d1675c38ec69da6be4143320190060c229bb35ed91677a4447e09e77031e824aed13bfab51ba180bbda7e279a128f3eb016e9b0dd752a948431798626fc36ac10e036d945f2752d0d874c65a86d3e001a17bf9d63d8bc263b07be4ebc613d01781023a07de698e75248b582e682f1751395f61b9ec1bcbb3", 16); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Ljava/awt/Component;I)V", + garbageValue = "2076208439" + ) + static void method2065(Component var0) { + var0.removeKeyListener(KeyHandler.KeyHandler_instance); + var0.removeFocusListener(KeyHandler.KeyHandler_instance); + KeyHandler.field373 = -1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + signature = "(Lhp;IIIZI)V", + garbageValue = "-476776598" + ) + public static void method2064(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { + class197.field2386 = 1; + class197.musicTrackArchive = var0; + class188.musicTrackGroupId = var1; + class49.musicTrackFileId = var2; + TileItem.field1223 = var3; + WorldMapSectionType.musicTrackBoolean = var4; + MusicPatchNode2.field2382 = 10000; + } +} diff --git a/runescape-client/src/main/java/class96.java b/runescape-client/src/main/java/class96.java index 1fd6b364b8..c929e90064 100644 --- a/runescape-client/src/main/java/class96.java +++ b/runescape-client/src/main/java/class96.java @@ -1,53 +1,57 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ci") -public class class96 { - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "Ljd;" - ) - @Export("reflectionChecks") - public static IterableNodeDeque reflectionChecks; - - static { - reflectionChecks = new IterableNodeDeque(); - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - signature = "(I[BLkx;I)V", - garbageValue = "188105448" - ) - static void method2259(int var0, byte[] var1, ArchiveDisk var2) { - ArchiveDiskAction var3 = new ArchiveDiskAction(); - var3.type = 0; - var3.key = (long)var0; - var3.data = var1; - var3.archiveDisk = var2; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); - } - - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { - if (ArchiveDiskActionHandler.field3126 == 0) { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setDaemon(true); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.start(); - ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setPriority(5); - } - - ArchiveDiskActionHandler.field3126 = 600; - } - } - - @ObfuscatedName("ki") - @ObfuscatedSignature( - signature = "(II)V", - garbageValue = "1927050446" - ) - static void method2258(int var0) { - Client.oculusOrbState = var0; - } -} +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("cw") +public class class96 { + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "Ljs;" + ) + @Export("reflectionChecks") + public static IterableNodeDeque reflectionChecks; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -2145130731 + ) + static int field1304; + + static { + reflectionChecks = new IterableNodeDeque(); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)[Lgv;", + garbageValue = "-50" + ) + @Export("ServerPacket_values") + public static ServerPacket[] ServerPacket_values() { + return new ServerPacket[]{ServerPacket.field2126, ServerPacket.field2134, ServerPacket.field2105, ServerPacket.field2098, ServerPacket.field2113, ServerPacket.field2099, ServerPacket.field2101, ServerPacket.field2177, ServerPacket.field2103, ServerPacket.field2140, ServerPacket.field2132, ServerPacket.field2167, ServerPacket.field2107, ServerPacket.field2102, ServerPacket.field2109, ServerPacket.field2110, ServerPacket.field2111, ServerPacket.field2112, ServerPacket.field2145, ServerPacket.field2114, ServerPacket.field2115, ServerPacket.field2096, ServerPacket.field2139, ServerPacket.field2118, ServerPacket.field2119, ServerPacket.field2120, ServerPacket.field2095, ServerPacket.field2122, ServerPacket.field2123, ServerPacket.field2124, ServerPacket.field2104, ServerPacket.field2133, ServerPacket.field2127, ServerPacket.field2128, ServerPacket.field2117, ServerPacket.field2130, ServerPacket.field2159, ServerPacket.field2141, ServerPacket.field2121, ServerPacket.field2106, ServerPacket.field2135, ServerPacket.field2136, ServerPacket.field2137, ServerPacket.field2138, ServerPacket.field2100, ServerPacket.field2129, ServerPacket.field2174, ServerPacket.field2182, ServerPacket.field2168, ServerPacket.field2144, ServerPacket.field2142, ServerPacket.field2146, ServerPacket.field2147, ServerPacket.field2148, ServerPacket.field2149, ServerPacket.field2150, ServerPacket.field2151, ServerPacket.field2152, ServerPacket.field2153, ServerPacket.field2154, ServerPacket.field2155, ServerPacket.field2156, ServerPacket.field2097, ServerPacket.field2158, ServerPacket.field2157, ServerPacket.field2160, ServerPacket.field2161, ServerPacket.field2162, ServerPacket.field2163, ServerPacket.field2164, ServerPacket.field2165, ServerPacket.field2116, ServerPacket.field2143, ServerPacket.field2166, ServerPacket.field2169, ServerPacket.field2170, ServerPacket.field2171, ServerPacket.field2172, ServerPacket.field2173, ServerPacket.field2183, ServerPacket.field2175, ServerPacket.field2176, ServerPacket.field2179, ServerPacket.field2178, ServerPacket.field2125, ServerPacket.field2180}; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + signature = "(B)[Llu;", + garbageValue = "-67" + ) + @Export("FillMode_values") + public static FillMode[] FillMode_values() { + return new FillMode[]{FillMode.field3856, FillMode.SOLID, FillMode.field3857}; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + signature = "(Llb;ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "539746719" + ) + static String method2259(IterableNodeHashTable var0, int var1, String var2) { + if (var0 == null) { + return var2; + } else { + ObjectNode var3 = (ObjectNode)var0.get((long)var1); + return var3 == null ? var2 : (String)var3.obj; + } + } +} diff --git a/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java b/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java index c4236130f5..b715069a54 100644 --- a/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java +++ b/runescape-client/src/main/java/net/runelite/rs/ScriptOpcodes.java @@ -428,6 +428,7 @@ public class ScriptOpcodes { public static final int DOCHEAT = 5020; public static final int CHAT_SETMESSAGEFILTER = 5021; public static final int CHAT_GETMESSAGEFILTER = 5022; + public static final int DEBUGMES = 5023; public static final int GETWINDOWMODE = 5306; public static final int SETWINDOWMODE = 5307; public static final int GETDEFAULTWINDOWMODE = 5308;